传统加密技术
对称密码模型
- 明文 plaintext
- 加密算法 encryption
- 密钥 key
- 密文 cipher
- 解密算法 decryption
传统密码的要求:加密算法足够强,密钥安全
采用对称密码,首要的安全问题是密钥的保密性。
密码学是研究信息的保密和复原保密信息以获取其真实内容的学科。
密码编码学和密码分析学统称密码学。
密码编码学 Cryptography
研究对信息进行编码实现隐蔽信息。
-
转换明文为密文的运算类型
加密算法的两个原理:代替、置换
-
密钥
-
对称密码、单钥密码、秘密钥密码、传统密码
基于计算安全性
-
非对称密码、双钥密码、公钥密码
基于可证明安全
-
处理明文的方法
密码分析学和穷举攻击
密码分析学
利用算法的性质、明文的一般特征或某些明密文对
穷举攻击
尝试所有可能密钥,复杂度在可能密钥的一半
攻击 |
攻击者已知的信息 |
唯密文攻击 |
加密算法、密文 |
已知明文 |
加密算法、密文、一些明密文对 |
选择明文 |
加密算法、密文、攻击者选择的明文及其密文 |
选择密文 |
加密算法、密文、攻击者选择的密文及其明文 |
选择文本 |
加密算法、密文、攻击者选择的明文及其密文、攻击者选择的密文及其明文 |
算法至少要抵抗已知明文攻击。
已知密文攻击
所有的加密算法都不是无条件安全的,加密算法是计算上安全:
- 破译密文的代价超过加密信息的价值
- 破译密文的时间超过信息的有用期
代替技术
对称密码的两个基本模块:代替、置换
代替指将明文字母替换成其他字母、数字、符号。
单表代替密码
凯撒密码 Caesar
凯撒密码,又称加法密码,属于单表代替密码。
-
加密算法
c = E ( p , k ) = ( p + k ) m o d 26 c = E(p, k)=(p+k)\mod 26 c=E(p,k)=(p+k)mod26
-
解密算法
p = D ( c , k ) = ( c − k ) m o d 26 p=D(c,k)=(c-k)\mod 26 p=D(c,k)=(c−k)mod26
平凡密钥 k = 0 k=0 k=0,密钥空间25。
采样密码
采样密码,又称乘法密码,属于单表代替密码。
-
加密算法
c = E ( p , k ) = k p m o d 26 c = E(p, k)=kp\mod 26 c=E(p,k)=kpmod26
-
解密算法
p = D ( c , k ) = k − 1 c m o d 26 p=D(c,k)=k^{-1}c\mod 26 p=