考研复习 Day 42 | 密码学--第五章 序列密码(上)

注:以下内容参考《新编密码学》范九伦 张雪锋 侯红霞 编著


5.1 序列密码的基本原理

5.1.1 序列密码的设计思想

序列密码(流密码)每次只对明文中的单个位(或字节)进行加密变换。其核心是密钥流生成器:由种子密钥生成一个伪随机密钥流,再与明文流逐比特异或得到密文流。Shannon证明了一次一密是不可破译的,这为序列密码提供了理论依据。

按照密钥流产生方式的不同,序列密码分为同步序列密码自同步序列密码两种。

1. 同步序列密码

密钥流 ki 的产生完全独立于消息流 mi(明文或密文)。其数学模型为:

σ(i+1)=F(σi,k)

ki=G(σi,k)

ci=E(ki,mi)(通常为异或)

mi=D(ki,ci)

特点

  • 无错误传播:1位密文错误只影响1位明文。

  • 同步性要求高:插入或删除密文字符会破坏同步,需用特殊标记、重同步或冗余检测。

  • 主动攻击可检测:插入、删除或重放会破坏同步,可能被检测。

2. 自同步序列密码

密钥流 ki 的产生依赖于前面有限个(n个)密文字符。其数学模型为:

σ(i+1)=F(σi,ci,c(i−1),...,c(i−n+1),k)

ki=G(σi,k)

ci=E(ki,mi)

mi=D(ki,ci)

特点

  • 有错误传播:1位密文错误会影响后续最多 nn 位明文。

  • 自同步能力:收到 nn 个正确密文后自动恢复同步。

5.1.2 序列随机性能评价

为度量周期序列的随机性,Golomb提出了三个必要条件(Golomb随机性假设):

  1. 在一个周期内,0和1的个数相差不超过1。

  2. 在一个周期内,游程分布合理:长度为 i 的游程数占游程总数的 1/2^i,且0游程与1游程数目相等或相差1。

  3. 序列的自相关函数是双值的(周期自相关为常数,非周期自相关很小)。

对于长度为 n 的二进制序列,常用五种统计测试方法:

  • 频率测试:检查0和1个数是否相近。
  • 序列测试:检查00、01、10、11的分布是否均匀。
  • 扑克测试:将序列分成长度为 m 的块,检查所有块的出现频率是否均匀。
  • 游程测试:检查各长度游程的数目是否符合预期。
  • 自相关测试:检查序列与其移位后的序列的相关性。

实例


5.2 反馈移位寄存器

5.2.1 线性反馈移位寄存器(LFSR)

LFSR是许多密钥流生成器的核心部件,具有以下优点:

  • 适合硬件实现

  • 可产生大周期序列

  • 序列统计特性良好

  • 便于代数分析

定义:一个长度为 L 的LFSR由 L 个级(存储单元)和一个时钟构成。每个时间单位执行:

  1. 输出第0级的内容作为输出位。

  2. 各级内容向右移动一位。

  3. 计算反馈比特 sj=(c1s(j−1)+⋯+cLs(j−L))mod  2,存入最高级。

多项式表示:C(D)=1+c₁D+c₂D²+⋯+cLD^L∈Z₂D。若 cL=1,称为非奇异的。

递推公式

例5.2:LFSR(4, 1+D+D⁴) 的结构如图,初始状态为 0,1,1,0 时,输出序列周期为15。

5.2.2 m 序列

当LFSR的连接多项式是本原多项式时,输出序列达到最大周期 2^L−1,称为 m 序列(最大长度序列)。

m 序列的性质

  • 周期:2^L−1

  • 游程分布:在一个周期内,1的游程总数为 2L−2,0的游程总数也为 2L−2,长度为 r 的游程占 1/2r,满足Golomb条件2。

  • 自相关函数:满足Golomb条件3。

  • 线性复杂度:等于 L。

定理5.3(换行定理):mm 序列的异相自相关函数等于 −1/(2^L−1)。


5.3 基于LFSR的生成器

1) Geffe 生成器

使用3个LFSR,非线性组合方式为:

k=(s1∧s2)⊕((¬s1)∧s3)=(s1∧s2)⊕s1∧s2⊕s3

即:当 LFSR-1 输出1时,选择 LFSR-2;当 LFSR-1 输出0时,选择 LFSR-3。

参数:若三个LFSR长度分别为 n1,n2,n3,则线性复杂度为 (n1+1)*n3+n1n2,周期为各周期的最小公倍数(本原多项式次数互素时,周期为 ∏(2^ni−1))。

安全性:Geffe生成器不安全,因为LFSR-1和LFSR-3的状态信息会在输出中泄露。

2) Jennings 生成器

使用2个LFSR,LFSR-1控制选择器从LFSR-2中选取一位,再通过映射函数输出。密钥为两个LFSR的初始状态和映射函数。

3) J-K 触发器

使用2个LFSR,输出由J-K触发器的真值表决定:

递推公式:cn=((an+bn+1)⋅c(n−1)+an)mod  2

安全性问题:由 cn 和 c(n+1) 可反推 a(n+1) 或 b(n+1),不安全。

4) Pless 生成器

由8个LFSR组成4个J-K触发器,外加一个循环计数器控制输出。8个LFSR的级数互素,使得最终输出周期为各周期乘积。密钥包括8个LFSR的初始状态、J-K触发器的初始状态和输出顺序。


注:以上内容的理解和计算,如果有任何错误,希望各位读者和大佬指出改正,非常感谢!!!

相关推荐
笨鸟先飞,勤能补拙2 天前
从预测到决策:人工智能与机器学习的系统方法、工程闭环与现实边界
大数据·人工智能·windows·python·机器学习·密码学
艺杯羹2 天前
古典密码学攻防演进全景:从凯撒移位、频率分析到一次一密与恩尼格玛机破译
网络·人工智能·安全·网络安全·密码学·密码安全
吴声子夜歌3 天前
网络安全——密码学基础(二)
安全·web安全·密码学
2601_949950634 天前
在线练题更方便,用练题簿打造属于自己的移动题库
学习·考研·刷题·小程序推荐
Sagittarius_A*4 天前
公钥密码基础(一):从对称密码到公钥密码——密钥分发问题
信息安全·密码学·公钥密码·密钥分发
只说证事4 天前
电子商务专业考研还是考证更适合就业
考研
新中地GIS开发老师5 天前
27考研,要不要同时准备秋招呢?
考研
粉色大象6 天前
考研线代重难点:二阶实对称矩阵合同快速判定|2008数二第8题真题精讲
线性代数·考研·矩阵
只说证事6 天前
大数据专业考研还是考证比较好
大数据·考研
tobias.b7 天前
2009年考研数学一真题解析(二):第2题-选择题
考研