《深入浅出HTTPS》读书笔记(10):流密码算法
一次性密码本诞生了流密码算法。
一次性密码本非常简单,大概原理如下:
◎明文与同样长度的序列进行XOR运算得到密文。
◎密文与加密使用的序列再进行XOR运算就会得到原始明文。
一次性密码本的核心操作就是XOR运算(异或操作),通过两次XOR操作,最终会得到原始一次性密码本诞生了流密码算法。
一次性密码本非常简单,大概原理如下:
◎明文与同样长度的序列进行XOR运算得到密文。
◎密文与加密使用的序列再进行XOR运算就会得到原始明文。
一次性密码本的核心操作就是XOR运算(异或操作),通过两次XOR操作,最终会得到原始序列。
一次性密钥本的关键在于:
◎密钥每次必须不一样,否则同一个明文和密钥就会获得相同的内容。
◎一次性密钥本是无法破解的,原因就在于破解者无法确认破解的明文就是原始明文。
流密码算法的工作原理:
RC4流密码算法为例,关键就在于算法内部生成了一个伪随机的密钥流(keystream),密钥流的特点如下:
◎密钥流的长度和密钥长度是一样的。
◎密钥流是一个伪随机数,是不可预测的。
◎生成伪随机数都需要一个种子(seed),种子就是RC4算法的密钥,基于同样一个密钥(或者称为种子),加密者和解密者能够获取相同的密钥流。
有了密钥流,随后的加密解密就非常简单了,就是XOR运算。
目前RC4已经被证明是不安全的了,建议使用接下来讲解的块密码算法。