密码学是研究密码编制、密码破译和密钥管理的一门综合性应用科学。
术语:
明文:被隐蔽的消息称作明文,通常用m表示。 Message,Plaintext
密文:将明文隐蔽后的结果称作密文,通常用c表示。 Ciphertext
加密( Encryption ):将明文变换成密文的过程称作加密。
脱密( Decryption ):合法用户由密文恢复出明文的过程称作脱密。
密钥( key ) :控制或参与密码变换的可变参数。密钥又分为加密密钥和脱密密钥。
密码体制:一个密码体制由五部分组成:明文空间(M);密文空间(C);密钥空间(K);加密变换
E; 脱密变换 D 。
对密码体制的基本要求:
(1)即使达不到理论上是不可破的,也应当是实际上不可破的。
(2)一切秘密蕴涵于密钥之中,即只要敌手不知道密钥,就不能由已知信息推出未知的明文信息。
(Kerckhoff 假设)
(3)加密算法和脱密算法适用于密钥空间中的所有元素。弱密钥要尽可能的少!
(4)具有很好的实现性能。
密码系统(Cryptography System)的分类:
1、用于转换纯文本到密码的类型
替代 (substitution)
移位 (transposition)
2、密钥的种类
对称,单密钥,秘密密钥
不对称,双密钥, 公开密钥加密
3、以处理纯文本文件的方法
分组密码(block cipher)
流密码(stream cipher)
两种密码体制的对比
单钥密码体制中,收发双方使用同一密钥,系统的保密性主要取决于密钥的安全性。系统的密钥管理、
传输和分配是一个重要且十分复杂的问题。体制的优点是:保密强度高,运算速度快;缺点是密钥数目
大,密钥分配困难,无法实现不可否认服务。
公钥密码体制中,加密密钥KU是公开的,解密密钥KP必须保密。公钥体制的密钥产生、分配和管
理相对简单,尤适用于计算机网络系统中。
公钥体制的特点:实现信息公开加密,实现不可否认服务,但缺点是加解密运算复杂其速度较慢。
密码学应用:
用加密来保护信息
采用数字证书来进行身份鉴别
数字指纹
采用密码技术对发送信息进行验证
利用数字签名来完成最终协议
密码学的作用总结:
1、机密性:提供只允许特定用户访问和阅读信息,任何非授权用户对信息都不可理解的服务[通过数据
加密实现]
2、鉴别:提供与数据和身份识别有关的服务。[通过数据加密、数据散列或数字签名来实现]
3、数据完整性:提供确保数据在存储和传输过程中不被未授权修改(窜改、删除、插入和重放等)的
服务。[通过数据加密、数据散列或数字签名来实现]
4、抗否认性:提供阻止用户否认先前的言论或行为的服务。[通过对称加密或非对称加密,以及数字签
名等,并借助可信的注册机构或证书机构的辅助,提供这种服务]
密码分析学
(1)唯密文攻击:敌手掌握足够多的同一个密钥加密的密文,破译目的是求出密钥或明文。
(2)已知明文攻击:敌手掌握足够多的同一个密钥加密的明密对,破译目的是求出其他密文对应的的明
文或密钥。
(3)选择明文攻击:敌手可以任意选择对破译有利的足够多的明文,得到相应的密文。破译目的是求出
其他密文对应的明文或密钥。
4)选择密文攻击:
敌手可任意选择对攻击有利的密文, 得到相应的明文。破译目的是求出其他密文对应的明文或密
钥。
选择密文攻击更多地用于公钥密码的分析.
常用的攻击方法:
(1)穷举攻击(最基本的攻击方法)
(2)统计分析攻击 利用明文、密文之间内在的统计规律破译密码的方法。
(3) 解析攻击 密码分析者针对密码算法所基于的数学问题,利用数学求解的方法破译密码。这种攻击
通常用于对公钥密码的攻击之中!
(4)代数攻击 把破译问题归结为有限域上的某个低次的多元代数方程组求解问题。通过对代数方程组的
求解,达到破译的目的。