文档介绍:密码学与计算机安全
第六讲现代密码学
上海交通大学计算机科学与工程系
郑东
Zheng-******@.
- moden-block ciphers
目前最广泛使用的加密算法
提供保密与认证服务
private-key encryption
也叫单钥或对称算法)
通信实体双方使用相同的密钥加密和解密
古典密码是私钥加密算法
现代密码(由乘积密码构成)包括DES, Blowfish, IDEA, LOKI, RC5, Rijndael (AES) 及其它一些算法
3。分组密码
在分组密码中,消息被分成许多块
每块都要被加密
类似与许多字符被替换-( 64-bits or more )
许多现代密码具有下列形式:
(cont.)
理想的方法是使用尽可能大的替换模块
但不实际,因为对每个64bit的模块,将需要264 个实体的替换表
因此使用一些小的模块代替
使用成绩密码的思想
这种概念由 Shannon and Feistel 提出
5. Shannons 保密系统理论
Claude Shannon 对现代密码的重要工作
C E Shannon, "Communication Theory of Secrecy Systems", Bell System Technical Journal, Vol 28, Oct 1949, pp 656-715
C E Shannon, "Prediction and Entropy of printed English", Bell System Technical Journal, Vol 30, Jan 1951, pp 50-64
在上述文章中,提出了下列概念:
“熵”的概念
语言冗余度
破译密码需要多少信息量
定义了”计算安全”与”无条件安全”
6. Shannons 保密系统理论 cont
指出 Book cipher 是不安全的
即如果通过填加一些英语字母加密英文内容,是不安全的
因为英语有80%的冗余度
英语密文如果有60%的冗余度,就可以破解7
7. 替换-置换密码
在Shannon 1949 的文章中,介绍了替换-置换网络的思想(S-P) networks
这种思想形成了现代密码的基础
S-work 替换-置换乘积密码的现代形式
S-works 是基于下列两种最基本的密码运算(前面介绍过):
替换( Substitution )
置换( Permutation )
8. 替换运算
一个二进制字用其它二进制字替换
这种替换函数就构成密钥
可以看作是一个大的查表运算
叫做 S-boxes