序列密码定义
序列密码是指明文消息按字符逐字符地加密的一类密码算法。
序列密码分类
同步序列密码
-
定义
如果密钥序列的产生独立于明文消息和密文消息,则此类序列密码称为同步序列密码 -
特性
- 同步要求:为了正确解密必须在相同的状态下采用相同的密钥和运算。
- 无错误传播:传输过程的一个密文被修改不影响其他密文位的解密。
- 主动攻击:主动攻击的插入、删除和密文位的重放都会造成失步;主动攻击可能有选择地篡改密文位,并且清楚地知道这些改动会造成明文的哪些位发生变化。
自同步序列密码
-
定义
如果密钥序列的产生是密钥及固定大小的以往密文位的函数,则这种序列密码被称为自同步序列密码或非同步序列。 -
特性
- 自同步特性:由于解密映射仅仅与固定长度的密文字符有关,因此在密文位被删除或插入时有可能造成同步丢失。
- 有限的错误传播:由于自同步序列密码的状态与密文位有关,如果一个密文位在传输过程中被修改了,则最多之后的t位密文的解密可能会是错误的。
- 主动攻击:与同步序列密码相比,被接收方检测出来的可能性增加了。
- 消除明文统计特性:因为明文位将影响随后的所有密文,明文的统计特性大大削弱了。
序列密码原理
- 要素:明文序列mi、密钥序列ki、种子密钥K、密钥序列ci。
- 序列密码的主要特点:
- 加密/解密运算只是简单的模2加运算
- 安全强度主要依赖密钥序列的随机性
- 密钥序列产生器
- 驱动部分产生控制生成器的状态序列,并控制生成器的周期和统计特性
- 组合部分对驱动部分的各个输出序列进行非线性组合,控制和提高产生器输出序列的统计特性、线性复杂度和不可预测性等。