二.密码学
“ 世界上有两种密码: 一种是防止你的小妹妹偷看你的文件;另一种是防止当局阅读
”你的文件资料。
――摘自 Bruce.Schneier《应用密码学》
2.1 什么是密码学
“ …如果把一封信所在保险柜中,把保险柜藏在纽约的某个地方 ,然后告诉你去看这封
信,这并不是安全,而是隐藏。相反,如果把一封信锁在保险柜里,然后把保险柜及其设
计规范和许多同样的保险柜给你,以便你和世界上最好的开保险柜的专家能够研究锁的装
”置,而你还是无法打开保险柜去读这封信,这才是安全的概念。
――摘自 Bruce.Schneier《应用密码学》
2.2 密码学的起源
最早的密码学应用可追溯到公元前 2000 年古埃及人使用的象形文字。这种文字由复
杂的图形组成,其含义只被为数不多的人掌握着。而最早将现代密码学概念运用于实际的
人是恺撒大帝(尤利西斯.恺撒公元前 100 年- 44 年)。他不太相信负责他和他手下将领
通讯的传令官,因此他发明了一种简单的加密算法把他的信件加密。
第二次世界大战以后,由于与计算机技术的结合,密码学的理论研究与实际应用得到
了飞速的发展,随之产生了很多新的分支理论,如微粒照片,数字图片水印技术和其他很
多隐藏被传递和存储的信息的方法。其中,最常见的就是利用计算机将明文和密码变成密
文和将密码和密文变成明文。
2.3 什么是加密算法
所谓加密算法就是指将信息变成密文的计算方法。有的加密算法就是对信息进行简单
的替换或乱序,这种加密算法最明显的缺陷就是,算法本身必须保证是保密的。现代加密
算法通常都需要密钥来完成对信息的加密运算,算法本身可以公开,理论上,只要保证密
钥的安全就能保证信息的安全。
最早的恺撒密文就是一种简单的字母替换加密算法。算法本身非常简单,但同时也是
最容易破解的算法。其加密方式就是,按照其在英文字母表里的顺序,将字母循环移位。
整个算法可归结为下面的公式: