CN101355423B - 流密码生成方法 - Google Patents

流密码生成方法 Download PDF

Info

Publication number
CN101355423B
CN101355423B CN2008103044561A CN200810304456A CN101355423B CN 101355423 B CN101355423 B CN 101355423B CN 2008103044561 A CN2008103044561 A CN 2008103044561A CN 200810304456 A CN200810304456 A CN 200810304456A CN 101355423 B CN101355423 B CN 101355423B
Authority
CN
China
Prior art keywords
lfsr
bits
conversion
input
output
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.)
Expired - Fee Related
Application number
CN2008103044561A
Other languages
English (en)
Other versions
CN101355423A (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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN2008103044561A priority Critical patent/CN101355423B/zh
Publication of CN101355423A publication Critical patent/CN101355423A/zh
Application granted granted Critical
Publication of CN101355423B publication Critical patent/CN101355423B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及数字安全认证技术,提供一种适合实际高速数字内容安全传输应用的流密码生成方法,包括生成步骤、混淆步骤、输出步骤,混淆步骤采用2个4进4出的S盒子进行,混淆步骤具体为:a、将混淆步骤的输入结果与反馈回的变换R进行线性压缩,得到变换结果RA;b、对变换结果RA进行非可逆线性变换,得到变换结果I;c、将变换结果I以4bit为一组输入S盒子,对于输入的4bit数组以2bit对应S盒子行,另2bit对应S盒子列,查找输入数组对应的4bit输出,得到变换结果R,并反馈回步骤a;d、将变换结果R通过两次查表运算,得到变换结果S,将变换结果S作为输出步骤的输入。本发明具有良好随机性,适合硬件实现。

Description

流密码生成方法
技术领域
本发明涉及数字安全认证技术。
背景技术
流密码属于对称密码体系的一种。由于它实现简单,加密速度快,以及没有或只有有限的错误传播,使流密码在实际应用中,特别是在专用和机密机构中仍保持着优势。它的主要原理是:通过有限个状态数产生性能优良的伪随机序列,使用该序列对明文数据流进行加密(逐比特加密)得到密文数据流,流密码算法的好坏主要取决于最终输出的密钥流序列的随机性能以及此序列的周期大小。
随着数字化技术、网络技术、计算机技术、多媒体技术、存储技术的发展,对数字内容的复制、修改、传播变得非常容易。现实中的各种信息(语音,图像,文本,报文等)都可以经过量化编码等技术转化成二进制数字序列,因此数字内容安全传输实现的过程中可以二进制的方式进行读写和运算。在使用流密码算法实现安全传输时,由于明文序列与密钥流序列逐比特加/解密,为了达到良好的安全性,密钥流序列一定要具有与明文序列相当的长度。但这样的密钥流序列难于分配和管理,因此,流密码系统设计的主要任务就是研究如何用一个或几个较短的密钥输入生成一个足够长的安全的密钥流序列。实际上的密钥流序列都是由密钥空间中较短的密钥经过某些具有特殊性质的变换形成的,如一些典型的非线性置换S盒子等。如国外的HDCP(宽带数字内容保护)系统,用于保护HDMI和DVI接口传输的数字内容,其中使用的加密技术为流密码加密技术。用于HDCP保护的流密码生成机制包含生成步骤、混淆步骤、输出步骤,生成步骤对初始化向量进行初步置乱,混淆步骤对初步置乱后的输出结果做进一步的非可逆性变换,输出步骤对混淆处理的结果进行重新组合再输出。
发明内容
本发明所要解决的技术问题是,提供一种适合实际高速数字内容安全传输应用的流密码生成方法。
本发明为解决上述技术问题所采用的技术方案是,流密码生成方法,包括以下步骤:
(1)生成步骤:生成256比特的初始化向量IV,选择其中128比特作为三个线性移位寄存器LFSR α、LFSR β、LFSR γ的初始化密钥输入,其余128比特的初始化向量IV分为16段IV0、…、IV15,每段分6次输入到三个变换L、K、N中:
第k次输入,k=0,1,2,3,4,5:
IV3k+2输入到变换L中;
IV3k+1输入到变换K中;
IV3k输入到变换N中;
初始化向量IV输入完成后,三个线性移位寄存器LFSR α、LFSR β、LFSR γ进行封闭循环,封闭循环后三个线性移位寄存器LFSR α、LFSR β、LFSR γ共输出130比特的变换结果V,将变换结果V作为选择步骤的输入结果;
其中,三个线性移位寄存器LFSR α、LFSR β、LFSR γ对应的生成多项式如下:
Figure GDA0000032503860000021
其中,LFSR α以字节为单位构成,每一个移位寄存器有8位,一共有64位,LFSR β和LFSR γ以比特为单位构成,LFSR β共有35位,LFSR γ共有31位;线性移位寄存器LFSR α对应变换L,LFSR β对应变换K,LFSR γ对应变换N;
线性反馈移位寄存器LFSR α在每次脉冲时为左端贡献8位比特输入,同时右移8位,LFSRα的左端输入由变换L提供,变换L的输出为:
初始化内部状态时:
初始化阶段的封闭运行时:
其它阶段:l>>>3
其中,T0、T1、T2是密钥流输出变换T的32比特输出中的低24比特,IV是初始化向量,l为变换L的输入;
线性反馈移位寄存器LFSR β在每次脉冲时为左端贡献1位输入,同时右移1位;在此之后,LFSRβ左端的8位比特由变换K更新为:
初始化内部状态时:
Figure GDA0000032503860000024
其它阶段:β34β33β32β31β30β29β28β27
其中,βi代表LFSR β中的第i位;
线性反馈移位寄存器LFSR γ在每次脉冲时为左端贡献1位输入,同时右移1位;在此之后,LFSR γ左端的8位比特由变换N更新为:
初始化内部状态时:
Figure GDA0000032503860000031
其它阶段:γ30γ29γ28γ27γ26γ25γ24γ23
其中,γi代表LFSR γ中的第i位;
(2)选择步骤:采用列表D、E、F的方式,从LFSR α、LFSR β、LFSR γ中分别抽取32比特、24比特、16比特的数据并输出作为混淆步骤的输入结果;列表F输出的16比特还作为输出步骤的输入;
(3)混淆步骤:包括变换R和变换S
a)变换R
将选择步骤的输入结果与反馈回的上一轮变换R的输出结果进行线性压缩,得到共24比特的结果,字节格式记为RA2,RA1,RA0,并统称为变换结果RA;如无反馈回的变换R输出结果,则默认反馈回的变换R输出结果为0;
对变换结果RA进行非可逆线性变换,将RA分成两组,每组12比特,分别输入两个变换矩阵I0、I1,经过两个变换矩阵输出变换结果R1、R2;
同时RA2分为高4比特与低4比特后,输入2个四进四出的S盒子,对于输入的4比特数组,以2比特对应S盒子的行,另2比特对应S盒子的列,查找输入数组对应的4比特输出,得到变换结果R0;所述两个四进四出的S盒子分别为S1盒子、S2盒子,S1盒子如下:
  0x5   0x3   0xb   0xe
  0x9   0xa   0x0   0xd
  0x6   0x8   0x1   0x4
  0xc   0x7   0xf   0x2
S2盒子如下:
  0x0   0xd   0xf   0xa
  0x9   0x7   0x4   0x1
  0xc   0xb   0x6   0x5
  0x3   0xe   0x8   0x2
变换结果R2、R1、R0组成24比特的变换R输出结果,将变换R输出结果作为下一轮混淆步骤的输入以及输出步骤的输入;
b)变换S
将列表E输出的24比特通过两次查表运算,得到16比特的变换结果S,将变换结果S作为输出步骤的输入;
(4)输出步骤:将列表F输出的16比特、变换R输出结果与变换结果S进行变换后得到系统输出的32比特密钥流输出变换T,将密钥流输出变换T中低24比特反馈回下一轮的生成步骤作为变换L的一部分输入。
本发明的有益效果是,具有良好随机性,并适合硬件实现。
附图说明
图1为LFSR α结构图;
图2为LFSR β结构图;
图3为LFSR γ结构图;
图4为变换R中变换RB的变换流程;
图5为实施例流密码生成流程图。
具体实施方式
主要分为两个部分描述本实施例:流密码生成方法以及输出密钥流的随机性检测。
(一)流密码生成方法:
流密码生成器主要由以下4个模块构成:
(1)生成模块:密码生成器的驱动部分;
(2)选择模块:给出了三个选择函数D、E、F;
(3)混淆模块,这个模块是流密码生成器的最主要部分,对密钥流进一步的混淆;
(4)输出模块,经过一系列组合变换输出最后的32bit密钥流;
依次介绍流密码生成器的4个模块与流密码生成流程,如图5所示:
(1)生成模块执行生成步骤,此模块是流密码生成器的驱动部分,一共有3个线性移位寄存器LFSR(LFSR α、LFSR β、LFSR γ)以及相应的三个数学变换(L,K,N),3个线性移位寄存器LFSR对应的生成多项式如下表:
Figure GDA0000032503860000041
3个LFSR各自对应的生成多项式,其中LFSR α以字节为单位构成,每一个移位寄存器有8位,一共有64位。LFSR β和LFSR γ以比特为单位构成,LFSR β共有35位,LFSR γ共有31位。流密码生成器在具体使用中需要256bit的初始化向量IV输入。随机选择其中的128bit作为线性反馈移位寄存器(LFSR α、LFSR β、LFSR γ)的初始化密钥输入,其中LFSR β的最高两位输入0,其余的128bit作为初始化向量IV分为16段IV0…IV15,每段8bit分6步循环输入到三个变化L、K、N中:
第k次输入(k=0,1,2,3,4,5):
●IV3k+2输入到变换L中去;
●IV3k+1输入到变换K中去;
●IV3k输入到变换N中去;
当k=5时,L和K没有IV输入,最后8比特的IV仅输入到变换N中去。初始化完成后,为了使系统的状态充分混合,系统在无任何输入和输出的情况下封闭循环34步。在封闭循环之后,系统在下一个周期进入密钥流输出阶段。
下面分别给出变换L、K、N的过程:
a)变换L:
如图1所示,线性反馈移位寄存器LFSR α在每次脉冲时为左端贡献8位(比特)输入,同时右移8位,LFSRα的左端输入由变换L提供,变换L的输出为:
●在初始化内部状态时:
Figure GDA0000032503860000052
●在初始化阶段的封闭运行时:
Figure GDA0000032503860000053
●其它阶段:l>>>3
其中,T0、T1、T2是变换T的32比特输出中的低24比特,IV是初始化向量。
b)变换K
如图2所示,线性反馈移位寄存器LFSR β在每次脉冲时为左端贡献1位输入,同时右移1位;在此之后,LFSRβ左端的8个比特由变换K更新为:
●在初始化内部状态时:
Figure GDA0000032503860000054
●其它阶段不变:β34β33β32β31β30β29β28β27
其中,βi代表LFSR β中的第i位。
c)变换N
线性反馈移位寄存器LFSR γ在每次脉冲时为左端贡献1位输入,同时右移1位;在此之后,LFSR γ左端的8个比特更新为:
●在初始化内部状态时:
Figure GDA0000032503860000061
●其它阶段不变:γ30γ29γ28γ27γ26γ25γ24γ23
其中,γi代表LFSR γ中的第i位。
变换K和变换N,只在初始化阶段存在,输出密钥流时不存在。
经过变换L、K、N后从LFSR α、LFSRβ、LFSR γ中的数据共130bit,作为生成步骤的变换结果V,输入至选择模块。
(2)选择模块执行选择步骤:
在初始化完成(6步的IV输入,34步的封闭循环)后,分别根据列表D,E,F从LFSRα、LFSR β、LFSR γ中分别抽取32比特、24比特、16比特的数据。列表D从LFSR α中抽取的4字节(32比特)记为:D3D2D1D0,如下表:
Figure GDA0000032503860000062
列表E从LFSR β中抽取的24比特记为:E5E4E3E2E1E0,如下表:
Figure GDA0000032503860000063
列表F从LFSR γ中抽取的16比特记为:F1F0,如下表:
(3)混淆模块执行混淆步骤,这个模块是流密码生成器的最主要部分,利用了两个变换R和S,其中用了四进四出的S盒子、非线性变换等,对密钥流进一步的混淆。下面分别介绍变换R和S:
a)变换R
变换R分为两个主要模块,第一个模块RA和第二个模块RB,主要运算如下:
第一个模块RA,主要功能是把来自列表D(32比特),E(24比特)和F(16比特)以及变换R的24比特输出(第一次进行此变换时,当变换R没有输出的情况下,默认R的输出为0)共96比特,线性压缩变换为适于变换RB的24比特输入,字节格式记为RA0,RA1,RA2(RA0,RA1,RA2统称为变化结果RA),规则如下:
●i=0,1,…,7时,
●i=8,9,…,15时,
Figure GDA0000032503860000072
●i=16,17,…,23时,
变换R的第二个模块RB,主要功能是对变换结果RA得到的24比特进一步置乱、混淆,提高密钥流生成器的非线性复杂度。RB变换流程如图4,RA0,RA1,RA2同时输入非可逆线性变换I中,非可逆线性变换I中包含两个变换矩阵:I0和I1,经过这两个变换矩阵后输出后,赋值于变换结果R1、R2;同时RA2分为高4bit与低4bit后,进入2个四进四出的S盒子,将S盒子的输出赋值于变换结果R0;变换结果R0、R1、R2组成变换结果R作为输出模块的输入,与第一模块RA的下一次输入。
变换矩阵I0和I1如下表所示:
Figure GDA0000032503860000074
输入I的24比特分成两个12比特,分别记为i0和i1,如下:
i0=ra0 ra15 ra7 ra2 ra22 ra19 ra13 ra5 ra17 ra23 ra11 ra9
i1=ra20 ra3 ra14 ra21 ra4 ra18 ra6 ra1 ra16 ra8 ra12 ra10
经过I后得到输出RB0=i0×I0和RB1=i1×I1。
RB变换中的S盒变换S1、S2分别是两个4进4出的盒子,如下表所示,其中左表为S1盒子,右表为S2盒子:
Figure GDA0000032503860000081
具体的查盒子方法如下:
将S盒看作4×4的二维数组,对于输入的4bit,从左向右的顺序,前面的2bit对应数组的行,后面的2bit对应数组的列,此时查找到的元素即为相应的4bit输出。
以盒子S1为例,输入1001,那么查找2行1列的元素,得到相应的输出0x8,即:1000。存储的2维数组的行数与列数都是从0开始的。
经过上述变换,最后输出24比特的变换结果R:R2R1R0。
b)压缩变换S
变换S把列表E的24比特输入变换为16比特输出:变换S使用两个查表运算(表A,表B),高位16比特经过一个查表A输出8比特成为变换S最终输出的高8位;低8位比特在另外两比特(变换S输入的高位2比特,e23e22)的控制下,输出8比特,成为变换S最终输出的低8位。
表A如下:
Figure GDA0000032503860000082
表B如下:
变换S对E5,E4,E3,E2查表A进行运算,运算结果记为S7,S6,S5,S4共8比特放
Figure GDA0000032503860000091
在变换S最终输出结果的高8位。
变化S对E1,E0依据e23e22查表B进行运算,运算结果记为S3,S2,S1,S0共8比特放在变化S最终输出结果的低8位。
最终得到变换结果S:S7S6S5S4S3S2S1S0,共16比特。
(4)输出模块执行组合输出步骤:
密钥流输出变换T分为两个阶段,如下表所示,其中R2、R1、R0表示变换结果R2、R1、R0,S表示变换结果S,F表示列表F从LFSR γ中抽取的16比特:
Figure GDA0000032503860000092
第一阶段,即流密码的初始化阶段,变换T的32比特输出中的24比特作为变换L的一部分输入;
第二阶段,即流密码的密钥流生成阶段,变换T的输出(32比特)就是该系统输出的密钥流t31…t0
(二)密钥流的随机性检测
针对流密码生成器最后输出的密钥流所作的随机性检测,主要是针对实际应用比较关注的一些指标进行统计检测,具体的检测指标如下:
a、频数检验(F-检验)
在序列截断zn中“0”、“1”的个数分别记为n0、n1。检验统计量:
χ Z 2 ( 1 ) = ( n 0 - n 1 ) 2 n
通过准则:在0.05的显著性水平下,当
Figure GDA0000032503860000102
时,则zn通过频数检验。
b、序偶检验(S-检验)
对n比特序列截段zn,nij表示n比特样本序列zn中相邻呈现(i,j)型序偶的次数。检验统计量:((i,j)型序偶即是(0,0),(0,1),(1,0),(1,1))
χ Z 2 ( 2 ) = 4 n - 1 Σ ( i , j ) = ( 0,0 ) ( 1,1 ) n i , j 2 - 2 n Σ n i 2 + 1
通过准则:在0.05的显著性水平下,当时,则zn通过序偶检验。
c、扑克检验(P-检验)
将n比特样本序列zn划分为长m的分组,每一个分组对应着集合{0,1,……,2m-1}中的一个元素。fi为“i”在m长分组序列中出现的频次。则
Figure GDA0000032503860000105
这里为不大于
Figure GDA0000032503860000107
的最大整数。检验统计量:
χ Z 2 ( 2 m - 1 ) = 2 m F Σ i = 0 2 m - 1 f i 2 - F
通过准则:在0.05的显著性水平下:
取m=4,则当
Figure GDA0000032503860000109
时,zn通过扑克检验;
取m=8,则当
Figure GDA00000325038600001010
时,zn通过扑克检验。
d、自相关检验(A-检验)
对于n比特长序列截段zn,作变换i=0,1,2,……,n-τ,0<τ≤n-1。对序列un-τ作频数检验,若un-τ通过频数检验,则zn通过自相关检验。
在检验中我们取τ=1,2,8,16,32,64,128.
e、游程检验(R-检验)
(1)游程总数检验
设序列zn的长度为n比特,R为序列中游程的总数。检验统计量:
U = R - n 2 n 4
通过准则:在0.05的显著性水平下,当|U|<1.96时,则zn通过游程总数检验。
(2)游程总体分布检验
设序列zn的长度为n比特,R为序列中游程的总数。r为不小于[log2n]的某一个整数,通常取r=[log2n]。ni表示i长游程的个数,i=1,2,……,r-1。nr表示游程长度不小于r的游程个数。令
Figure GDA0000032503860000111
i=1,2,……,r-1。取
Figure GDA0000032503860000112
检验统计量:
χ Z 2 ( r - 1 ) = Σ i = 1 r ( n i - R · P i ) 2 R · P i
通过准则:在0.05的显著性水平下:
取r=14,则当
Figure GDA0000032503860000114
时,zn通过游程总体分布检验;
取r=20,则当
Figure GDA0000032503860000115
时,zn通过游程总体分布检验;
取r=26,则当
Figure GDA0000032503860000116
时,zn通过游程总体分布检验。
对实际应用,有如下的规定:随机截取检测所需大小的密钥流,针对每一种检测指标,每1000K大小的密钥流作为一组输入,检测6组这样的随机输入,最后计算失败的百分比,失败率在5%以下认为非常好;5%---10%之间认为通过;10%以上认为失败。
本实施例的密钥流随机性检测结果见下表:
Figure GDA0000032503860000117
Figure GDA0000032503860000121
可以计算密钥流检测结果平均失败率为4.7335%表明本流密码产生方法具备非常好的特性。

Claims (1)

1.流密码生成方法,其特征在于,包括以下步骤:
(1)生成步骤:生成256比特的初始化向量IV,选择其中128比特作为三个线性反馈移位寄存器LFSRα、LFSRβ、LFSRγ的初始化密钥输入,其余128比特的初始化向量IV分为16段IV0、…、IV15,分6次输入到三个变换L、K、N中:
第k次输入,k=0,1,2,3,4,5:
IV3k+2输入到变换L中;
IV3k+1输入到变换K中;
IV3k输入到变换N中;
初始化向量IV输入完成后,三个线性反馈移位寄存器LFSRα、LFSRβ、LFSRγ进行34步的封闭循环,封闭循环后三个线性移位寄存器LFSRα、LFSRβ、LFSRγ共输出130比特的变换结果V,将变换结果V作为选择步骤的输入结果;
其中,三个线性反馈移位寄存器LFSRα、LFSRβ、LFSRγ对应的生成多项式如下:
LFSRα:f(x)=x8+x6+x5+x+1
LFSRβ:f(x)=x35+x34+x31+x24+x22+x21+x20+x19+x16+x15+x13+x12+x11+x8+x5+x4+x3+x2+1
LFSRγ:f(x)=x31+x30+x27+x26+x24+x21+x15+x12+x11+x10+x9+x8+x7+x2+1
其中,LFSRα以字节为单位构成,一共有64比特,LFSRβ和LFSRγ以比特为单位构成,LFSRβ共有35比特,LFSRγ共有31比特;线性反馈移位寄存器LFSRα对应变换L,LFSRβ对应变换K,LFSRγ对应变换N;
线性反馈移位寄存器LFSRα在每次脉冲时为变换L的左端贡献8比特输入, 同时右移8比特,LFSRα的左端输入由变换L提供,变换L的输出为:
初始化内部状态时:
Figure FDA0000054641470000021
k=0,...,5
初始化阶段的封闭运行时:
Figure FDA0000054641470000022
其它阶段:l>>>3
其中,T0、T1、T2是密钥流输出变换T的32比特输出中的低24比特,IV是初始化向量,l为线性反馈移位寄存器LFSRα在每次脉冲时为变换L的左端贡献的8比特输入;
线性反馈移位寄存器LFSRβ在每次脉冲时为左端贡献1比特输入,同时右移1比特;在此之后,LFSRβ左端的8比特由变换K更新为:
 初始化内部状态时:
Figure FDA0000054641470000023
k=0,...,5
其它阶段:β34β33β32β31β30β29β28β27
其中,βi代表LFSRβ中的第i比特;
线性反馈移位寄存器LFSRγ在每次脉冲时为左端贡献1比特输入,同时右移1比特;在此之后,LFSRγ左端的8比特由变换N更新为:
 初始化内部状态时:
Figure FDA0000054641470000024
k=0,...,5
其它阶段:γ30γ29γ28γ27γ26γ25γ24γ23
其中,γi代表LFSRγ中的第i比特;
(2)选择步骤:采用列表D、E、F的方式,从LFSRα、LFSRβ、LFSRγ中分别抽取32比特、24比特、16比特的数据并输出作为混淆步骤的输入结果;列表F输出的16比特还作为输出步骤的输入;
列表D从LFSRα中抽取的4字节记为D3D2D1D0:
列表E从LFSRβ中抽取的24比特记为E5E4E3E2E1E0:
Figure FDA0000054641470000032
列表F从LFSRγ中抽取的16比特记为F1F0:
Figure FDA0000054641470000033
(3)混淆步骤:包括变换R和变换S
a)变换R
将选择步骤的输入结果与反馈回的上一轮变换R的输出结果进行线性压缩,得到共24比特的结果,字节格式记为RA2,RA1,RA0,并统称为变换结果RA;如无反馈回的变换R输出结果,则默认反馈回的变换R输出结果为0;
对变换结果RA进行非可逆线性变换,将RA分成两组,每组12比特,分别输入两个变换矩阵I0、I1,经过两个变换矩阵输出变换结果R1、R2;
同时RA2分为高4比特与低4比特后,输入2个四进四出的S盒子,将S盒子的输出赋值于变换结果R0,对于输入的4比特数组,从左到右的顺序,前2比特对应S盒子的行,后2比特对应S盒子的列,查找输入数组对应的4比特输出;所述两个四进四出的S盒子分别为S1盒子、S2盒子;
S1盒子如下: 
  0x5   0x3   0xb   0xe   0x9   0xa   0x0   0xd   0x6   0x8   0x1   0x4   0xc   0x7   0xf   0x2
S2盒子如下:
  0x0   0xd   0xf   0xa   0x9   0x7   0x4   0x1   0xc   0xb   0x6   0x5   0x3   0xe   0x8   0x2
变换结果R2、R1、R0组成24比特的变换R输出结果,将变换R输出结果作为下一轮混淆步骤的输入以及输出步骤的输入;
b)变换S
将列表E输出的24比特通过两次查表运算,得到16比特的变换结果S,将变换结果S作为输出步骤的输入;
(4)输出步骤:将列表F输出的16比特、变换R输出结果与变换结果S进行变换后得到系统输出的32比特密钥流输出变换T,将密钥流输出变换T中低24比特反馈回下一轮的生成步骤作为变换L的一部分输入。 
CN2008103044561A 2008-09-10 2008-09-10 流密码生成方法 Expired - Fee Related CN101355423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008103044561A CN101355423B (zh) 2008-09-10 2008-09-10 流密码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008103044561A CN101355423B (zh) 2008-09-10 2008-09-10 流密码生成方法

Publications (2)

Publication Number Publication Date
CN101355423A CN101355423A (zh) 2009-01-28
CN101355423B true CN101355423B (zh) 2011-08-17

Family

ID=40308036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008103044561A Expired - Fee Related CN101355423B (zh) 2008-09-10 2008-09-10 流密码生成方法

Country Status (1)

Country Link
CN (1) CN101355423B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235714A (zh) * 2013-04-02 2013-08-07 四川长虹电器股份有限公司 一种构造随机序列的最短线性移位寄存器的方法
JP2015191106A (ja) * 2014-03-28 2015-11-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
CN110058842B (zh) * 2019-03-14 2021-05-18 西安电子科技大学 一种结构可变的伪随机数生成方法及装置

Also Published As

Publication number Publication date
CN101355423A (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
CN102025484B (zh) 一种分组密码加解密方法
CN101626289B (zh) Aes加密芯片的设计方法及电脑加密机
Mane et al. High speed area efficient FPGA implementation of AES algorithm
US9325494B2 (en) Method for generating a bit vector
CN107147487A (zh) 对称密钥随机分组密码
KR20100031717A (ko) 메시지의 암호 해싱 및 데이터 암호화의 유사-난수 생성을 위한 암호화 방법 및 그 장치
CN103051442A (zh) 采用Feistel-PG结构的密码装置及加密方法
US20150195089A1 (en) Data scramble device, security device, security system, and data scramble method
CN105933108B (zh) 一种对sm4算法实现破解的方法
US20180212761A1 (en) Hardware circuit to perform round computations of arx-based stream ciphers
CN101431405B (zh) Des加密方法及其硬件电路实现方法
Shashidhar et al. Design of high speed AES system for efficient data encryption and decryption system using FPGA
CN101355423B (zh) 流密码生成方法
CN103746796A (zh) 一种实现智能卡sm4密码算法的协处理器
CN105939190A (zh) 基于fpga的离线生成密钥的aes数据加密方法
CN105959100A (zh) 一种基于fpga的在线生成密钥的aes数据加密方法
CN108933652A (zh) 一种普通轮变换运算单元、普通轮变换电路及aes解密电路
CN108449169A (zh) 一种用于无线传感器网路的混沌分组加密方法
Jothi et al. Parallel RC4 Key Searching System Based on FPGA
KR20060012002A (ko) 암호화/암호 해독 방법, 데이터 암호화/암호 해독 장치,변환 모듈 및 컴퓨터 프로그램 제품
CN109150495A (zh) 一种轮变换复用电路及其aes解密电路
CN106788976A (zh) 一种aes加解密电路仿真分析方法及装置
CN107171782A (zh) 一种基于可逆逻辑电路的aes私密日志加密方法
Jun et al. A design and implementation of high-speed 3DES algorithm system
Praveen et al. Implementation of DES using pipelining concept with skew core key scheduling in secure transmission of images

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20180910