CN103701591A - 一种序列密码实现方法和密钥流生成方法及装置 - Google Patents

一种序列密码实现方法和密钥流生成方法及装置 Download PDF

Info

Publication number
CN103701591A
CN103701591A CN201310717039.0A CN201310717039A CN103701591A CN 103701591 A CN103701591 A CN 103701591A CN 201310717039 A CN201310717039 A CN 201310717039A CN 103701591 A CN103701591 A CN 103701591A
Authority
CN
China
Prior art keywords
computing
fsr
output
key
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310717039.0A
Other languages
English (en)
Other versions
CN103701591B (zh
Inventor
冯秀涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Academy of Mathematics and Systems Science of CAS
Original Assignee
Academy of Mathematics and Systems Science of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Academy of Mathematics and Systems Science of CAS filed Critical Academy of Mathematics and Systems Science of CAS
Priority to CN201310717039.0A priority Critical patent/CN103701591B/zh
Publication of CN103701591A publication Critical patent/CN103701591A/zh
Application granted granted Critical
Publication of CN103701591B publication Critical patent/CN103701591B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种序列密码实现方法和密钥流生成方法及装置。其中序列密码的实现方法为:选定两个整数n和k,以及k个FSR、k个参考点,1个导出算子D,2个混合器g1和g2和1个二元算子⊕;将种子密钥SK和初始向量IV经过密钥扩展打入FSR的内部记忆单元作为初始状态,并对其执行r次状态更新运算,每次状态更新运算依次包括:导出运算、初始化模式的搅运算、吸运算和甩运算;然后对FSR的内部状态依次进行:工作模式的搅运算、吸运算和甩运算;对每个工作状态作用1次导出运算,输出一个n比特的密钥字。本发明具有高安全、低功耗、低成本和高效率等诸多优点,提出的密钥流生成方法可广泛应用于RFID等应用环境中。

Description

一种序列密码实现方法和密钥流生成方法及装置
技术领域
本发明主要应用于信息安全技术领域,具体涉及一种序列密码实现方法和一种生成密钥流的方法,以及相应的装置。
背景技术
序列密码是一种主流的密码体制之一。其因具有实现简单、效率高且硬件实现成本低等优点,主要被用在通信网络中保护通信数据的安全。
序列密码主要有两大类:同步序列密码和自同步序列密码。其中前者因内部状态的更新与输入明文数据无关,且其构建形式相对简单,理论比较成熟,在传输过程中不会因为明文传输错误而导致错误扩散,因而受到序列密码理论研究者的重点关注。
同步序列密码主要由伪随机发生器和加密器两部分组成。其中伪随机发生器在一个短的种子密钥的控制下生成长的伪随机密钥流,加密器将伪随机发生器产生的密钥流同明文数据相互作用产生对应的密码数据。加密器通常为异或操作。
传统构建同步序列密码的方法有组合生成器和过滤生成器等。其中组合生成器由若干线性反馈移位寄存器(LFSR)和一个非线性组合函数组成。非线性组合函数主要对LFSR的输出进行非线性组合生成伪随机密钥流。过滤生成器主要由一个LFSR和一个非线性过滤函数组成。其中前者主要用于产生周期长、统计特性好的伪随机序列源,后者对该序列源进行非线性加工以产生伪随机密钥流。这两类序列密码序列构建方法受到人们的广泛关注,由于其容易受到快速相关攻击和代数攻击,如今已经很少在序列密码算法的设计中使用。随后出现的钟控生成器,主要通过不规则采样使得源序列的代数性质变得面目全非,从而获得更好伪随机特性的密钥流。然而这类构建方法的安全性不易把握,其中大多基于此设计的序列密码算法均已被破解,例如GSM加密标准A5/1,欧洲NESSIE计划中的序列密码LILI-128等。
如何构建现代新型序列密码是序列密码研究领域中的一个热点和难点问题。目前广泛受关注的构建模型有Grain类模型和Trivium类模型,这两类新型模型构建简单,效率高,且安全性较高。
发明内容
本发明的目的在于提供一种快速、高效序列密码实现方法和一种生成密钥流的方法,以及相应的装置。
其中序列密码实现方法的具体方案如下:
本方法由k个反馈移位寄存器FSR、k个参考点、1个导出算子D、2个混合器g1和g2以及1个二元算子⊕实现,这里k是一个正整数,k≥2。
记第i个FSR的长度为li,反馈函数为fi,li个记忆单元为(ai,1,ai,2,...,ai,li),反馈单元为ai,1,这里每个记忆单元ai,j均由一个n比特的字构成,即ai,j∈F2 n,n是一个正整数,F2={0,1},1≤i≤k,1≤j≤li
记k个参考点为j1,j2,...,jk,其中ji指示第i个反馈移位寄存器的第ji个记忆单元ai,ji,该记忆单元ai,ji被称作参考记忆单元,这里1≤ji≤li,1≤i≤k。
导出算子D是一个定义在(F2 n)L到F2 n上的函数,这里L表示所有FSR的记忆单元的总数,即L=l1+l2+...+lk,其主要作用是根据序列密码的当前内部状态导出密钥字z。
混合器g1是一个定义在(F2 n)k+1到(F2 n)k上的函数,其输入为导出算子D的输出z和k个参考记忆单元ai,ji(1≤i≤k)的值,输出为k个n比特的字。
混合器g2是一个定义在(F2 n)k到(F2 n)k上的函数,其输入为k个参考记忆单元ai,ji(1≤i≤k)的值,输出为k个n比特的字。
二元算子⊕是一个定义在(F2 n)2到F2 n上的函数,其输入为第i个FSR的反馈输入和混合器g1或者g2的输出的第i个分量,输出为1个n比特的字,该字将作为第i个FSR的反馈单元ai,1的更新内容,1≤i≤k。
本方法主要对上述FSR中的记忆单元ai,j进行操作,包括以下运算:
导出运算:对FSR当前内部状态作用一次导出算子D。记输出为z,则z=D(a1,1,a1,2,...,a1,l1,...,ak,1,ak,2,...,ak,lk)。
搅运算:包含两种操作模式:初始化模式和工作模式。在初始化模式中,对导出算子D的输出z和k个参考记忆单元ai,ji(1≤i≤k)的值进行g1变换,输出k个n比特的字ti,即(t1,t2,...,tk)=g1(z,a1,j1,a2,j2,...,ak,jk);在工作模式中,直接对k个参考记忆单元ai,ji进行g2变换,得到k个n比特的字ti,这里1≤i≤k,即(t1,t2,...,tk)=g2(a1,j1,a2,j2,...,ak,jk)。
吸运算:对每个FSR均执行一次反馈计算,令wi=fi(ai,1,ai,2,...,ai,li),1≤i≤k。
甩运算:对每个FSR的记忆单元均执行一次移位更新,即(wi⊕ti,ai,1,ai,2,...,ai,li-1)→(ai,1,ai,2,...,ai,li),1≤i≤k。
具体来说,本发明的一种序列密码实现方法,其步骤为:
1)参数选择:选定两个整数n和k,以及k个长度分别为l1,l2,...,lk的FSR、k个参考点j1,j2,...,jk,1个导出算子D、2个混合器g1和g2、1个二元算子⊕;
2)初始化状态更新:将种子密钥SK和初始向量IV经过密钥扩展打入FSR的内部记忆单元作为初始状态,并对其执行r次状态更新运算,完成初始化状态更新,这里r为正整数。其中每次状态更新运算依次包括:导出运算、初始化模式的搅运算、吸运算和甩运算;
3)工作状态更新:初始化状态更新完成后,对FSR的内部状态依次进行:工作模式的搅运算、吸运算和甩运算;
4)密钥输出:对每个工作状态作用1次导出运算,输出一个n比特的密钥字。
同时,本发明提供一种用于实现上述方法的密码装置,其包括:
参数配置单元,主要用于确定所构建序列密码的相关参数,主要包括整数n和k,以及k个FSR、k个参考点、1个导出算子D、2个混合器g1和g2以及1个二元算子⊕。
控制单元,用于将种子密钥SK和初始向量IV装入到FSR的内部记忆单元作为初始状态,并执行r次状态更新运算,r为正整数,其中每次运算依次调用密钥导出单元、混合器单元、反馈更新单元;随后依次执行密钥导出单元、混合器单元和反馈更新单元,并输出密钥字。
其中:
密钥导出单元用于对FSR的当前内部状态执行导出算子D;
混合器单元,分两种模式:初始化模式和工作模式。在初始化模式下用于对密钥导出单元的输出z和k个参考记忆单元的内容执行混合器g1运算;在工作模式下用于对k个参考记忆单元的内容执行混合器g2运算;
反馈更新单元用于对FSR的记忆单元执行吸运算和甩运算。
本发明的生成密钥流的方法的具体方案如下:
本方法由k个FSR、k个参考点、1个混合器g和1个导出算子D实现,其中2≤k≤16,k为整数;每个FSR的反馈多项式都是本原多项式;k个参考点的位置相等,即j=j1=j2=...=jk;混合器g是一个k进k出的置换;导出算子D为k个FSR的内部状态的线性函数;该方法的步骤包括:
1)初始化状态更新:将种子密钥SK和初始向量IV装入k个FSR的记忆单元,并依次执行r次状态更新运算,r为正整数;每次状态更新运算依次执行导出运算、初始化模式的搅运算、吸运算和甩运算;
2)工作状态更新:依次执行工作模式的搅运算、吸运算和甩运算;
3)密钥输出:对每个工作状态作用1次导出算子D,输出一个n比特的密钥字。
上述生成密钥流的方法的具体步骤如下:
1)将种子密钥SK和初始向量IV通过某种方式打入到k个FSR的记忆单元中,并执行算法初始化步骤,具体包括:
1.a)导出运算:对FSR的当前状态执行1次导出算子D,输出1比特密钥z;
1.b)初始化模式的搅运算:对z和k个参考点内容执行1次g1变换,(t1,t2,...,tk)=g1(z,a1,j,a2,j,...,ak,j),这里g1(z,a1,j,a2,j,...,ak,j)=g(a1,j,a2,j,...,ak,j)⊕(z,z,...,z),⊕为异或运算;
1.c)吸运算:对每个FSR执行1次反馈计算,令wi=fi(ai,1,ai,2,...,ai,li),1≤i≤k;
1.d)甩运算:对每个FSR执行1次移位更新,即(wi⊕ti,ai,1,ai,2,...,ai,li-1)→(ai,1,ai,2,...,ai,li),1≤i≤k,这里⊕为异或运算。
2)重复执行1)中所述步骤1.a)、1.b)、1.c)和1.d)若干次,完成算法的初始化过程。
3)输出1比特的密钥,方法如下:
3.a)导出运算:对FSR的当前内部状态执行1次导出算子D,输出1比特密钥z;
3.b)工作模式的搅运算:对k个参考点的内容执行1次g2变换,即(t1,t2,...,tk)=g2(a1,j,a2,j,...,ak,j),这里g2=g;
3.c)吸运算:对每个FSR执行1次反馈计算,令wi=fi(ai,1,ai,2,...,ai,li),1≤i≤k;
3.d)甩运算:对每个FSR执行1次移位更新,(wi⊕ti,ai,1,ai,2,...,ai,li-1)→(ai,1,ai,2,...,ai,li),1≤i≤k,这里⊕为异或运算。
4)重复执行3)中所述步骤3.a)、3.b)、3.c)和3.d),输出所需长度的比特密钥流。
同时,本发明提供用于实现上述方法的密钥流生成装置,其包括:
密钥扩展单元,主要用于将种子密钥SK和初始向量IV装入到FSR的内部记忆单元作为初始状态;
控制单元,用于对FSR的初始状态执行r次状态更新运算,这里r为正整数,其中每次状态更新运算依次调用密钥导出单元、混合器单元、反馈更新单元;随后依次调用密钥导出单元、混合器单元和反馈更新单元,并输出密钥流;
其中:
密钥导出单元用于对FSR的当前内部状态执行导出算子D;
混合器单元,分两种模式:初始化模式和工作模式。在初始化模式下用于对密钥导出单元的输出z和k个参考记忆单元的内容执行混合器g1运算;在工作模式下用于对k个参考记忆单元的内容执行混合器g2运算。
反馈更新单元用于对FSR的记忆单元执行吸运算和甩运算。
本发明涉及的一种序列密码实现方法,其核心思想是模拟自然界的龙卷风现象,通过吸、搅、甩三个步骤达到序列密码内部状态信息比特快速扩散的目的。同现有技术中基于Grain类模型和Trivium类模型的序列密码实现方法相比,本发明涉及的一种序列密码实现方法同样具有简单和安全性高的特点,并且其内部状态信息比特扩散的效率比上述两种方法更加快速。本发明涉及的一种密钥流生成方法,为按照序列密码实现方法构建的一种具体实例,继承了其全部优点,是一种具有高安全、低功耗、低延迟、低成本和高效率等诸多优点的轻量级序列密码。
附图说明
图1为本发明的序列密码实现方法的流程图。
图2为本发明的生成密钥流的方法的流程图。
图3为本发明的序列密码实现方法的初始化过程示意图。
图4为本发明的序列密码实现方法的密钥流输出过程示意图。
具体实施方式
下面通过具体实施例和附图,对本发明做进一步说明。
本实施例的一种序列密码实现方法,其流程如图1所示,具体步骤如下:
1.选择两个整数n和k,这里n≥1和k≥2;k个定义在(F2)n上的长度分别为l1,l2,...,lk的FSR,这里li≥2,1≤i≤k;1个整数j,这里1≤j≤min{l1,l2,...,lk};1个线性导出算子D;1个从(F2)k到(F2)k的非线性置换g;二元算子⊕为面向比特的异或运算。
2.把种子密钥SK和初始向量IV通过某种方式装入到FSR的记忆单元ai,j中。
3.选定一个常数r,这里r≥1,执行下述步骤r次,完成序列密码的初始化过程,如图3所示:
2.1导出运算:对FSR当前内部状态作用一次密钥导出算子D,即z=D(a1,1,a1,2,...,a1,l1,...,ak,1,ak,2,...,ak,lk);
2.2初始化模式的搅运算:对密钥导出算子D的输出z和k个参考记忆单元ai,j(1≤i≤k)的值进行g1变换,得到k个n比特的字ti,这里1≤i≤k,即(t1,t2,...,tk)=g1(z,a1,j,a2,j,...,ak,j),这里g1(z,a1,j,a2,j,...,ak,j)=g(a1,j,a2,j,...,ak,j)⊕(z,z,...,z);
2.3吸运算:对每个FSR均执行一次反馈计算,令wi=fi(ai,1,ai,2,...,ai,li),1≤i≤k;
2.4甩运算:对每个FSR的记忆单元均执行一次移位更新,即(wi⊕ti,ai,1,ai,2,...,ai,li-1)→(ai,1,ai,2,...,ai,li),1≤i≤k。
4.设需要导出的密钥流的长度为N,这里N是一个正整数,N≥1。
5.对FSR当前内部状态作用一次导出算子D,导出密钥z=D(a1,1,a1,2,...,a1,l1,...,ak,1,ak,2,...,ak,lk)。
6.当N≥2,执行下述过程N-1次:
5.1工作模式的搅运算:对k个参考记忆单元ai,j(1≤i≤k)进行g2变换,得到k个n比特的字ti,即(t1,t2,...,tk)=g2(a1,j,a2,j,...,ak,j),这里g2=g;
5.2吸运算:对每个FSR均执行一次反馈计算,令wi=fi(ai,1,ai,2,...,ai,li),1≤i≤k;
5.3甩运算:对每个FSR的记忆单元均执行一次移位更新,即(wi⊕ti,ai,1,ai,2,...,ai,li-1)→(ai,1,ai,2,...,ai,li),1≤i≤k;
5.4导出运算:对FSR当前内部状态作用一次导出算子D,导出密钥z=D(a1,1,a1,2,...,a1,l1,...,ak,1,ak,2,...,ak,lk)。
本实施例的一种密钥流生成方法,其流程如图2所示,该方法由4个反馈移位寄存器、1个混合器g和1个导出算子D实现。其中4个反馈移位寄存器均定义在F2上,长度分别为37、41、53和61,反馈多项式为F2上的本原多项式,定义如下:
   f1=x37+x27+x23+x17+1
   f2=x41+x33+x28+x25+1
   f3=x53+x51+x36+x24+1
   f4=x61+x54+x40+x27+1
混合器g定义如表1所示:
表1.混合器g
x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
g(x) 10 9 15 2 13 14 3 4 5 12 8 1 0 7 6 11
记4个反馈移位寄存器的记忆单元取值分别为(a1,a2,...,a37),(b1,b2,...,b41),(c1,c2,....,c53)和(d1,d2,...,d61)。密钥导出算子D为上述记忆单元取值的线性函数,具体定义如下:
                              z=a33+b36+c42+d49
本密钥流生成方法的具体实施过程如下:
1.首先将80比特的种子密钥和80比特的初始向量依次打入反馈移位寄存器的记忆单元中,即:
       ai=ki,i=1,2,...,37;
       bi=ki+37,i=1,2,...,41;
       c1=k79,c2=k80,ci=vi-2,i=3,4,...,53;
       di=vi+51,i=1,2,...,29,di+29=CONTi,i=1,2,...,32,
其中ki(1≤i≤80)和vi(1≤i≤80)分别为80比特的种子密钥和80比特的初始向量,CONTi(1≤i≤32)为32比特串,其定义如下:
                    0000 0100 1011 0011 1110 0011 0111 0101
2.其次运行下列过程160次,完成初始化过程,如图3所示:
2-1执行1次密钥导出算子,即
         z=a33+b36+c42+d49;
2-2执行1次混合器g,即
         t1‖t2‖t3‖t4=g(a16‖b16‖c16‖d16);
2-3每个反馈移位寄存器执行1次反馈计算,即
         a=a17+a23+a27+a37;
         b=b25+b28+b33+b41;
         c=c24+c36+c51+c53;
         d=d27+d40+d54+d61;
2-4每个反馈移位寄存器执行1次移位更新,即
         (t1+a+z,a1,...,a36)→(a1,a2,...,a37);
         (t2+b+z,a1,...,a40)→(a1,a2,...,a41);
         (t3+c+z,c1,...,c52)→(c1,c2,...,c53);
         (t4+d+z,d1,...,d60)→(d1,d2,...,d61).
3.最后重复执行下述过程,产生所需长度的比特密钥流{z},如图4所示:
3-1执行1次密钥导出算子,输出1比特密钥字z,即
         z=a33+b36+c42+d49;
3-2执行1次混合器g,即
         t1‖t2‖t3‖t4=g(a16‖b16‖c16‖d16);
3-3每个反馈移位寄存器执行1次反馈计算,即
         a=a17+a23+a27+a37;
         b=b25+b28+b33+b41;
         c=c24+c36+c51+c53;
         d=d27+d40+d54+d61;
3-4每个反馈移位寄存器执行1次移位更新,即
         (t1+a,a1,...,a36)→(a1,a2,...,a37);
         (t2+b,a1,...,a40)→(a1,a2,...,a41);
         (t3+c,c1,...,c52)→(c1,c2,...,c53);
         (t4+d,d1,...,d60)→(d1,d2,...,d61).
注:上述步骤2和3中所使用的加法“+”为F2上的元素加法,即比特异或运算。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。

Claims (9)

1.一种序列密码实现方法,其步骤包括:
1)选定两个整数n和k,以及k个长度分别为l1,l2,...,lk的FSR、k个参考点j1,j2,...,jk,1个导出算子D、2个混合器g1和g2和1个二元算子⊕;
2)将种子密钥SK和初始向量IV经过密钥扩展打入FSR的内部记忆单元作为初始状态,并对其执行r次状态更新运算,r为正整数,其中每次状态更新运算依次包括:导出运算、初始化模式的搅运算、吸运算和甩运算;
3)对r次状态更新运算后FSR的内部状态依次进行:工作模式的搅运算、吸运算和甩运算;
4)对每个工作状态作用1次导出运算,输出一个n比特的密钥字。
2.如权利要求1所述的方法,其特征在于:所述整数n,k,l1,l2,...,lk和j1,j2,...,jk,满足n≥1,k≥2,li≥2,1≤ji≤li,i=1,2,...,k;所述k个FSR的每个记忆单元均包含n比特的信息,取值范围为F2 n={0,1}n;所述参考点ji指示第i个FSR中的第ji个记忆单元,i=1,2,...,k;所述导出算子D为(F2 n)L到F2 n上的映射,其中L=l1+l2+...+lk;所述混合器g1为(F2 n)k+1到(F2 n)k上的映射,固定第一个输入后,其退化成一个(F2 n)k到(F2 n)k上的置换;所述混合器g2为(F2 n)k到(F2 n)k上的置换;所述二元算子⊕为(F2 n)2到F2 n上的映射。
3.如权利要求1所述的方法,其特征在于:步骤2)的导出运算是对FSR当前内部状态作用1次导出算子D,输出1个n比特的字;初始化模式的搅运算是对导出运算的输出z和k个参考点的内容作用1次g1变换并输出k个n比特的字,其中g1输入的第1个分量为z,第2,3,...,k+1个分量依次为第j1,j2,...,jk个参考点的内容;吸运算是对第i个FSR执行1次反馈计算,输出1个n比特的字wi,1≤i≤k;甩运算是对初始化模式的搅运算输出的第i个分量和吸运算的第i个FSR的输出wi作用1次二元算子⊕,其输出作为第i个FSR的反馈单元的更新内容,并对第i个FSR的内部状态作1次移位更新。
4.如权利要求1所述的方法,其特征在于:步骤3)的工作模式的搅运算是对k个参考点的内容作用1次g2变换并输出k个n比特的字,其中g2输入的第i个分量为第ji个参考点的内容;吸运算是对第i个FSR执行1次反馈计算,输出1个n比特的字wi,1≤i≤k;甩运算是对工作模式的搅运算输出的第i个分量和吸运算的第i个FSR的输出wi作用1次二元算子⊕,其输出作为第i个FSR的反馈单元的更新内容,并对第i个FSR的内部状态作用1次移位更新运算。
5.一种实现权利要求1所述方法的密码装置,其特征在于,包括:
参数配置单元,用于确定相关参数,包括整数n和k,以及k个FSR、k个参考点、1个导出算子D、2个混合器g1和g2和1个二元算子⊕;
控制单元,用于将种子密钥SK和初始向量IV装入到FSR的内部记忆单元作为初始状态,并运行r次状态更新运算,r为正整数,其中每次状态更新运算依次调用密钥导出单元、混合器单元、反馈更新单元;r轮运算后,依次执行密钥导出单元、混合器单元和反馈更新单元,并输出密钥字;所述控制单元中:
所述密钥导出单元用于对FSR的当前内部状态执行导出算子D;
所述混合器单元分两种模式:初始化模式和工作模式;在初始化模式下用于对密钥导出单元的输出z和k个参考记忆单元的内容执行g1运算,在工作模式下用于对k个参考记忆单元的内容执行g2运算;
所述反馈更新单元用于对FSR的记忆单元执行吸运算和甩运算。
6.一种密钥流生成方法,由k个FSR、k个参考点、1个混合器g和1个导出算子D实现,其中2≤k≤16,k为整数;每个FSR的反馈多项式都是本原多项式;k个参考点的位置相等,即j=j1=j2=...=jk,且分别来自于不同的FSR;混合器g是一个k进k出的置换;导出算子D为k个FSR的内部状态的线性函数;该方法的步骤包括:
1)将种子密钥SK和初始向量IV装入k个FSR的记忆单元,并依次执行r次状态更新运算,r为正整数;每次状态更新运算依次执行导出运算、初始化模式的搅运算、吸运算和甩运算;
2)依次执行工作模式的搅运算、吸运算和甩运算;
3)对每个工作状态作用1次导出算子D,输出一个n比特的密钥字。
7.如权利要求6所述的方法,其特征在于:步骤1)的导出运算是对FSR的内部状态作用1次导出算子D,输出密钥字z;初始化模式的搅运算是对k个参考点的内容作用1次g变换后的每个输出分量均与z进行异或运算后的结果作为初始化模式的搅运算的输出;吸运算是对第i个FSR执行1次反馈计算并输出wi,1≤i≤k;甩运算是将初始化模式的搅运算输出的第i个分量和吸运算的第i个FSR的输出wi异或后的结果作为第i个FSR的反馈单元的更新内容,并对第i个FSR的内部状态作1次移位更新。
8.如权利要求6所述的方法,其特征在于:步骤2)的工作模式的搅运算是对k个参考点的内容作用1次g变换并输出k个字;吸运算是对第i个FSR执行1次反馈计算并输出wi,1≤i≤k;甩运算是将工作模式的搅运算输出的第i个分量和吸运算的第i个FSR的输出wi异或后的结果作为第i个FSR的反馈单元的更新内容,并对第i个FSR的内部状态作1次移位更新。
9.一种实现权利要求6所述方法的密钥流生成装置,其特征在于,包括:
密钥扩展单元,用于将种子密钥SK和初始向量IV装入到FSR的内部记忆单元中作为初始状态;
控制单元,用于对FSR的初始状态执行r次状态更新运算,r为正整数,其中每次状态更新运算依次调用导出单元、混合器单元、反馈更新单元;随后依次调用导出单元、混合器单元和反馈更新单元,并输出密钥字;
所述密钥导出单元用于对FSR的当前内部状态执行导出算子D;
所述混合器单元分两种模式:初始化模式和工作模式,在初始化模式下用于将密钥导出单元的输出z同k个参考点的内容作用1次g变换后输出的每个分量均进行1次异或运算后的结果作为混合器单元的输出;在工作模式下用于对k个参考点的内容作用1次g变换,其结果直接作为混合器单元的输出;
所述反馈更新单元用于对FSR的记忆单元执行吸运算和甩运算。
CN201310717039.0A 2013-12-23 2013-12-23 一种序列密码实现方法和密钥流生成方法及装置 Expired - Fee Related CN103701591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310717039.0A CN103701591B (zh) 2013-12-23 2013-12-23 一种序列密码实现方法和密钥流生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310717039.0A CN103701591B (zh) 2013-12-23 2013-12-23 一种序列密码实现方法和密钥流生成方法及装置

Publications (2)

Publication Number Publication Date
CN103701591A true CN103701591A (zh) 2014-04-02
CN103701591B CN103701591B (zh) 2016-08-31

Family

ID=50362997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310717039.0A Expired - Fee Related CN103701591B (zh) 2013-12-23 2013-12-23 一种序列密码实现方法和密钥流生成方法及装置

Country Status (1)

Country Link
CN (1) CN103701591B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202156A (zh) * 2014-09-15 2014-12-10 浪潮电子信息产业股份有限公司 一种Trivium算法密钥序列生成器的设计方法
CN105049199A (zh) * 2015-08-07 2015-11-11 浪潮电子信息产业股份有限公司 一种密钥序列的获取方法和系统以及fpga
CN106685639A (zh) * 2016-12-15 2017-05-17 西安交通大学 5g通信系统中基于人工加噪的序列密码加密安全传输方法
CN112636911A (zh) * 2021-01-05 2021-04-09 杜瑞峰 一种非联网设备接龙取值变函数序列密码生成方式

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1232603A2 (en) * 1999-11-23 2002-08-21 General Instrument Corporation Methods and apparatus for keystream generation
CN101841415A (zh) * 2009-12-29 2010-09-22 中国科学院软件研究所 一种面向字的密钥流生成方法及加密方法
CN101923802A (zh) * 2009-06-12 2010-12-22 中国科学院数据与通信保护研究教育中心 一种序列密码实现方法和装置
CN101958790A (zh) * 2010-10-09 2011-01-26 中国人民解放军信息工程大学 无线通信网络数字信息加密或解密方法
CN103260156A (zh) * 2012-02-15 2013-08-21 中国移动通信集团公司 密钥流生成装置及方法、机密性保护装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1232603A2 (en) * 1999-11-23 2002-08-21 General Instrument Corporation Methods and apparatus for keystream generation
CN101923802A (zh) * 2009-06-12 2010-12-22 中国科学院数据与通信保护研究教育中心 一种序列密码实现方法和装置
CN101841415A (zh) * 2009-12-29 2010-09-22 中国科学院软件研究所 一种面向字的密钥流生成方法及加密方法
CN101958790A (zh) * 2010-10-09 2011-01-26 中国人民解放军信息工程大学 无线通信网络数字信息加密或解密方法
CN103260156A (zh) * 2012-02-15 2013-08-21 中国移动通信集团公司 密钥流生成装置及方法、机密性保护装置及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202156A (zh) * 2014-09-15 2014-12-10 浪潮电子信息产业股份有限公司 一种Trivium算法密钥序列生成器的设计方法
CN105049199A (zh) * 2015-08-07 2015-11-11 浪潮电子信息产业股份有限公司 一种密钥序列的获取方法和系统以及fpga
CN106685639A (zh) * 2016-12-15 2017-05-17 西安交通大学 5g通信系统中基于人工加噪的序列密码加密安全传输方法
CN106685639B (zh) * 2016-12-15 2019-12-24 西安交通大学 5g通信系统中基于人工加噪的序列密码加密安全传输方法
CN112636911A (zh) * 2021-01-05 2021-04-09 杜瑞峰 一种非联网设备接龙取值变函数序列密码生成方式

Also Published As

Publication number Publication date
CN103701591B (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
CN104468089B (zh) 数据保护装置及其方法
Avaroğlu et al. Hybrid pseudo-random number generator for cryptographic systems
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
RU2390949C2 (ru) Структура поточного шифра с циклическим перемещением буферов
CN107017981A (zh) 硬件辅助快速伪随机数生成
Kanso Self-shrinking chaotic stream ciphers
CA2864227C (en) Lightweight stream cipher cryptosystems
CN112398639B (zh) 一种Fountain轻量级加密算法的实现装置、方法及应用
CN101364171B (zh) 动态真随机数发生器
Weerasinghe An effective RC4 stream cipher
CN103701591A (zh) 一种序列密码实现方法和密钥流生成方法及装置
Courtois et al. Combined algebraic and truncated differential cryptanalysis on reduced-round simon
Camtepe et al. Compcrypt–lightweight ans-based compression and encryption
CN101772915A (zh) 使用有限域运算的密码随机数生成器
Dai et al. Novel discrete chaotic system via fractal transformation and its DSP implementation
Merah et al. Real-time implementation of a chaos based cryptosystem on low-cost hardware
Luo et al. Cryptanalysis of a chaotic block cryptographic system against template attacks
US8145691B2 (en) Techniques for random bit generation
Abdulraheem et al. Secure iot model based on present lightweight modified and chaotic key generator
Fang et al. Neural-mechanism-driven image block encryption algorithm incorporating a hyperchaotic system and cloud model
CN102662483A (zh) 一种对云计算业务智能终端用户信息安全输入的方法
Lustro et al. Performance analysis of enhanced SPECK algorithm
CN102135871B (zh) 利用混沌原理产生随机数的装置及其动态口令牌
CN115426111A (zh) 一种数据加密方法、装置、电子设备及存储介质
Orhanou et al. Analytical evaluation of the stream cipher ZUC

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160831

Termination date: 20191223

CF01 Termination of patent right due to non-payment of annual fee