本节书摘来自异步社区《Python密码学编程》一书中的第1章,第1.3节,作者 [美] Al Sweigart(斯维加特),李永伦 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.3 制作纸质加密轮盘
在学习通过计算机编程进行加密和解密之前,我们先来了解一下如何使用简单的纸质工具手工完成这项任务。把可理解的英语文字(明文)变成隐藏秘密代码的乱码文字(密文)是很容易的。加密法(cipher)是一组转换明文和密文的规则。这些规则通常使用一个密钥。我们会在本书里学到多种不同的加密法。
我们来学一下凯撒加密法。这种加密法曾在两千年前被凯撒大帝用过。好消息是,它学起来很简单很容易。坏消息是,正因为它简单,密码破译者也很容易破译它。但我们可以把它看做一个简单的练习。Wikipedia上有更多关于凯撒加密法的信息:http://en.wikipedia. org/wiki/Caesar_cipher。
要用凯撒加密法把明文转成密文,需要制作一个加密轮盘(又名加密圆盘)。你可以复印本书给出的加密轮盘(见图1-4和图1-5),也可以打印http://invpy.com/cipherwheel 上的那个加密轮盘。把这两个圆圈剪下来,然后把它们叠在一起,参考图1-6至图1-8所示的步骤。
![25f82ea87c53c3675d27c5908a0ce51c0001919d](https://i-blog.csdnimg.cn/blog_migrate/155d484006c203fba11deec328fd00ef.png)
![a16f6a18c3ac4cceb56af02c501fd2571f1312bd](https://i-blog.csdnimg.cn/blog_migrate/d3e7ab26f82f63b7629a0dfabe1a6025.png)
![eeaf3d98e87ca36b20cfe4229bc9756d501013f7](https://i-blog.csdnimg.cn/blog_migrate/ca1e732fcc5e9dd008026ffa03b72645.png)
![582afdef1a4ac165fb5feef552624b286b85c172](https://i-blog.csdnimg.cn/blog_migrate/a0ad08844ad1ad6c72a6f70655165d40.png)
![b0ece0bf2bcd9e8c8b863aa63d2fb01928a0bb6d](https://i-blog.csdnimg.cn/blog_migrate/adae248ba58681a0890bbdc572734e15.png)
剪下两个圆圈之后,把小的放在大的中间。在两个圆圈中间插一根大头针或曲头钉,这样你就可以在上面旋转了。现在,你拥有使用凯撒加密法加密信息所需的工具了。