凯撒密码(Caesar's code)是最古老的加密算法,当然目前看来也是最简单的加密算法。它的发明人是罗马史上第一位独裁者、罗马帝国之父、攻无不克的名将、日历发明家、拉丁语文学家、埃及艳后克利奥帕特拉背后的男人凯撒大帝。
凯撒密码是一种替换加密技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
今天看来,这种算法极易破解,毫无技术含量可言。但在当时还是很安全的,因为恺撒大部分敌人都是目不识丁的。
凯撒密码算法实现:
加密:
C=E(p)=(p+k) mod 26
p就是需要加密的字符,k就是数字密钥(英语:1 -25)
解密
p=D(C)=(C-k) mod 26
C就是需要解密的字符,k就是加密时的数字密钥(英语:1 -25)
凯撒密码的破解
1 通过使用诸如频率分析或者样式单词分析的方法来分析是否使用的是凯撒密码。
2 使用恺撒密码进行加密的语言一般都是字母文字系统,因此密码中可能是使用的偏移量也是有限的,例如使用26个字母的英语,它的偏移量最多就是25(偏移量26等同于偏移量0,即明文;偏移量超过26,等同于偏移量1-25)。因此可以通过穷举法,很轻易地进行破解。
凯撒大帝并不是历史上第一个想出加密算法的人。姜子牙在3000年前就发明了古装版密码本《阴书》。公元前四世纪,古希腊人发明了卷轴式密码本《天书》;公元前五世纪的斯巴达汉子,也会把皮带卷在一根木棒上,只有特定直径的“密码棒”,才能把皮带上的字还原成明文。今天我们仍旧把密码学归功于凯撒,是因为凯撒密码是首个广泛运用到军事通信领域的加密技术。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。