密码体制等密码学基本概念
保密通信系统
- 保密通信系统模型: 包括明文空间(M,信源)、密文空间©、加密秘钥(K1)、解密秘钥(K2)、加密算法(E)、解密算法(D)构成。
- 保密系统需满足的要求:
- 保密系统虽然达不到理论上的不可破,至少也应该是实际上的不可破。
Kerckhoff
原则:系统的保密性不依赖于对加密体制或是算法的保密,而是依赖于秘钥的保密。- 加解密算法适用于秘钥空间的所有秘钥。
- 便于实现和使用。
密码体制分类
密码体制可以分为单钥体制和双钥体制。
- 单钥体制: 加解密秘钥相同。单钥体制又可以分为明文消息按字符逐位加密的流密码和将明文消息分组后逐组加密的分组密码。
- 双钥体制: 加解密秘钥不一致,将加解密分开。可以实现多个用户加密由一个用户解密的公共网络中的保密通信,和一个用户加密多个用户解密的数字签名(消息认证)。
对密码系统的攻击
对密码体系的4种攻击方法:
-
唯密文攻击: 攻击者掌握加密算法、截获的部分密文。
-
已知明文攻击: 攻击者掌握加密算法、截获的部分密文、一个或多个明文密文对。
-
选择明文攻击: 攻击者掌握加密算法、截获的部分密文、自己选择的明文消息以及产生的密文。
-
选择密文攻击: 攻击者掌握加密算法、截获的部分密文、自己选择的密文消息以及产生的明文。
无条件安全: 只有秘钥至少和明文一样长时才能达到无条件安全,所以只有一次一密才是无条件安全。
计算上安全: 满足一下两个条件之一,(1)破译密文的代价超过加密信息的代价。(2)破译密文所花的时间超过信息有效时间。
几种古典密码
古典密码是将明文的每一字母代换为字母表的另一字母。根据代换是逐个字母进行还是多个字母同时进行,古典密码分为单表代换
和多表代换
。
- 单表代换密码:
- 凯撒密码:
c = m + 3(mod26), m = c - 3(mod26)
- 移位变换:
c = m + k(mod26), m = c - k(mod26)
- 仿射变换:
c = am + b(mod26), m = a^(-1)(c - b)(mod26)
,其中a与26互质。
- 多表代换密码:
多表代换密码首先将明文M分为由n个字母构成的分组M1,M2…Mj,对每个分组Mi的加密为
Ci = AMi + B(mod26)
, 其中(A,B)是秘钥,A是nxn的可逆矩阵。对密文分组Ci的解密为
Mi = A^(-1)(Ci - B)(mod26)