序列密码实现装置及其序列密码实现方法与流程

文档序号:12477494阅读:来源:国知局

技术特征:

1.一种序列密码实现装置,其特征在于:包含:序列源驱动模块、混淆扩散模块、密钥流序列输出模块;

所述序列源驱动模块,通过Galois结构的非线性反馈移位寄存器生成序列源,其中,非线性反馈移位寄存器包含k个移位寄存器,每运行一拍,k个移位寄存器的反馈端同时更新,每个反馈端与混淆扩散模块连接,k为大于1的整数;

所述混淆扩散模块,包含混淆单元、扩散单元,混淆单元包含S-变换,其中,S-变换为k比特输入k比特输出的非线性布尔函数,通过S-盒和P置换进行双层结构组合混淆;扩散单元包含k个线性函数;混淆单元、扩散单元的输入均来自非线性反馈移位寄存器不同位置的抽头输出,混淆单元的输出与扩散单元的输出进行异或运算后反馈至移位寄存器反馈端;

所述密钥流序列输出模块,将扩散单元的输出经过非线性运算后,形成密钥流序列,与序列源进行异或运算,形成密文。

2.根据权利要求1所述的序列密码实现装置,其特征在于:k为大于等于8的整数。

3.根据权利要求1所述的序列密码实现装置,其特征在于:k为8,S-盒为4个不同的4比特输入4比特输出的非线性布尔函数。

4.根据权利要求1所述的序列密码实现装置,其特征在于:非线性反馈移位寄存器各抽头之间的间距、及各抽头与对应反馈端的间距均不相同。

5.一种基于权利要求1所述的序列密码实现装置的序列密码实现方法,其特征在于:包含如下步骤:

步骤1、采用Galois结构的非线性反馈移位寄存器生成序列源,其中,非线性反馈移位寄存器总长度为n级,n级非线性反馈移位寄存器分成k个移位寄存器,形成k个反馈端,k个移位寄存器的长度分别为{i1,i2,...,ik-1,ik},且i1+i2+...+ik-1+ik=n,根据所述反馈端个数k,确定反馈端位置集合:{j1,j2,...,jk-1,jk},其中,jk=n-1,0≤j1<j2<…<jk-1≤n-2,2≤k≤n;

步骤2、初始化,移位寄存器装载密钥Key、初始化向量IV和常数参数,并进行m拍空转,m通过实验确定;

步骤3、混淆单元、扩散单元的输入来自非线性反馈移位寄存器不同位置的抽头输出,混淆单元的输出与扩散单元的输出进行异或运算后反馈至移位寄存器反馈端,混淆扩散,移位寄存器每运行一拍,k个反馈端同时更新,每个反馈端的反馈信号均来自混淆单元与扩散单元两者输出的异或运算,每拍输出1比特;步骤4、将扩散单元的输出经过非线性运算后,形成密钥流序列,将密钥流序列与序列源异或运算,得到密文。

6.根据权利要求5所述的序列密码实现方法,其特征在于:步骤2中,当密钥Key长度为128比特,将其重复扩展至长度为256比特,再进行密钥Key装载。

7.根据权利要求6所述的序列密码实现方法,其特征在于:非线性反馈移位寄存器总长度设定为625级,分成8个移位寄存器,8个移位寄存器对应的级数分别设定为:68、73、79、93和89、87、71、65,移位寄存器分别表示为:A1,A2,A3,A4和B1,B2,B3,B4,步骤2中,256比特密钥Key记为:k0,k1,...,k255,128比特初始化向量IV记为:iv0,iv1,...,iv127,8个移位寄存器装载密钥Key、初始化向量IV的方案如下:

当密钥Key长度为128比特时,空转m1拍,当密钥Key长度为256比特时,空转m2拍,m1<m2。

8.根据权利要求5所述的序列密码实现方法,其特征在于:非线性反馈移位寄存器各抽头之间的间距及各抽头与对应反馈端的间距均不相同。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1