密碼學使我頭好暈啊!??
來向大家介紹一下密碼學。
一.密碼學的由來
程序員不學密碼簡直白學了代碼。那麼密碼是啥呢?爲啥要學習密碼???
1.當A向B發郵件時,期間可能會有人竊聽到消息(C)。
則我們要將其加密以至於即使竊聽也無大礙。
正當的接受者把密文還原成密文叫“解密”
其他的(即不正當的人)把密文還原成密文叫“密碼破譯“(cryptanalysis),也稱爲”密碼分析“
加密的步驟,稱爲”加密算法“
一.凱撒密碼
凱撒密碼(Caesar cipher )是由凱撒使用過的密碼。通過平移實現
a—D
b–E
c–F
d–G
e–H
f–I
以此類推
就是把字母往後推3個嘛!
然後我用Vbscript編了凱撒的加密文件:
plaintext = InputBox (“請輸入明文。”)
cipher = “”
For i = 1 To Len (plaintext)
letter = Mid (plaintext, i, 1)
cipher = cipher & Chr (Asc (letter) + 3)
Next
MsgBox cipher
運行效果如下:
各位可以打開記事本,輸入這串代碼,然後把後綴名改成.vbs運行即可。
@思考:
1.你能嘗試用你自己的語言編凱撒密碼嗎?
2.嘗試解密一串密文,並編程。
3.以我的Vbscript爲例,編一段解密程序。
4.如果不知道密鑰該如何破譯??
5.如果將字母表中的26個字母,分別與26個字母一一對應,那又如何破譯??它的answer與第4問一樣嗎???
@answer3
cipher = InputBox (“請輸入明文。”)
plaintext = “”
For i = 1 To Len (cipher)
letter = Mid (cipher, i, 1)
plaintext = plaintext & Chr(Asc (letter) - 3)
Next
MsgBox plaintext
今天講的內容較少,明天我們繼續講。