密码(cryptography)是一种信息处理体系,涉及信息的机密性、完整性、认证性和不可否认性等许多方面。
密码学发展历程
自从人类社会有了战争,就有了保密通信,就需要信息处理体系。在1949年以前,密码的研究与应用仅仅是文字变换技术,简称为密码术。自1949年之后,Shannon做了相关的工作,发表了《保密系统的通信理论》一文,为密码学的发展奠定了坚实的理论基础。
密码学发展大致分为古典密码时期、近代密码时期以及现代密码时期, 其中,古典密码时期与近代密码时期成为传统密码时期。
密码学的两次飞跃与两个里程碑事件
- 1949年Shannon发表题为《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成为了一门科学。第一次飞跃
- 1976年后,美国数据加密标准DES公布,使得密码学研究公开,并得到迅速发展里程碑事件
- 1976年,Diffe和Hellman发表了《密码学的新方向》,提出了一种新的密码设计思想,从而开创了公钥密码学的新纪元。第二次飞跃
- 1978年,Rivest、Shamire和Adleman首先提出第一个实用的公钥密码体制RSA。里程碑事件
传统密码技术
传统密码体制的技术、思想以及分析方法虽然很简单,但是反映了密码设计和分析的思想,是学习密码学的基本入口,对于理解、设计和分析现代密码学仍然具有借鉴意义。
置换密码
根据一定规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符位置和次序。
列置换密码
其加密过程是,首先将明文以设定的固定分组宽度m按行写出,即每行有m个字符。若明文长度不是m的整数倍,则不足部分用双方约定的方式填充。按照 1,2,⋯,m 的某一置换 σ 交换列的位置次序得到字符矩阵 [MP]m×n 。然后,将矩阵按 [MP]m×n 按照列 1,2,⋯,m 的顺序依次读出得到密文序列C。
譬如将明文“Beijing 2008 Olympic Games”加密,则代表明文的矩阵为:
M=⎡⎣⎢⎢⎢BglGe2yai0mmJ0pei8isnOc⎤⎦⎥⎥⎥
其密钥可表示为 (1,4,3,5,6) 以矩阵形式表示为:
σ=