目录
序列密码的定义及基本介绍
- 序列密码定义:明文消息按字符逐字符加密的一种算法,属于序列密码
- 序列密码是为了接近一次一密的密码模式,因为一次一密的密码模式是无条件安全的。序列密码的关键在于密钥序列产生器,让生成的密钥序列具有不可预测性
- 序列密码是一种有记忆的密码,它的加密不仅与明文,密钥有关,还和当前状态有关,比如在自同步序列密码中,每一位密钥的产生都要基于前n位的密钥,同时如果有一位密钥产生了错误,也会影响要接下来的n位密钥的正确性
序列密码的分类
- 同步序列密码:这种密码的密钥序列的产生独立于明文消息和密文消息。发送方和接收方必须是同步的,用同样的密钥且该秘钥操作在同样的位置,才能保证解密。如果在传输过程中密文字符有插入或删除导致同步丢失,则解密失败,且只能通过重新同步来实现恢复。
- 自同步序列密码:密钥序列的产生是密钥及固定大小的以往密文位的函数
序列密码的原理
密钥序列产生器通过种子密钥来产生密钥序列,然后明文序列和密钥序列进行模二加,生成密文序列
其中,种子密钥长度需要足够大,一般128位以上,密钥序列产生器(KG)生成的密钥序列需要具有极大周期等特性
密钥序列产生器包括驱动部分和组合部分,驱动部分产生控制生成器的状态序列,控制生成器的周期和统计特性,组合部分对驱动部分的各输出序列进行非线性组合,驱动器一般利用线性反馈移位寄存器实现。
线性反馈移位寄存器
这种移位寄存器每次会移出一个比特,相应地在寄存器末尾也会输入一个比特ÿ