• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

密码学备忘录-序列密码

2020-08-05

1. 定义

从一个短的密钥产生一个随机的密钥序列

与分组密码区别

相反,序列密码处理的明文长度可以小到lbit,而且序列密码是有记忆的,有时,序列密码又被称作状态密码,因为它的加密不仅与密钥和明文有关,而且还和当前的状态有关。


另外,分组密码算法的设计关键在于加解密算法,使明文和密文之间的关联在密钥的控制下尽可能复杂

而序列密码算法的设计关键在于密钥序列产生器,使生成的密钥序列具有尽可能高的不可预测性

2. 分类

2.1. 同步序列密码

密钥序列的产生独立于明文消息和密文消息

  • OFB

错误传播

  • 密文字母错误,不影响其它字母的正确解密
  • 密文字母丢失,影响后续字母的正确解密
  • 密文字母插入,影响后续字母的正确解密

攻击

  • 在密文中插入或删除字符,破坏同步

2.2. 自同步序列密码

密钥序列的产生是密钥及固定大小的以往密文的函数

  • CFB

有限的错误传播

  • 当单个密文出错(或插入、删除)时,除当前明文字符错误外,之后最多会有t个解密明文错误

明文统计扩散

  • 每个明文字符会影响其后的整个密文。

3. 原理

安全强度主要依赖密钥序列的随机性

密钥序列产生器(KG, Keystream Generator)

  • 种子密钥K的长度足够大,一般应在128位以上
  • KG生成的密钥序列{ki}具极大周期
  • 驱动器:产生状态序列,控制周期和统计特性
    • 线性反馈移位寄存器(LFSR)
  • 组合器:控制和提高输出序列的统计特性、线性复杂度和不可预测性,保证输出密钥序列的安全强度

4. 驱动器

  • 线性反馈移位寄存器

周期

m序列密码的破译

采用线性移位寄存器产生的序列密码在己知明文攻击下是可以破译的。

即,密钥序列产生器单有线性移位寄存器是不够的,还需要非线性组合部分。

5. 典型序列密码算法

5.1. RC4

  • RC4的密钥长度可变,其长度取值在8位到2048位之间,为安全起见,至少使用128位的密钥。
  • WEP:基于40bit或104bit密钥的RC4算法加密
  • RC4是一个典型的基于非线性数组变换的序列密码,以一个足够大的数组(S盒)为基础,对其进行非线性变换,产生非线性的密钥序列。

过程

  • 密钥调度算法(KSA, Key-Scheduling Algorithm )
  • 伪随机生成算法(PRGA, Pseudo Random-Generation Algorithm)

初始化

生成随机数序列

  • Note
  • Security
  • Cryptography
密码学备忘录-公钥密码
密码学备忘录-分组密码
  1. 1. 1. 定义
  2. 2. 2. 分类
    1. 2.1. 2.1. 同步序列密码
    2. 2.2. 2.2. 自同步序列密码
  3. 3. 3. 原理
  4. 4. 4. 驱动器
  5. 5. 5. 典型序列密码算法
    1. 5.1. 5.1. RC4
© 2024 何决云 载入天数...