密码学基础
文章目录
1 密码学概述
1.1 密码学发展阶段
-
第一阶段:1949年之前,密码学还不是科学,而是艺术。
-
恺撒(Caesar)密码
-
维吉尼亚密码(Vigenere cypher)
-
“恩格玛(Enigma)”密码机
-
-
第二阶段:1949~1975年,密码学成为科学。
-
第三阶段:1976年以后,密码学的新方向——公钥密码学。
-
DES(数据加密标准)
-
公开密钥密码
-
量子密码学
-
1.2密码系统
- 通常一个密码体制可以表达为一个五元组(M,C,K,E,D),其中:
- (1)M是可能明文的有限集称为明文空间
- (2)C是可能密文的有限集称为密文空间
- (3)K是一切可能密钥构成的有限集称为密钥空间
- (4)对于密钥空间的任一密钥有一个加密算法和相应的解密算法使得Ek:M->C 和Dk:C->M分别为加密和解密函数,且满足Dk(Ek(M))=M。
1.3密码的分类
1、按应用的技术或历史发展阶段划分:手工、机械、电子机、计算机
2、按保密程度划分:理论上、实际上保密、不保密
3、按密钥方式划分:对称,非对称
4、按明文形态划分:模拟型密码,数字型密码
5、按编制原理划分:移位、代替、置换
1.4 近代加密技术
1、对称加密算法 (DES、IDEA、AES)
- 对称加密算法(synmetric algorithm),也称为传统密码算法,其加密密钥与解密密钥相同或很容易相互推算出来,因此也称之为秘密密钥算法或单钥算法。对称算法分为两类,一类称为序列密码算法(stream cipher),另一种称为分组密码算法(block cipher)。
- 对称加密算法的主要优点是运算速度快,硬件容易实现;
- 其缺点是密钥的分发与管理比较困难,特别是当通信的人数增加时,密钥数目急剧膨胀
- 加密和解密由同一个密钥来控制,也叫“单钥算法”,如图所示。
2、非对称加密体制(RSA、椭圆曲线)
- 非对称加密算法也称公开密钥算法;
- 公开密钥体制把信息的加密密钥和解密密钥分离,通信的每一方都拥有一对密钥:公钥、私钥;
- 公开密钥体制最大的优点:不需要对密钥通信进行保密,所需传输的只有公开密钥;
- 三个用途:数据加解、密数字签名、会话密钥交换
- 公开密钥体制的缺陷:加密和解密的运算时间比较长,在一定程度上限制了它的应用范围。
- 用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来,就是非对称算法(Asymmetric Algorithm),如图所示。
1.5密码的破译
1、密钥的穷尽搜索
2、密码分析
- 已知明文的破译方法
- 选定明文的破译方法
- 差别比较分析法
3、其它密码破译方法
2 古典密码学
代换密码的特点是:依据一定的规则,明文字母被不同的密文字母所代替。
1、移位密码
移位密码基于数论中的模运算。因为英文有26个字母,故可将移位密码定义如下:
令P={A,B,C,……Z},C={A,B,C,……Z},K={0,1,2,……25},加密变换:Ek(x)=(x+k)mod 26解密变换:Dk(y)=(y-k)mod 26
2、单表代换密码
单表代换密码的基本思想是:列出明文字母与密文字母的一一对应关系,
3、多表替换密码
Vigenere密码是一种典型的多表替换密码算法。算法如下:
- 设密钥K=k1k2……kn,明文M=m1m2……mn,
- 加密变换:ci≡(mi+ki)mod 26,i=1,2,……,n
- 解密变换:mi≡(ci-ki)mod 26,i=1,2,……,n
- 例如:明文X=cipher block,密钥为:hit则把明文划分成长度为3的序列:cip her blo ck每个序列中的字母分别与密钥序列中相应字母进行模26运算,得密文:JQI OMK ITH JS
2.2 置乱密码
置乱密码的特点是保持明文的所有字母不变,只是利用置换打乱明文字母出现的位置。置乱密码体制定义如下:
- 令m为一正整数,P=C={A,B,C,……Z},对任意的置换π