天天看点

《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.”。这个明文根本看不懂。除非使用正确的密钥,否则被解密的消息永远不会是可理解的英语。