密码学系列文(2)--流密码

一、流密码的基本概念

RC4(Rivest Cipher 4)是由密码学家 Ron Rivest(RSA 算法发明者之一)于 1987 年设计的对称流加密算法。它以简单、高效著称,曾广泛应用于网络安全协议(如 SSL/TLS、WEP/WPA),但因存在严重安全漏洞,现已逐渐被淘汰。

1.1 流密码概念

流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0,1数字),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流实现;

  • 流密码强度完全依赖于密钥序列的随机性和不可预测性;
  • 核心问题是密钥流生成器的设计
  • 保持收发两端密钥流的精确同步是实现可靠解密的关键技术;

流密码框图如下:KG指密钥流生成器

  • 消息流:,其中
  • 密文流:,其中
  • 密钥流:
  • 加法流密码:

密钥流:是一个完全随机的非周期序列,可以实现一次一密体制。但需要无限存储单元和复杂的输出逻辑函数。是第时刻密钥流生成器的内部状态,以存储单元的存数矢量描述。

1.2 有限状态自动机FA

具有离散输入和输出(输入集和输出集均有限)的一种数学模型

  • 有限状态集
  • 有限输入字符集
  • 有限输出字符集
  • 转移函数;,第时刻输入,输出;

例如2-1:

转移函数:

|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|
| | | | |
| | | | |
| | | | |
| | | | |

|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|
| | | | |
| | | | |
| | | | |
| | | | |

那么FA的状态图表示为:初始状态为

若输入为

那么输出为,状态转移为。

1.3 作为FA的密钥流产生器

  • 同步流密码的密钥流产生器可看为一个参数为的FA;
  • 输出集,状态集,状态转移函数和输出函数,初始状态
  • 设计的关键是和;
  • 具有非线性的的FA理论很不完善,通常采用线性以及非线性的
  • 可将此类产生器分为驱动部分和非线性组合部分
  • 驱动部分控制状态转移
  • 非线性组合部分提供统计特性良好的序列

两种目前最为流行和实用的密钥流产生器如图所示,其驱动部分是一个或多个线性反馈移位寄存器:

1.4 流密码的分类

1.4.1 同步流密码SSC

与明文消息无关,密钥流将独立于明文

同步流密码的特点

  • 对于明文而言,这类加密变换是无记忆的,但它是时变的;
  • 只有保持两端精确同步才能正常工作;
  • 对主动攻击时异常敏感而利于检测;
  • 无差错传播
1.4.2 自同步流密码SSSC

依赖于,使密文不仅与当前输入有关,而且由于对的关系而与以前的输入有关。一般在有限的级存储下将与有关。

优点:具有自同步能力,强化了其抗统计分析的能力;

缺点:有位长的差错传播;

如图所示:

1.5 序列的伪随机性

1.5.1 周期
  • 周期:序列,使对所有,成立的最小整数;
  • 长度为的串,在序列的一个周期中,

例如:长度为的1串和长度为的0串:...011...10...和...100...01...

1.5.2 自相关函数

上周期为的序列的自相关函数定义为:

当时,;当时,称为异相自相关函数。

1.5.3 Golomb随机性公设

Golomb对伪随机周期序列提出了应满足的如下三个随机性公设:

  • 在序列的一个周期内,0与1的个数相差至多为1;
  • 在序列的一个周期内,长为1的游程占游程总数的 ,长为2的游程占游程总数的 ,... ,长为的游程占游程总数的 , ,且在等长的游程中0的游程个数和1的游程个数相等;
  • 异自相关函数是一个常数;
1.5.4 密码系统随机性条件

一个伪随机序列应满足另外的三个条件:

  • 的周期相当大。
  • 的确定是计算上容易的。
  • 由密文及相应的明文的部分信息,不能确定整个。(不可预测性)

二、线性反馈移位寄存器序列

2.1 相关概念

  • 级数(Stages):存储单元数;
  • 状态(State):个存储单元的存数;
  • 反馈函数:是状态的函数;
  • 线性反馈移位寄存器(LFSR):为线性函数
  • 非线性反馈移位寄存器:为非线性函数

如图所示:n级反馈移位寄存器

2.2 线性反馈移位寄存器

如果移位寄存器的反馈函数是的线性函数,则称之为线性反馈移位寄存器LFSR,此时可写为;

那么输出序列满足,其中为非负正整数。

2.2.1 最长周期

在线性反馈移位寄存器中总是假定中至少由一个不为 0,

否则 ,这样的话,在 个脉冲后状态必然是 ,且这个状态必将一直持续下去。

因此线性移位器序列的最长周期为;

2.2.2 m序列
  • 为的LFSR序列称为序列
  • 级序列循环地遍历所有个非零状态,且任一非零输出皆为的移位,或为其循环等价序列;
  • 初始状态不同个的序列共有个,他们的全体记为,他们只是状态前后次序之别。

m序列满足Golomb的三个随机性公设

2.2.3 特征多项式

LFSR的特征多项式为:

三、非线性序列

相关推荐
HackTwoHub1 天前
DeepSeek Harness 红队破甲插件|适配 SRC 挖掘场景,区分平台拦截与模型原生输出,用于大模型安全边界合规测评研究
安全·web安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
梦帮科技1 天前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
梦帮科技2 天前
【3.0修订版】跨链中继与事件编排:Relayer 监听、多签验证与故障自愈
web安全·金融·区块链·密码学·智能合约·安全架构·信任链
黄金龙PLUS2 天前
如何基于置换算法来设计对称加密算法
算法·网络安全·密码学·哈希算法·同态加密
梦帮科技2 天前
【3.0修订版】音乐权利 NFT:MusicRightsNFT 的确权思想与授权关联
网络协议·算法·web3·区块链·密码学·智能合约·零知识证明
HackTwoHub4 天前
Clown SRC skill第二代2.x最新版企业安全研究 Skill|证据优先的 SRC 与白盒审计工作流正式更新
网络·安全·web安全·网络安全·系统安全·密码学·安全架构
黄金龙PLUS10 天前
5个1280比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
黄金龙PLUS13 天前
5个1024比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
甜到心里的蛋糕19 天前
加解密技术详解:纯前端如何实现 AES / SM4 / RSA / 国密 SM2
前端·密码学
m0_5474866620 天前
《应用密码学》全套PPT课件2026
密码学·应用密码学