0%

现代密码学(四)序列密码

介绍序列密码(流密码)。

流密码

流密码的简单结构如下。

image-20201228165456897

对于流密码来说,需要生成一个作为密钥流的“随机”比特序列。

流密码的安全性取决于密钥的安全等级。

image-20201228165551857

流密码可以分为两种

  • 同步流密码
    • 密钥流的产生与明文消息相互独立
  • 自同步流密码
    • 密钥流的产生与之间产生的若干密文有关

线性反馈移位寄存器 LFSR

LFSR可以产生同步密钥流。

联结多项式为

image-20201228170207505

例如对于联接多项式,对应的反馈函数为

对于LFSR来说,一个n级LFSR序列的周期最大为

如果产生了最大周期,则称为m序列,LFSR的状态转移图只有两个圈。

伪随机序列

Golomb随机性假设

  • 在每一周期内,0和1的个数近似相等。
  • 在每一周期内,长度为i的游程占游程总数的
  • 定义自相关函数
    • 那么

m序列的伪随机性

线性复杂度

能够输出该序列的最短LFSR的级数。

一个好的流密码,应该具有大周期、大的线性复杂度,同时满足Golomb随机性假设。

基于LFSR的伪随机序列生成器

滤波生成器

image-20201228171735794

组合生成器

image-20201228171742568

钟控生成器

image-20201228171755691