1.9 密码密评原则
名称 | 内容 | 说明 |
Kerckhoffs-柯克霍夫斯原则 | 评估一个密码算法安全性时,必须假定攻击者不知道密钥,但知道密码算法的所有细节。 | 密码算法的安全性应该基于密钥的保密,而不是所有算法的隐藏性P55 |
三同步一评估原则 | 同步规划、同步建设、同步运行密码保障系统并定期进行评估 | 是密码保障系统建设的总思路 |
《保密系统的通信理论》 | 标志着密码现代密码学真正开始 | 1949年香农发表 |
1.10 若干密码算法
密码名称 | 特点 | 说明 |
凯撒密码 | (单表代换)仿射密码E(i)=(ik1+k0)mod N, 密钥K=(k1,k0) 当k0=0时,则为乘法密码;当K1=1时,则为加法密码 | 凯撒密码是加法密码,N=26,a-0,z-25 单字母代换 |
弗吉尼亚密码 | (多表代换)周期代换密码,代换表的数目为d。 周期长度? | 相比较单字母代换,多字母代换更有利于隐藏字母自然频度,抵抗统计攻击。法国密码学家 Blaise de Vigenere 16世纪(1858??) |
栅栏密码 | (置换密码)明文按列写入,密文按行输出。 列置换密码,将明文M以设定的固定分组宽度m按行写出,即每行有m个字符,列变化后,按列输出密文。 周期置换密码。 | 可以打破消息中的某些固定结构模式。1861-1865美国南北战争 周期排列与列排列思想是一致的,只不过列排列是以矩阵的形式整列换位置,而周期是在分组以后对每组分别变换。懂得列排列就可以很容易地理解周期排列。 |
恩尼格玛密码机 | 机械密码,多表代换密码系统。 | 约1亿种密码组合2^27 周期长度? |
费纳姆密码机 | (二进制替换密码)是双方约定一个数,明文加上这个数就是密文。这个数相当于密钥(可以是单词词组句子几个字母也行) | 二战时使用 |
希尔密码 | 希尔变化-线性变换(矩阵计算) 运用基本矩阵论原理的替换密码,每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果MOD26 | Lester Hill于1929年提出《American Mathematical Monthly》,密钥是一个矩阵。 抵抗频率分析功能能力最强,而对已知明文攻击最弱。 |
Shamir (t,n)-门限方案 | 1980年Asmuth和Bloom提出 基于Lagrange内插多项式 | |
Regev | 基于格 | |
McEliece | 基于代数编码理论(纠错码) | |
MI方案 | 基于多变量问题 | |
DSS | 不包括加密机制 | |
Playfair密码 | 多表代换密码 | 1854年Charles Wheatstone提出 |
Elgamal密码 | 被认为是安全的最小密钥长度1024 | |
Williams密码方案(Rabin方案的改进,Rabin是RSA的一种) | 基于大数分解问题 | 对Rabin方案的改进。Rabin是RSA密码体制的一种,提出Shamir攻击方法。 |
Merkle-Hellman背包公钥加密体制 | 1977年,Merkle与Hellman合作设计了使用背包算法,该算法提出后密码学界提出了很多背包型加密算法 | 几年后被破解,1982年。 |
Euclid算法 | 欧几里得算法(辗转相除法), gcd(a,b)=gcd(b, a mod b) | 67*8= 536, 536 mod 119 = 60, 60*2 mod 119 = 1 |
轮转密码 | 三转轮密码机有慢速、中速、快速三个轮子,加密时:入明文一位,出密文一位,快轮逆时针转动一格,快轮转满26次即一圈时,中轮子转动一格,中轮转满26圈时,慢轮转动一次。解密过程即为加密的逆过程。 | |
Vernam加密法 | 也称一次一密(One-Time-Pad),用随机的非重复的字符集合作为输出密文。 | Vernam加密法最初是AT&T公司借助所谓的Vernam机实现的. |