发送者(sender) 接收者(receiver)
消息(message) 明文(plaintext) 加密(encryption) 解密(decryption)
密码编码学(cryptography)---使消息保密的技术和科学
密码编码者(cryptographer) 密码分析者(cryptanalyst)
密码分析学(cryptanalysis) 密码学(cryptology) 密码学家(cryptologist)
加密函数 E(M)=C 解密函数 D(C)=M M为明文 C为密文
D(E(M))=M
鉴别(authentication)消息的接收者应该能确认消息的来源;入侵者不可能伪装成他人。
完整性(integrity)消息的接收者应该能够验证在传送过程中的消息没被修改;入侵者不可能用假消息代替合法消息。
抗抵赖(nonrepudiation)发送者事后不可能虚假否认他发送的消息。
算法(algorithm) 也叫密码(cipher)
受限制的算法(restricted algrithm)算法的保密性是基于保持算法的秘密。
密钥(key) 密钥空间(keyspace)
密码系统(cryptosystem)由算法以及所有可能的明文、密文和密钥组成。
基于密钥的算法有两类:对称算法和公钥算法
对称算法(symmetric algorithm)
加密函数 EK (M)=C 解密函数 DK(C)=M M为明文 C为密文 K为密钥
DK(EK(M))=M
公钥算法(public-key algorithm)
常见密码分析攻击有四类
(1) 唯密文攻击(ciphertext-only attack)
已知:C1=EK(P1),C2=EK(P2),…,Ci=EK(Pi)
推导出P1,P2,…,Pi; K或找出一个算法从Ci+1=EK(Pi+1)推导出Pi+1
(2) 已知明文攻击(known-plaintext attack)
已知:P1,C1=EK(P1), P2, C2=EK(P2),…, Pi Ci=EK(Pi)
推导出密钥K或找出一个算法从Ci+1=EK(Pi+1)推导出Pi+1
(3)选择明文攻击(chosen-plaintext attack)
已知:P1,C1=EK(P1), P2, C2=EK(P2),…, Pi Ci=EK(Pi) Pi可由密码分析者选择
推导出密钥K或找出一个算法从Ci+1=EK(Pi+1)推导出Pi+1
(4)自适应选择明文攻击(adaptive-chosen-plantext attack)
(5) 选择密文攻击(chosen-ciiphertext attack)
(6) 选择密钥攻击(chosen-key attack)
算法的安全性
(1)全部破译(total break)密码分析者找出密钥K,这样DK(C)=P
(2)全盘推导(global deduction)密码分析者找到一个代替算法A,在不知道密钥K的情况下,等价于DK(C)=P
(3)实例或局部推导(instance(or local)deduction)密码分析者从截获的密文中找到明文
(4)信息推导(information deduction)密码分析者获得一些关于密钥或明文的信息。
隐写术(steganography)