学习笔记
分类
密码学用于解决信息安全中的保密性,完整性,认证和不可否认性等问题。最初主要用于解决保密性。随着密码学技术的发展,逐渐应用到其它领域。
常见密码学算法:DES,AES; RSA, ECC; Hash; Signature等。
分类
- 对称密码
- 流密码
- 分组密码
- 非对称密码
不同阶段
古典/经典密码(凯撒密码),(1949 Shannon)近代密码(DES/AES),(1976 Diffie-Hellman, 1977 RSA)现代密码(RSA),(展望:量子密码等)
参考:
Ref https://mp.weixin.qq.com/s/wiblmEu14iB1yx6g6sTCnw
Ref Wikipedia
Ref 密码学发展史(https://github.com/guoshijiang/Cryptography_anyone_can_understand/blob/master/history/README.md)
各类算法
经典密码
凯撒密码
对称密码
加密和解密使用相同的秘钥。优点是加密解密效率高,缺点是秘钥的分发需要在隐秘通道进行。安全性取决于根据密文无法推出明文和秘钥。
-
基于异或的一次性密码。(多个密文可以解密出秘钥)(一次一密密码被证明是绝对安全的密码。1949 Shannon)
- 秘钥大于等于原消息,具备很好的安全性
- 问题是秘钥长度很大不易分配和管理
-
流密码。使用伪随机生成器,根据初始秘钥来生成一次性秘钥。安全性取决于与初始秘钥的保密性和伪随机生成器的随机性(不可预测性)。保密性较一次性密码弱,但秘钥容易分配和管理。
使用流密码要考虑安全性,例如同一个key不能使用两次:
Stream ciphers, where plaintext bits are combined with a cipher bit stream by an exclusive-or operation (xor), can be very secure if used properly[citation needed]. However, they are vulnerable to attac