
上QQ阅读APP看书,第一时间看更新
1.4 破解恺撒密码

1.4 破解恺撒密码
在本节的内容中,将详细介绍实现一个破解恺撒密码游戏的方法,并详细讲解实现代码的功能。
1.4.1 实例介绍

恺撒密码是一种代换密码机制,据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法也被称为恺撒密码。恺撒密码作为一种古老的对称加密体制,在古罗马的时候就已经很流行了,它的基本思想是通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是恺撒密码加密和解密的密钥。
上面的描述很容易理解,假设对字母表中的每个字母,用它之后的第3(或者第n)个字母来代换,那么过程如下所示。
● 明文:a b c d e f g h i j k l m n o p q r s t u v w x y z
● 密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
● 明文:meet me after the toga party
● 密文:PHHW PH DIWHU WKH WRJD SDUWB
1.4.2 具体实现
在下面的实例文件code.py中,演示了实现一个破解恺撒密码游戏的过程,具体实现代码如下所示。


执行后会输出:

