对称密码体制
加密 过程 E 解密 过程 D
明文M
密文C
密文C
明文M
信源
加密密钥 k1
解密密钥 k2
信宿
图3-1 加解密过程 图3-1为信息的加解密过程,从明文到密文转换的算 法称为密码(Cipher) 。
2
一个加密系统采用的基本工作方式叫做密码体制 (Cryptosystem) 。 在 密 码 学 中 见 到 “ 系 统 或 体 制 ” (System) 、 “ 方 案 ” (Scheme) 和 “ 算 法”(Algorithm)等术语本质上是一回事。 加密和解密算法通常是在一组密钥(Key)控制下 进行的,分别称为加密密钥k1和解密密钥k2。 在传统密码体制中,k1=k2,因此又称为对称密 码体制(Symmetric Cryptosystem) ; 在现代公开密钥密码体制中,k1≠k2,因此又称 为非对称密码体制(Asymmetric Cryptosystem) ; 将分别在第三章和第四章介绍两种密码体制。
3.1密码学的基本概念 3.1.1 引言
密码学(Cryptology)是以研究秘密通信为目的, 对所要传送的信息采取一种秘密保护,以防止第三 者对信息窃取的一门科学。 密码学包括密码编码学(Cryptography)和密码分 析学(Cryptanalysis):
密码编码学是研究加密原理与方法,使消息保密 的技术和科学,它的目的是伪装消息内容。
模型中,解密算法是加密算法的逆过程,加密密 钥和解密密钥相同,发送方需要通过安全通道, 将密钥发送给接收方。
7
对明文M ,使用密钥K和加密算法E进行加密, 表示为Ek(M); 对于密文C,使用密钥K和解密算法D进行解 密,表示为Dk(C)。 即有: C=Ek(M)
M’=Dk(C)=Dk(Ek(M))
密码分析学则是研究破解密文的原理与方法。
密码分析者(Cryptanalyst)是从事密码分析的专 业人员。
1
被伪装的原始的消息称为明文(Message) 将明文转换为密文过程称为加密(Encryption) 加了密的消息称为密文(Ciphertext)
把密文转变为明文的过程称为解密(Decryption)
11
穷举攻击的代价与密钥的个数成正比,穷举攻击所 花费的时间等于尝试位数或加大解密(加密)算 法的复杂性来对抗穷举攻击。
当密钥位数增大时,密钥的个数增大,尝试的次 数必然增大; 当解密(加密)算法的复杂性增大时,完成一次 解密(加密)所需要的时间增大。
3
(1)对称密码体制 在20世纪70年代以前的对称密码体制,只是使 用了代换或者置换技术。这个时期的密码体制 称为古典密码体制,加密算法是保密的; 在20世纪70年代以后出现的对称密码体制,同 时使用了代换和置换两种技术。这个时期的对 称密码体制称为现代对称密码体制,加密算法 是公开的;
(2)非对称密码体制 20世纪70年代,产生非对称密码体制。
4
3.2保密系统的Shannon理论
1949年之前的密码知识一种艺术而不是科学,那 时的密码专家常常凭直觉和经验设计与分析密码。 自 从 shannon1949 年 发 表 了 著 名 文 章 “communication theory of secrecy system” 一文,引发了一场密码学革命,使密码设计和分 析建立在严格的理论推导基础之上,从而使密码 真正成为一门科学。 下面介绍shannon的对称密码模型。
10
3.3密码攻击
对称密码体制的攻击有两种方法:穷举攻击和密码 分析。
3.3.1 穷举攻击
穷举攻击是最基本也是比较有效的一种攻击方法。 穷举攻击(Brute Force Search)是通过试遍所有可 能的密钥对所获密文进行解密,直至得到正确的明 文;或者用一个确定的密钥对所有可能的明文进行 加密,直至得到所获得的密文。
由于Ek和Dk是依赖于密钥K的一对可逆的数学变 换,因此有
M’ = M
从而完成保密通信。
8
由shannon模型可见: (1) 已知明文M和加密密钥K时,计算C=Ek(M)容易, 即加密容易; (2) 加密算法必须足够强大,使破译者不能仅根据密 文破译消息,即在不知道解密密钥K时,由密文C计 算出明文M是不可行的,即破译困难; (3) 由于对称密码系统双方使用相同的密钥,因此必 须保证能够安全地产生密钥、安全地将密钥分发给双 方; (4) 对称密码系统的安全只依赖于密钥的保密,不依 赖于加密和解密算法的保密;
5
① 明文空间M ,表示全体明文的集合; ② 密文空间C ,表示全体密文的集合; ③ 密钥空间K ,表示全体密钥的集合,包括加密 密钥和解密密钥; ④ 加密算法E ,表示由明文到密文的变换; ⑤ 解密算法D ,表示由密文到明文的变换;
6
在发送方,对明文空间M的每个明文,加密算法 E在加密密钥K的控制下生成对应的密文C,经公 开传输信道传送给接收方; 在接收方,解密算法D在解密密钥K的控制下, 将收到的密文C变换成明文M。
从而使穷举攻击只是在理论上可行,在实际上无法 实现。
12
表3.1是穷尽密钥空间所需的时间。
9
【例】一次一密密码体制。设M=(0110010011)2, K=(0111001001)2 在A,B双方通信之前,A首先通过安全信道把密钥K 传送给B,然后A将明文M进行加密变换,再通过公 开信道传给B。加密过程: C=EK(M)=M K =(0110010011)2 (0111001001)2 =(0001011010)2 B收到密文C后,用密钥K进行解密,即: M’=DK(C)=C K =(0001011010)2 (0111001001)2 = (0110010011)2= M 从而B获得明文M,而那些没有密钥的密码分析者无 法获得正确的明文。 其中,加解密过程均受参数K的控制,且密文、加解 密算法是公开的,只需要保管好密钥K。