天天看點

《Python密碼學程式設計》——1.6 如何使用加密輪盤解密

本節書摘來自異步社群《python密碼學程式設計》一書中的第1章,第1.6節,作者 [美] al sweigart(斯維加特),李永倫 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

要解密一條密文,從内圈向外圈走。假設你從一個朋友那裡收到這條密文:“iwt ctl ephhldgs xh hldgsuxhw.”。你和其他人都不能解密它,除非你知道密鑰(或者除非你是個很聰明的黑客)。但你的朋友決定使用15這個密鑰加密自己發給你的每條消息。

把外圈上的字母a(下面有個點的那個)對準内圈上帶有數字15的字母(即字母p)。密文裡的第一個字母是i,是以,我們在内圈上找i,看看旁邊外圈上的字母,是t。密文裡的w會解密成字母h。一個接一個地,我們把密文裡的每個字母解密成明文:“the new password is swordfish.”。

《Python密碼學程式設計》——1.6 如何使用加密輪盤解密

如果你使用不正确的密鑰,比如16,而不是正确的密鑰15,解密的消息是:“sgd mdv ozrrvnqc hr rvnqcehrg.”。這個明文根本看不懂。除非使用正确的密鑰,否則被解密的消息永遠不會是可了解的英語。