前言
此文章的内容来自于书籍
《现代密码学(第4版)》
,只是简述原理,稍加变更并非原创。
一、三层
分为上中下三层。
- 上层是
16级线性反馈移位寄存器
- 中层是
比特重组
- 下层是非线性函数F
二、上层(16级线性反馈移位寄存器)
在初始化模式中,
LFSR
接收一个31
比特的字节u
,u
来自于下层非线性函数F
的32
比特输出W
通过舍弃了最低位
得到,即u=W>>1
。而工作模式没有输入。
三、中层(比特重组)
比特重组从
LFSR
的寄存器单元中抽取128
比特组成4个32
比特字X0、X1、X2、X3
,其中前3个字
用于下层的非线性函数F
,第4个字
参与密钥流
计算。
四、下层(非线性函数F)
非线性函数
F
有2个32
比特长的存储单元R1和R2
,其输入来自上一层比特重组的3个32
比特字X0、X1、X2
,输出为一个32
比特字W
。