文档介绍:第十六章计算机密码学
计算机密码学
基础知识
传统密码学之序列加密
传统密码学之分组加密
公钥密码
密钥管理
概率加密
密码技术
信息隐藏与水印
基础知识
基本概念
算法和密钥
密码分析学
密码学历史
基本概念
密码学是研究加密和解密变换的科学
人们将可懂的文本称为明文,用“M”表示
将明文变换成的不可懂的文本称为密文
加密函数E作用于M得到密文C,用数学表示:
E(M)=C
解密函数D作用于C产生M
D(C)=M
先加密后再解密消息,原始的明文将恢复出来,
D(E(M))=M
算法和密钥
受限制的算法
算法的保密性是基于保持算法的秘密
现代密码学
使用一个密钥的加/解密
EK(M)=C
DK(C)=M.
DK(EK(M))=M
使用两个密钥的加/解密
EK1(M)=C
DK2(C)=M
DK2 (EK1(M))=M
算法和密钥
密码系统由算法、以及所有可能的明文、密文和密钥组成的。基于密钥的算法通常有两类:
对称算法
对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立
EK(M)=C
DK(C)=M
公开密钥算法
用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来
加密密钥能够公开,即陌生者能用加密密钥加密信息,又叫公钥
相应的解密密钥才能解密信息,叫做私钥。
密码分析学
密码编码学的主要目的是保持明文(或密钥,或明文和密钥)的秘密以防止偷听者(也叫对手、攻击者、截取者、入侵者、敌手或干脆称为敌人)知晓
密码分析学是在不知道密钥的情况下。恢复出明文的科学。成功的密码分析能恢复出消息的明文或密钥。密码分析也可以发现密码体制的弱点
密码分析学
常用的密码分析攻击有七类,当然,每一类都假设密码分析者知道所用的加密算法的全部知识:
唯密文攻击
已知明文攻击
选择明文攻击
自适应选择明文攻击
选择密文攻击
选择密钥攻击
软磨硬泡(Rubber-hose)攻击