现代密码学
- DES
采用分组加密。
使用64位的分组长度和56位的密钥长度,将64位的输入经过一系列变换得到的64位的输出。
DES算法利用多次组合替代算法和换位算法,通过混淆和扩散的相互作用,把明文编织成密码强度很高的密文。解密使用了相同的步骤和相同的密钥。
DES的压缩、扩展和置换操作使其具有很强的雪崩效应。即输入明文或密钥中一个比特的变化会导致输出中至少一般比特的密文发生变化,这使得穷举试凑寻找其中规律变得不可能。
- DES加密特点
DES算法产生密钥的方式简单,密钥一般也比较短。
DES算法加密解密速度快,效率很高,适合对大数据量的数据进行加密。
DES算法的安全性依赖于密钥的高度保密,通信双方必须有方法能保证安全的分享密钥,并定期更换DES密钥。
公钥密码学和以前密码学完全不同:
①对称密码学基于替换和置换(混淆和扩散),运算速度快;
②公钥密码学基于数学理论(单向函数),运算速度慢;
③对称密码学使用单密钥,需要额外秘密信道协商密钥;
④公钥密码学使用两个独立的密钥,不需要秘密信道协商密钥。
- 单向函数
单向函数:
两个集合X、Y、F是两个集合之间的映射,有Y=F(X),则:
(1)已知X求Y容易
(2)已知Y反推X困难 - RSA
RSA算法是迄今为止最为成熟完善的公钥密码体制。
RSA算法能够抵制到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
RSA算法基于数论构造,具体难题是大素数乘积的因子分解。
将两个大素数相乘十分容易,但对其乘积进行因式分解却极其困难,因此可以将乘积作为加密密钥公开。
公钥和私钥的产生 - 任意选择两个大的指数(素数)p和q,p不等于q,计算N=pq;
- 根据欧拉函数,不大于N且与N互质的整数个数为(p-1)(q-1);
- 选择一个整数e与(p-1)(q-1)互质,比企鹅e小于(p-1)(q-1);
- 用一下这个公式计算d:d*e=-1(mod(p-1)(q-1))
- 将p和q销毁后,(N,e)是公钥,(N,d)是私钥。
- RSA原理