一、传统加密简介:

1.     朴素的密码
“天王盖地虎,宝塔镇河妖……”大家一定在电影里看过土匪对暗号的场面。其实,土匪口中的“黑话”就是一种最朴素的密码。只不过这种密码过于简单,经不起密码学家的分析,非常容易破译。

2.     凯撒密码
这是一个古老的加密方法,当年凯撒大帝行军打仗时用这种方法进行通信,因此得名。它的原理很简单,其实就是单字母的替换。让我们看一个简单的例子:“This is Caesar Code”。用凯撒密码加密后字符串变为“vjku ku Ecguct Eqfg”。看起来似乎加密得很“安全”。可是你可以尝试一下,把这段很难懂的东西每一个字母换为字母表中前移2位的字母……哦,结果出来了。

凯撒密码的字母对应关系:

    A b c d e f g h i … x y z

    C d e f g h I j k … z a b

3.     rot13
ROT13是网络上常见的一种简单的“加密”方式。它是用字母表里a-m的字符来代替n-z,用n-z的字符来代替a-m字符。它的原理和凯撒密码非常类似。凯撒密码移了2位,而ROT13移了13位。ROT13通常作为简单的手段使得我们的电子信件不能被直接识别和阅读,也不会被那些匹配程序用通常的方法直接找到。

如"V Ybir lbh!"  这个句子实际上是"I Love you!"。

ROT13字母对应关系:

A b c d e f g h I … x y z

N o p q r s t u v … k l m

明白了吗?“解密”一下下面的内容:
jrypbxr gb jjj.syntjner.arg

4.     受限密码
    上面讨论的“加密”是非常简单的,简单到不用计算机的帮助就能手工破译,简单到只能防止3岁的×××偷看你的文件 J

我们可以把这些算法变得更复杂,引入更多的变换、更多的交叉和扩散 …… 这样也许会更难破译些。但是,在这个基础上变得再复杂,也还跳不出“受限密码”的范畴。所谓“受限密码”,是指算法的安全性是建立在算法保密的基础上的。一旦算法泄漏,所加密的内容也就完全没有安全性可言了。我们前面讨论的算法就是有这个特点的。

算法泄漏的问题使得这类算法的应用范围受到很大的限制。基本上,现在已经没人用了