密码技术知识总结
1. 密码技术简介
- 对称密码:加密和解密时使用同一密钥的方式
- 公钥密码:加密和解密时使用不同密钥,也称非对称密码
- 单向散列函数:保证数据的完整性,检测数据是否被篡改过
散列值:又称哈希值、密码校验和、指纹、消息摘要
- 消息认证码:为了确认消息是否来自所期望的通信对象,可以使用消息认证码,通过消息认证码,能够保证完整性核认证机制
- 数字签名:防止伪装、篡改和否认等威胁的技术就是数字签名。
- 伪随机数生成器PRNG:模拟产生随机数列的算法——随机数承担着密钥生成的重要职责
2. 对称密码
密文打乱的是bit序列
XOR运算
2.1 一次性密码本——绝对不会被破译的密码
原理:将明文与一串随机的比特序列进行XOR运算
我们可以对一次性密码本的密钥尝试暴力破解,总有一天我们会尝试到和加密时相同的密钥,但是即使我们能够解密,我们无法判断它是否是正确的明文
理论上是无法破译的
既然一次性密码本是绝对安全的,那么为什么没有应用呢?
这里的密钥长度和明文是一样长度的
- 密钥的配送:如果有一种方法将密钥安全地发送出去,那么我们就可以用该方法安全地发送明文——这里产生了矛盾
- 密钥的保存:如果有办法安全的保护密钥则可以安全的保护明文
- 密钥的重用:一次性密码本中绝对不能重用过去用过的随机比特序列
- 密钥的同步:不能有任何的错误
2.2 DES
简介:将64bit的明文加密成64bit的密文的对称密码算法,密钥长度为64位,但是由于每7位会设置一个用于错误检测的bit,所以最终DES的密钥长度为64bit