CN101378314A - 一种密钥序列的生成方法和密钥产生装置 - Google Patents

一种密钥序列的生成方法和密钥产生装置 Download PDF

Info

Publication number
CN101378314A
CN101378314A CNA2008102233689A CN200810223368A CN101378314A CN 101378314 A CN101378314 A CN 101378314A CN A2008102233689 A CNA2008102233689 A CN A2008102233689A CN 200810223368 A CN200810223368 A CN 200810223368A CN 101378314 A CN101378314 A CN 101378314A
Authority
CN
China
Prior art keywords
lfsr
sequence
module
key
key seed
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
CNA2008102233689A
Other languages
English (en)
Other versions
CN101378314B (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.)
Beijing Unitend Technologies Inc.
Original Assignee
BEIJING UNITEND TECHNOLOGIES Inc
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 BEIJING UNITEND TECHNOLOGIES Inc filed Critical BEIJING UNITEND TECHNOLOGIES Inc
Priority to CN2008102233689A priority Critical patent/CN101378314B/zh
Publication of CN101378314A publication Critical patent/CN101378314A/zh
Application granted granted Critical
Publication of CN101378314B publication Critical patent/CN101378314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提供了一种密钥序列的生成方法和密钥产生装置,其中,方法包括:A.获取密钥种子,将获取的密钥种子分为N段,分别送入该装置中的N个线性反馈移位寄存器(LFSR),其中,N为整数;B.从所述各LFSR中抽取固定位后,对所述抽取的固定位进行转换,根据转换后的结果确定所述各LFSR是否进行移位,并控制需要进行移位的LFSR进行移位;C.抽取各LFSR中的一位或多位,并将抽取的各位进行合成处理后形成中间密钥序列;D.对所述中间密钥序列进行加扰变换形成密钥序列。该方法能够大大提高密钥序列的非线性程度。

Description

一种密钥序列的生成方法和密钥产生装置
技术领域
本发明涉及加解密技术领域,特别涉及一种密钥序列的生成方法和密钥产生装置。
背景技术
随着网络技术的迅速发展,对各设备之间数据内容传输的安全性要求越来越高,最常用的方式就是在传输数据流时,发送端采用密钥对要传输的数据流进行加密,接收端再使用相同的密钥对接收到的数据流进行解密,从而防止数据流内容的泄漏。
具体的系统结构可以如图1所示,发送端中的密钥产生模块利用密钥种子产生密钥序列,加密模块利用该加密序列对明文数据进行加密后形成密文数据传输给接收端;接收端的密钥产生模块利用与发送端相同的密钥种子产生密钥序列,接收端与发送端产生密钥序列的算法相同从而保证生成的密钥序列相同,解密模块利用该密钥序列对接收到的密文数据进行解密,从而获取到明文数据。
在此过程中,利用密钥种子产生密钥序列的方法决定了加解密的安全程度,需要说明的是,发送端和接收端密钥产生模块的结构相同且产生密钥序列的方法也相同。现有技术中密钥产生模块的结构如图2所示,密钥种子依次输入4个线性反馈移位寄存器(LFSR),各LFSR在每个时钟周期到来时对自身存储的密钥种子的各位进行移位处理,然后各LFSR从进行移位处理后的各位中抽取固定位数的数据送至混合模块;混合(Shuffle)模块将接收到的来自各LFSR的数据进行混合处理,即按照预定的规则打乱顺序后形成初始密钥送入序列加扰模块,该序列加扰模块使用8个变换盒(S-box)来降低初始密钥的自相关性,形成最终的密钥序列。由于在加解密处理中,密钥的非线性和自相关性会影响加解密的安全程度,其中,非线性程度越高,安全程度也相应越高,而现有技术中由于LFSR进行移位处理后输出的数据是线性的,完全依靠混合模块的混合处理来提高密钥序列的非线性,显然,混合模块按照预定规则打乱顺序的操作仍然使得密钥序列的非线性程度非常低。
发明内容
有鉴于此,本发明实施例提供了一种密钥序列的生成方法和密钥产生装置,以便于提高密钥序列的非线性程度。
一种密钥产生装置,该装置包括:密钥种子获取模块、m个带钟控的线性反馈移位寄存器LFSR模块和序列加扰模块,其中,m为大于或等于1的整数;每个带钟控的LFSR模块具体包括:p个钟控模块、k个LFSR和抽取合成模块,每个钟控模块对应
Figure A200810223368D00071
个LFSR和1个抽取合成模块,其中p、k和
Figure A200810223368D00072
为大于或等于1的整数;
所述密钥种子获取模块,用于获取密钥种子,并将获取的密钥种子分为k×m段,分别送入该装置中的k×m个LFSR;
所述LFSR,用于接收并存储所述密钥种子获取模块送入的密钥种子,并在对应的钟控模块的指示下进行移位;
所述钟控模块,用于从对应的各LFSR中抽取固定位后,抽取的固定位进行转换处理,根据转换后的结果确定对应的各LFSR是否进行移位,并指示需要进行移位的LFSR进行移位;
所述抽取合成模块,用于抽取所在的带钟控的LFSR模块中各LFSR中的一位或多位,并将抽取的各位进行合成处理后输出中间密钥序列;
所述序列加扰模块,用于获取各带钟控的LSFR模块中抽取合成模块输出的中间密钥序列,进行加扰变换后输出密钥序列。
一种密钥序列的生成方法,该方法包括:
A、获取密钥种子,将获取的密钥种子分为N段,分别送入N个LFSR,其中,N为整数;
B、从各所述LFSR中抽取固定位后,对所述抽取的固定位进行转换处理,根据转换后的结果确定所述各LFSR是否进行移位,并控制需要进行移位的LFSR进行移位;
C、抽取各LFSR中的一位或多位,并将抽取的各位进行合成处理后形成中间密钥序列;
D、对所述中间密钥序列进行加扰变换形成密钥序列。
由以上技术方案可以看出,本发明提供的方法和装置是在将获取的密钥种子送入各LFSR中后,从各LFSR中抽取固定位,对抽取的固定位进行转换处理后,根据转换结果来确定各LFSR是否进行移位的。也就是说,现有技术中是对各LFSR进行无条件移位的,靠按照预定规则打乱顺序来提高密钥序列的非线性,而本发明将密钥种子的随机性因素加入了控制LFSR进行移位的条件中,使得在进行合成处理时从LFSR中抽取的值不具有固定的规则,显然相对于按照预定的规则打乱顺序的方式,大大提高了所形成密钥序列的非线性程度。
附图说明
图1为现有技术中的加解密系统结构图;
图2为现有技术中的密钥产生模块结构图;
图3为本发明实施例提供的装置结构图;
图4为本发明实施例提供的控制LFSR进行移位的示意图;
图5为本发明实施例提供的序列加扰模块的结构图;
图6为本发明实施例提供的方法流程图;
图7为本发明实施例提供的密钥产生装置的具体实例图;
图8为本发明实施例提供的带钟控的LFSR模块的具体实例图;
图9为本发明实施例提供的序列加扰模块的具体实例图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的核心思想是将密钥种子的随机性因素加入控制LFSR进行移位的条件中,从而使得LFSR抽取和输出的数据不具有一定的规则,输出的数据就是非线性的。
为了方便理解,首先对本发明提供的密钥产生装置进行详细描述。图3为本发明实施例提供的装置结构图,如图3所示,该密钥产生装置主要包括:密钥种子获取模块、m个带钟控的LFSR模块和序列加扰模块,其中,m为大于或等于1的整数;每个带钟控的LFSR模块可以具体包括:p个钟控模块、k个LFSR和抽取合成模块,每个钟控模块对应
Figure A200810223368D00091
个LFSR和1个抽取合成模块,其中p和为大于或等于1的整数。
密钥种子获取模块,用于获取密钥种子,并将获取的密钥种子分为k×m段,依次送入该装置中的k×m个LFSR。
其中,获取密钥种子的方法可以是获取预设的密钥种子;也可以是获取经发送端和接收端交换后达成一致的密钥种子,例如,发送端和接收端可以执行认证过程来交换密钥种子;也可以是根据各LFSR的状态值进行同步恢复处理后得到的密钥种子,具体如何进行同步恢复处理得到密钥种子在后续关于同步恢复模块的论述中再具体描述。
假设获取的密钥种子为n位,则可以将该n位的密钥种子分为k×m段,可以平均分段,也可以按照各LFSR的位数进行分段。
LFSR,用于接收并存储密钥种子获取模块送入的密钥种子,并在对应的钟控模块的指示下进行移位。
需要说明的是,该装置中的各LFSR位数可以相同也可以不同,但必须保证发送端和接收端中该装置的结构一致。如果送入LFSR的密钥种子的位数超过LFSR的位数,则可以按照预定的规则选取其中一部分按位进行存储;如果送入LFSR的密钥种子的位数小于LFSR的位数,则可以将接收到的密钥种子中的设定位进行变换后得到,其中的变换可以是直接将设定的某些位添入LFSR中空余的位,也可以将设定的某些位进行逻辑处理后添入LFSR中空余的位。需要说明的是,进行的逻辑处理可以是异或、取反、与非、取反异或等,在以后的描述中涉及的逻辑处理都可以是以上方式中的一种。
另外,LFSR在进行移位时,可以按照通用的方式进行左移或右移,并将溢出位添入移位后的空闲位,例如,进行左移处理后,将溢出的第一位添入LFSR的最后一位,即通常所说的循环移位。更优地,为了进一步提高安全性,可以针对每一个LFSR对该LFSR阶次的本原多项式对应的位数进行逻辑处理,并将逻辑处理后的结果添入该LFSR移位之后的空闲位,该方式可以由带钟控的LFSR模块中的移位处理模块(图3中未示出)执行,每个LSFR对应一个移位处理模块,该方式和移位处理模块在现有技术中已有应用,在此不再赘述。
钟控模块,用于从对应的各LFSR中抽取固定位后,对抽取的固定位进行转换,并根据转换后的结果确定对应的各LFSR是否进行移位,并指示需要进行移位的LFSR进行移位。
在此钟控模块的采用的转换规则可以是一个转换表,例如,钟控模块可以从各LFSR中分别抽取一个固定位,共抽取
Figure A200810223368D00101
位,将这
Figure A200810223368D00102
位作为转换表的输入,对应输出一个新的
Figure A200810223368D00103
位的数,输出的该新的
Figure A200810223368D00104
位的数中的每一位分别对应一个LFSR,控制对应的LFSR是否进行移位,如果确定对应的LFSR要进行移位,则对应的LFSR在时钟沿到来时进行移位。如图4所示,假设一个钟控模块对应三个LFSR,抽取各LFSR的中间位,将抽取的中间位C1、C2和C3作为转换表的输入值进行转换后,得到输出值S1、S2和S3,该输出值可以用于控制各LFSR是否进行移位,例如,可以分别将S1、S2和S3用于控制各LFSR,如果输出值为1则控制LFSR移位,如果输出值为0则控制LFSR不进行移位。
下面给出一个转换表的具体例子,如表1所示,当然,该转换表也可以采用其它的内容,并不用于限制本发明。
表1
Figure A200810223368D00111
抽取合成模块,用于抽取所在的带钟控的LFSR模块中各LFSR中的固定位,并将抽取的各位进行合成处理后输出中间密钥序列。
序列加扰模块,用于获取各带钟控的LSFR模块中抽取合成模块输出的中间密钥序列,进行加扰变换后输出密钥序列。
如果设定最终要求的密钥序列为f位,则每个带钟控的LFSR模块中的抽取合成模块可以输出位,则该装置由于包含m个带钟控的LFSR模块,最终输出f位中间密钥序列。序列加扰模块对这f位中间密钥序列进行加扰变换最终输出f位的密钥序列。
序列加扰模块进行加扰变换是采用矩阵映射算法将m个带钟控的LFSR模块输出的m路
Figure A200810223368D00121
位中间密钥序列打乱,每个时钟周期都对应不同的位数,从而得到相关性很低的密钥序列,其作用是为了降低密钥序列的自相关性,从而进一步提高加解密的安全性。该序列加扰模块的结构和进行加扰变换的方法可以采用现有技术,但发明人在此为了更进一步提高加解密的安全性,提供了一种更优的序列加扰模块。
下面对序列加扰模块的结构进行详细描述。图5为本发明实施例提供的序列加扰模块的结构图,如图5所示,该序列加扰模块主要包括:第一转换模块501、初始向量寄存器502、第一逻辑处理模块503、第二转换模块504和第二逻辑处理模块505。
其中,第一转换模块501,用于获取各带钟控的LSFR模块中抽取合成模块输出的中间密钥序列,并将该中间密钥序列进行转换处理后形成的序列提供给第一逻辑处理模块503和第二逻辑处理模块505。
初始向量寄存器502,用于存储初始向量,并按照预设的时钟周期将该初始向量提供给第一逻辑处理模块503。
第一逻辑处理模块503,用于将接收到的序列和初始向量进行逻辑处理后形成的序列提供给第二转换模块504。
第二转换模块504,用于将第一逻辑处理模块503提供的序列进行转换处理后提供给第二逻辑处理模块505。
第二逻辑处理模块505,用于将第二转换模块504提供的序列和第一转换模块501提供的序列进行逻辑处理,形成密钥序列。
更优地,该序列加扰模块还可以包括:闭环处理模块506,用于获取第一转换模块501提供给第一逻辑处理模块503的序列,并将该序列与闭环处理模块506上一时钟周期输出的序列进行逻辑处理后作为本次时钟周期输出的序列,并将本次时钟周期输出的序列提供给第一逻辑处理模块503。
闭环处理模块506在第一次时钟周期内可以将第一转换模块501提供的序列与预设的初始序列进行逻辑处理,其中,预设的初始序列可以为各位为0的序列。进行的逻辑处理通常可以采用异或处理方式。
上述第一逻辑处理模块503和第二逻辑处理模块505通常可以采用异或处理器,对接收到的序列进行异或处理。
第一转换模块501和第二转换模块504可以采用一个或多个转换盒(S-box)对接收到的f为序列进行转换处理,如果选用的S-box为q位的输入和q位的输出,则第一转换模块501和第二转换模块504可以各采用
Figure A200810223368D00131
个S-box,以固定的顺序按位输入该
Figure A200810223368D00132
个S-box。
其中,S-box采用的转换方式为按照预设的转换规则进行按位置换,在此举一个例子对预设的转换规则进行描述。假设第一转换模块501和第二转换模块504共具有12个S-box,其转换时可以采用如表2所示的规则,其中,S0、S1、...、S11分别标识12个S-box,第一行表示S-box的输入,其它各行表示对应S-box的输出,各输入和输出以16进制表示。
表2
 
0 1 2 3 4 5 6 7 8 9 a b c d e f
S0 c 9 3 0 b 5 d 6 2 4 e 7 8 f 1 a
S1 3 8 e 1 5 2 b d a 4 9 7 6 f c 0
S2 7 4 1 A b d e 3 c F 6 0 2 8 9 5
S3 6 3 1 4 a c f 2 5 E b 8 9 7 0 d
S4 3 6 f C 4 1 9 2 5 8 a 7 b d 0 e
S5 b e 6 8 5 2 c 7 1 4 f 3 a d 9 0
S6 8 e 5 9 3 0 c 6 1 B f 2 4 7 a d
S7 1 6 4 F 8 3 b 5 a 0 9 c 7 d e 2
S8 d b 8 6 7 4 2 f 1 C e 0 a 3 9 5
S9 0 e b 7 c 3 2 d f 4 8 1 9 a 5 6
S10 c 7 f 8 b e 1 4 6 A 3 5 0 9 d 2
S11 1 c 7 2 8 3 4 e b 5 0 f d 6 a 9
上面已经提到图3所示密钥产生装置中的密钥种子获取模获取的密钥中止可以是根据各LFSR的初始状态进行同步恢复处理后得到的密钥种子,因此,图3所示的密钥产生装置中还可以进一步包括:同步恢复模块,用于利用LFSR运行第一预设时钟周期后的状态值和序列加扰模块运行第二预设时钟周期后的累积值,进行逻辑处理后得到密钥种子。并且,在得到密钥种子之后,还可以进一步验证发送端和接收端中的同步恢复模块是否得到相同的密钥种子,如果是,则将该密钥种子提供给密钥种子获取模块,否则,可以通过重新认证的方式获取密钥种子。另外,还可以在每隔固定时间强制进行重新认证来得到新的密钥种子;或者,在采用固定次数的同步方式后,强制进行重新认证来得到新的密钥种子。
以上是对本发明所提供的装置进行的描述,下面对本发明所提供的方法进行详细描述。如图6所示,该方法可以包括以下步骤:
步骤601:获取密钥种子,将获取的密钥种子分为k×m段,分别送入k×m个LFSR,其中,k×m为整数。
本步骤中,可以获取预先设定好的密钥种子,该预先设定好的密钥种子必须为接收端和发送端一致的密钥种子;也可以是发送端和接收端执行认证过程所获取的密钥种子,该认证过程能够保证接收端和发送端获取的密钥种子一致;另外,还可以是利用各LFSR的状态值进行同步恢复处理所获取的密钥种子,具体可以为:将各LFSR运行一定周期后的状态值和序列加扰模块运行一定周期后的累积值进行逻辑处理后得到的密钥种子,例如,可以读取初始认证之后的密钥种子作为各LFSR的初始值进行输入,获取各LFSR运行32个时钟周期后的状态值,比如从各LFSR中提取共128位作为状态值,从序列加扰模块运行38个时钟周期后累积下来的序列中提取128位作为累积值,将提取的状态值和累积值进行异或处理后,得到新的密钥种子,如果需要进一步防止密钥种子被窃取,可以将该新的密钥种子作为下一轮同步恢复的初始值,进一步得到新的密钥种子。
在上述过程中,可以每次在行同步信号到来时,执行上述同步恢复的过程,在场同步信号到来时,对同步恢复所产生的密钥种子进行检验,即检验发送端和接收端所产生的密钥种子是否相同,具体检验方式可以为:将两端的密钥种子进行交互确认是否一致;也可以将两边产生的密钥种子平均分成若干份,该若干份互相进行逻辑处理后得到一个值作为检查值,将发送端和接收端形成的检查值进行交互以确认是否一致。如果不一致,可以重新进行同步恢复,如果连续多次仍不一致,则可以重新通过认证过程获取新的密钥种子。
另外,为了保证密钥种子的一致性,可以每隔固定时间通过认证过程获取一次密钥种子,也可以在进行同步恢复的次数达到预设的次数时,通过认证的方式来获取密钥种子,从而保证密钥种子的一致性,也进一步提高安全性。
该步骤可以由上述密钥产生装置中的密钥种子获取模块执行。
另外,LFSR在对送入自身的密钥种子进行存储时,如果送入的密钥种子的位数超过LFSR的存储能力,则按照预设的规则选取送入该LFSR的密钥种子的其中一部分按位进行存储;如果送入的密钥种子的位数小于LFSR的存储能力,则将送入该LFSR的密钥种子中的设定位进行变换后得到的值添入该LFSR中空余的位。
步骤602:从各LFSR中抽取固定位后,对抽取的固定位进行转换,根据转换后的结果确定各LFSR是否进行移位,并控制需要进行移位的LFSR进行移位。
本步骤中可以从个LFSR中抽取一个固定位,将抽取的各固定位作为预设转换表的输入值,对应的输出值中的每一位分别对应各LFSR中的一个LFSR用于判断该LFSR是否需要进行移位,例如,如果该LFSR对应的输出值中的那一位为1,则确定该LFSR需要进行移位,在本轮时钟沿到来时控制该LFSR进行移位,如果该LFSR对应的输出值中的那一位为0,则确定该LFSR不需要进行移位,保持该LFSR不变。当然,该描述中用1和0分别表征需要移位和不需要移位仅仅是举的一个例子,并不用于限制本发明,采用其它表征方式同样在本发明保护范围内。
本步骤中抽取和控制的操作可以由上述密钥产生装置中的钟控模块执行。
在LFSR进行移位时,可以采用循环移位的方式,例如,在进行左移时,将左移后溢出的值添入进行左移后的空出位。也可以在LFSR进行移位后,针对该LFSR的本原多项式对应位数中的值进行逻辑处理,将处理后的结果添入该LFSR移位之后的空闲位,例如,某个LFSR的本原多项式为x10+x5+x2+x+1,则将该本原多项式对应的各位即该LFSR中的第10位、第5位、第2位和第1位中的值进行异或处理,将进行异或处理后的值添入该LFSR进行左移后的空闲位。该过程可以由上述密钥产生装置中各LFSR对应的移位处理模块执行。
步骤603:抽取各LFSR中的一位或多位,并将抽取的各位进行合成处理后形成中间密钥序列。
本步骤中可以从各LFSR中抽取一位或多位,抽取的总位数通常与密钥序列所要求的位数相同。该步骤可以由上述密钥产生装置中的抽取合成模块执行。
步骤604:对中间密钥序列进行加扰变换形成密钥序列。
本步骤可以由上述密钥产生装置中的序列加扰模块执行,其形成密钥序列的过程可以具体包括以下步骤:
步骤S1:将中间密钥序列按照预设的转换规则进行转换处理后形成第一序列。
该步骤可以由序列加扰模块中的第一转换模块执行。
步骤S2:将第一序列与预设的初始向量进行逻辑处理后形成第二序列。
本步骤可以具体为:将第一序列与预设的寄存器中上一时钟周期存储的序列进行逻辑处理后得到的序列作为该寄存器本次时钟周期存储的序列,并将该得到的序列与初始向量进行逻辑处理后得到第二序列。
本步骤可以由序列加扰模块中的第一逻辑处理模块和闭环处理模块执行。
步骤S3:将第二序列按照预设的第三转换规则进行转换处理形成第三序列,将该第一序列与第三序列进行逻辑处理形成密钥序列。
本步骤可以由序列加扰模块中的第二转换模块和第二逻辑处理模块执行。
为了更加方便理解,下面结合本发明提供的装置和方法,举一个具体的实施例对本发明进行描述。该实施例中以密钥种子长度为128位,得到密钥序列为24位为例。在该实施例中使用的密钥产生装置可以如图7所示,包含同步恢复模块、密钥种子获取模块、三个带钟控的LFSR模块和序列加扰模块。其中,每个带钟控的LFSR模块中包含4个组,如图8所示,每个组中包含3个LFSR和1个钟控模块,即共包含12个LFSR和4个钟控模块,另外,还包含一个抽取合成模块。
密钥种子获取模块可以获取预设的密钥种子、通过认证过程获取的密钥种子或者同步恢复模块执行同步恢复过程后提供的密钥种子,并将获取到的128位的密钥种子分成36段,分别送入三个带钟控的LFSR模块中的12个LFSR,其中,送入带钟控的LFSR模块1的状况可以如表3所示,送入带钟控的LFSR模块2的状况可以如表4所示,送入带钟控的LFSR模块3的状况可以如表5所示。
表3
Figure A200810223368D00181
Figure A200810223368D00191
表4
Figure A200810223368D00192
Figure A200810223368D00201
表5
Figure A200810223368D00202
Figure A200810223368D00211
以表3中LFSR0为例,该LFSR的存储能力为10位,Input bits[8:0]表示送入该LFSR的密钥种子为9位,在第1至9位进行存储;Complementof input bit 5表示该LFSR的第10位存储送入该LFSR的密钥种子的第6位。其它LFSR的存储情况不在赘述。可以看出,该密钥产生装置中各LFSR的存储能力可以不同,并且送入各LFSR中密钥种子的长度也可以不同,这并不影响本发明的实现,只要各LFSR的存储方式在接收端和发送端保持一致即可。
钟控模块从其对应的3个LFSR中各抽取中间的一位,将抽取的三位输入表1所示的转换表,根据输出的三位值来分别控制其对应的3个LFSR是否进行移位。加入钟控模块1从LFSR 0、LFSR 1和LFSR 2中分别抽取中间一位为:0,0,1;将其输入表1所述的转换表后,输出值为1,0,1,其中,输出值中第一位与LFSR 0对应,由于其值为1则指示该LFSR 0进行移位,同样,指示LFSR 1不进行移位,指示LFSR 2进行移位。
各LFSR在进行移位时,可以利用该LFSR的本原多项式对应的位数进行逻辑处理,并将逻辑处理后的结果添入该LFSR移位之后的空闲位。以带钟控的LFSR 1为例,其每个LFSR的本原多项式可以如表6所示,例如,LFSR 0的本原多项式为x10+x5+x2+x+1,则可以将本原多项式对应的各位即该LFSR 0中的第10位、第5位、第2位和第1位中的值进行异或处理,将进行异或处理后的值添入该LFSR 0进行左移后的空闲位。
表6
 
LFSR 长度(位) 本原多项式
0 10 x10+x7+x6+x2+1
1 10 x10+x8+x5+x+1
2 10 x10+x9+x7+x5+x4+x2+1
3 11 x11+x6+x5+x+1
4 11 x11+x9+x7+x2+1
5 12 x12+x6+x5+x4+x3+x+1
6 12 x12+x8+x6+x3+x2+x+1
7 12 x12+x9+x8+x7+x4+x3+1
8 12 x12+x10+x7+x5+x2+x+1
9 13 x13+x8+x3+x2+1
10 13 x13+x9+x8+x7+x5+x+1
11 14 x14+x11+x6+x5+1
抽取合成模块在时钟周期到来时,从各LFSR中按照预设的规则抽取相应位进行合成处理后,输出8位的序列。仍以带钟控的LFSR模块1为例,其抽取合成模块的抽取合成方式可以如表7所示。例如,该抽取合成模块可以从LFSR 0中抽取其第7位、从LFSR 4中抽取其第1位、从LFSR 8中抽取其第1位,进行异或处理后作为第1位的输出值,其它7位输出值根据表7做类似处理。
表7
Figure A200810223368D00231
带钟控的LFSR模块2和带钟控的LFSR模块3中的具体实现在这里不在一一列举,其实现与上述带钟控的LFSR模块1类似。
三个带钟控的LFSR模块分别输出8位,共24位构成中间密钥序列,序列加扰模块对该24位的中间密钥序列进行加扰变换后输出24位的密钥序列。其实现可以采用如图9所示的结构,其中,S-box 0至S-box 5构成图5所示的第一转换模块501;24位中间密钥按位输入该6个S-box,每个输入4位,经过S-box 0至S-box 5进行按位转换后输出24位的第一序列。该第一序列与24位的寄存器中的值进行异或处理后,将处理结果存入该24位的寄存器,在时钟周期到来时,从该24位的寄存器中读取其存储的值,与从该序列加扰模块中的LFSR中读取的初始向量进行异或处理后得到第二序列;其中,LFSR相当于图5中的初始向量寄存器502,24位的寄存器与其输入方向的异或处理器构成图5中的闭环处理模块506。将第二序列按位输入6个S-box,即S-box 6至S-box 11,每个输入4位,经过S-box 6至S-box11进行按位转换后输出24位的第三序列;其中,S-box 6至S-box 11构成图5中的第二转换模块504。然后将第一序列和第三序列进行异或处理后,最终形成24位的密钥序列。
在这里需要简单说明的是,当重恢复信号(rekey)到来时,将初始向量读入LFSR中,这里初始向量可以是行数目和场数目的组合,每次认证过程结束后,接收端和发送端都开始计算发送和接收的行数目和场数目,在此,行和场是发送端和接收端之间传输的视频数据帧的单位,然后将rekey到来时的场数目作为初始向量的高12位,将行数据作为初始向量的低12位。
在需要进行同步恢复操作时,当行同步信号到来时,同步恢复模块将上次使用的密钥种子在各带钟控的LFSR模块运行32个时钟周期后,提取其中LFSR中共128位的状态值,其提取方式可以如表8所示,例如,提取LFSR 0的第1至9位作为状态值的第1至9位、LFSR 1的第1至9位作为状态值的第10至18位,其它如表8中所示。
表8
 
LFSR LFSR长度(bits) 提取的LFSR的比特位 提取的State的比特位值
0 10 [8:0] State bits[8:0]
1 10 [8:0] State bits[17:9]
2 10 [8:0] State bits[26:18]
3 11 [9:0] State bits[36:27]
4 11 [9:0] State bits[46:37]
5 12 [10:0] State bits[57:47]
6 12 [10:0] State bits[68:58]
7 12 [10:0] State bits[79:69]
8 12 [10:0] State bits[90:80]
9 13 [11:0] State bits[102:91]
10 13 [11:0] State bits[114:103]
 
LFSR LFSR长度(bits) 提取的LFSR的比特位 提取的State的比特位值
11 14 [12:0] State bits[127:115]
再运行6个时钟周期后提取序列加扰模块的累积值,该累积值为144位,提取其中128位,将该128位与上述提取的状态值进行异或处理后得到新的密钥种子。
另外,在场同步信号到来时,除了执行上述同步恢复过程之外,还可以将得到的新的密钥种子之外,还可以进一步将该得到的128位的密钥种子分成8份,每份16位,然后将这8份互相异或,得到最后的一个16位的值作为检查值,接收端和发送端交互各自的检查值,如果两端的检查值不一致,则重新进行同步恢复工作,或者重新进行认证操作。也可以在检查值连续不一致的次数达到一定值时,通过重新认证来获取密钥种子。
由以上描述可以看出,本发明实施例提供的方法和装置具有以下优点:
1)本发明提供的方法和装置是在将获取的密钥种子送入各LFSR中后,从各LFSR中抽取固定位,按照预设的第一转换规则对抽取的固定位进行转换后,根据转换结果来确定各LFSR是否进行移位的。也就是说,现有技术中是对各LFSR进行无条件移位的,靠按照预定规则打乱顺序来提高密钥序列的非线性,而本发明将密钥种子的随机性因素加入了控制LFSR进行移位的条件中,使得在进行合成处理时从LFSR中抽取的值不具有固定的规则,显然相对于按照预定的规则打乱顺序的方式,大大提高了所形成密钥序列的非线性程度。
2)本发明提供的方法和装置中,由于提供各LFSR能够无论在接收到的密钥种子长度大于自身的存储能力,还是小于自身的存储能力时,都能够采用一定的策略对接收到的密钥种子进行存储,即如果送入LFSR的密钥种子的位数超过LFSR的存储能力,则按照预设的规则选取送入该LFSR的密钥种子的其中一部分按位进行存储;如果送入LFSR的密钥种子的位数小于LFSR的存储能力,则将送入该LFSR的密钥种子中的设定位进行变换后得到的值添入该LFSR中空余的位,因此,能够适用于任意长度的密钥种子。
3)本发明实施例进一步提供了一种新的序列加扰方法和序列加扰模块,将中间密钥序列按照预设的第二转换规则进行转换处理后形成第一序列,将该第一序列与预设的初始向量进行逻辑处理后形成第二序列;在将该第二序列按照预设的第三转换规则进行转换处理后形成第三序列,将该第一序列和第三序列进行逻辑处理形成密钥序列。该方法与现有技术中的序列加扰方法相比,能够更好的降低密钥序列的自相关性,从而进一步提高加解密的安全性。
4)本发明实施例中还提供了多种获取密钥种子的方法,其中利用各LFSR的状态值进行同步恢复处理获取密钥种子的方法,能够在两边密钥种子不一致的时候采用这种方式有效地保持两端密钥种子一致。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

1、一种密钥产生装置,其特征在于,该装置包括:密钥种子获取模块、m个带钟控的线性反馈移位寄存器LFSR模块和序列加扰模块,其中,m为大于或等于1的整数;每个带钟控的LFSR模块具体包括:p个钟控模块、k个LFSR和抽取合成模块,每个钟控模块对应
Figure A200810223368C00021
个LFSR和1个抽取合成模块,其中p、k和
Figure A200810223368C00022
为大于或等于1的整数;
所述密钥种子获取模块,用于获取密钥种子,并将获取的密钥种子分为k×m段,分别送入该装置中的k×m个LFSR;
所述LFSR,用于接收并存储所述密钥种子获取模块送入的密钥种子,并在对应的钟控模块的指示下进行移位;
所述钟控模块,用于从对应的各LFSR中抽取固定位后,抽取的固定位进行转换处理,根据转换后的结果确定对应的各LFSR是否进行移位,并指示需要进行移位的LFSR进行移位;
所述抽取合成模块,用于抽取所在的带钟控的LFSR模块中各LFSR中的一位或多位,并将抽取的各位进行合成处理后输出中间密钥序列;
所述序列加扰模块,用于获取各带钟控的LSFR模块中抽取合成模块输出的中间密钥序列,进行加扰变换后输出密钥序列。
2、根据权利要求1所述的装置,其特征在于,所述每个带钟控的LFSR模块还包括:与各LFSR对应的移位处理模块,用于在对应的LFSR需要进行移位时,将LFSR进行移位的溢出位添入移位后的空闲位,或者,对该LFSR阶次的本原多项式对应的各位进行逻辑处理,并将逻辑处理后的结果添入该LFSR移位后的空闲位。
3、根据权利要求1所述的装置,其特征在于,所述序列加扰模块具体包括:第一转换模块、初始向量寄存器、第一逻辑处理模块、第二转换模块和第二逻辑处理模块;
所述第一转换模块,用于获取各所述抽取合成模块输出的中间密钥序列,并将该中间密钥序列进行转换处理后形成的序列提供给所述第一逻辑处理模块和第二逻辑处理模块;
所述初始向量寄存器,用于存储初始向量,并按照预设的时钟周期将该初始向量提供给所述第一逻辑处理模块;
所述第一逻辑处理模块,用于将接收到的序列和初始向量进行逻辑处理后形成的序列提供给所述第二转换模块;
所述第二转换模块,用于将接收到的序列进行转换处理后提供给第二逻辑处理模块;
第二逻辑处理模块,用于将所述第一转换模块和第二转换模块提供的序列进行逻辑处理,形成密钥序列。
4、根据权利要求3所述的装置,其特征在于,所述序列加扰模块还包括:闭环处理模块,用于获取所述第一转换模块提供给所述第一逻辑处理模块的序列,并将该序列与该闭环处理模块上一时钟周期输出的序列进行逻辑处理后作为本次时钟周期输出的序列,并将本次时钟周期输出的序列提供给所述第一逻辑处理模块。
5、根据权利要求1至4任一权项所述的装置,其特征在于,该装置还包括:同步恢复模块,用于将各所述LFSR运行第一周期后的状态值和所述序列加扰模块运行第二周期后的累积值,进行逻辑处理后得到密钥种子;在发送端和接收端的密钥种子不一致时、或者每隔固定时间间隔、或者该同步恢复模块执行所述逻辑处理得到密钥种子达到预设的次数时,通过认证的方式获取密钥种子。
6、一种密钥序列的生成方法,其特征在于,该方法包括:
A、获取密钥种子,将获取的密钥种子分为N段,分别送入N个LFSR,其中,N为整数;
B、从各所述LFSR中抽取固定位后,对所述抽取的固定位进行转换处理,根据转换后的结果确定所述各LFSR是否进行移位,并控制需要进行移位的LFSR进行移位;
C、抽取各LFSR中的一位或多位,并将抽取的各位进行合成处理后形成中间密钥序列;
D、对所述中间密钥序列进行加扰变换形成密钥序列。
7、根据权利要求6所述的方法,其特征在于,步骤A中所述获取密钥种子具体为:获取预设的密钥种子;或者,执行认证过程获取密钥种子;或者,利用所述各LFSR的状态值进行同步恢复处理获取密钥种子。
8、根据权利要求7所述的方法,其特征在于,利用所述各LFSR的状态值进行同步恢复处理获取密钥种子具体为:将各所述LFSR运行第一周期后的状态值和执行所述步骤D的模块运行第二周期后的累积值进行逻辑处理得到密钥种子。
9、根据权利要求8所述的方法,其特征在于,在所述进行逻辑处理得到密钥种子的次数达到预设的次数时,通过认证的方式获取密钥种子;或者,
对采用所述同步恢复处理获取的密钥种子进行检测,如果在发送端和接收端获取的所述密钥种子不一致的次数达到预设的阈值,则通过认证的方式获取密钥种子。
10、根据权利要求6所述的方法,其特征在于,在所述步骤A中,如果送入LFSR的密钥种子的位数超过LFSR的存储能力,则选取送入该LFSR的密钥种子的其中一部分按位进行存储;如果送入LFSR的密钥种子的位数小于LFSR的存储能力,则将送入该LFSR的密钥种子中的设定位进行变换后得到的值添入该LFSR中空余的位。
11、根据权利要求6所述的方法,其特征在于,所述步骤B具体包括:从所述各LFSR中抽取一个固定位,将抽取的各固定位作为预设转换表的输入值,对应的输出值中的每一位分别对应所述LFSR中的一个LFSR用于判断该LFSR是否需要进行移位,如果确定该LFSR需要进行移位,则在本轮时钟沿到来时控制该LFSR进行循环移位,或者,在本轮时钟沿到来时控制该LFSR进行移位后,针对该LFSR的本原多项式对应的位数进行逻辑处理,将处理后的结果添入该LFSR移位之后的空闲位。
12、根据权利要求6所述的方法,其特征在于,所述步骤D具体包括:
D1、将所述中间密钥序列进行转换处理后形成第一序列;
D2、将所述第一序列与预设的初始向量进行逻辑处理后形成第二序列;
D3、将所述第二序列进行转换处理后形成第三序列,将所述第一序列与所述第三序列进行逻辑处理形成所述密钥序列。
13、根据权利要求12所述的方法,其特征在于,所述步骤D2具体包括:将所述第一序列与预设的第一寄存器中上一时钟周期存储的序列进行逻辑处理后得到的序列作为所述第一寄存器本次时钟周期存储的序列,并将该得到的序列与所述初始向量进行逻辑处理后得到所述第二序列。
14、根据权利要求6至13任一权项所述的方法,其特征在于,所述逻辑处理为:异或处理、与非处理、取反异或处理。
CN2008102233689A 2008-09-26 2008-09-26 一种密钥序列的生成方法和密钥产生装置 Active CN101378314B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102233689A CN101378314B (zh) 2008-09-26 2008-09-26 一种密钥序列的生成方法和密钥产生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102233689A CN101378314B (zh) 2008-09-26 2008-09-26 一种密钥序列的生成方法和密钥产生装置

Publications (2)

Publication Number Publication Date
CN101378314A true CN101378314A (zh) 2009-03-04
CN101378314B CN101378314B (zh) 2011-04-20

Family

ID=40421675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102233689A Active CN101378314B (zh) 2008-09-26 2008-09-26 一种密钥序列的生成方法和密钥产生装置

Country Status (1)

Country Link
CN (1) CN101378314B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567781A (zh) * 2009-06-09 2009-10-28 刘海云 利用排序产生的序号码加密的方法及密码机
CN102045169A (zh) * 2010-12-10 2011-05-04 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN102176693A (zh) * 2011-03-04 2011-09-07 南京航空航天大学 非线性循环移位寄存器
CN103279325A (zh) * 2013-03-11 2013-09-04 浙江大学 加密文本数据时可提高SoC处理器指令运算效率的方法
CN103312496A (zh) * 2013-05-10 2013-09-18 北京国基科技股份有限公司 数据加密、解密方法和装置及数据加解密系统
CN104115441A (zh) * 2011-09-19 2014-10-22 电视广播有限公司 用于对由通信节点交换的数据进行保护的同步对称密钥管理
CN108242994A (zh) * 2016-12-26 2018-07-03 阿里巴巴集团控股有限公司 密钥的处理方法和装置
CN109040087A (zh) * 2018-08-15 2018-12-18 咪咕视讯科技有限公司 一种文件加、解密方法及装置
CN110086619A (zh) * 2019-04-29 2019-08-02 国网安徽省电力有限公司信息通信分公司 密钥流生成方法及装置
CN111262689A (zh) * 2018-12-03 2020-06-09 华邦电子股份有限公司 更新存储在非易失性存储器的加密金钥的装置及其方法
CN111556004A (zh) * 2019-02-01 2020-08-18 益力半导体股份有限公司 混合式双重网络加密系统
CN111753317A (zh) * 2020-05-27 2020-10-09 长沙睿永信息技术有限公司 一种等长数字加密的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459493C (zh) * 2005-12-29 2009-02-04 北京浦奥得数码技术有限公司 流密码生成器、随机数生成方法、加密系统及加密方法
CN101242265A (zh) * 2008-03-07 2008-08-13 四川虹微技术有限公司 安全系统中流密码、伪随机数产生方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567781A (zh) * 2009-06-09 2009-10-28 刘海云 利用排序产生的序号码加密的方法及密码机
CN102045169A (zh) * 2010-12-10 2011-05-04 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN102045169B (zh) * 2010-12-10 2015-11-25 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN102176693A (zh) * 2011-03-04 2011-09-07 南京航空航天大学 非线性循环移位寄存器
CN104115441B (zh) * 2011-09-19 2018-04-03 电视广播有限公司 用于对由通信节点交换的数据进行保护的同步对称密钥管理
CN104115441A (zh) * 2011-09-19 2014-10-22 电视广播有限公司 用于对由通信节点交换的数据进行保护的同步对称密钥管理
CN103279325A (zh) * 2013-03-11 2013-09-04 浙江大学 加密文本数据时可提高SoC处理器指令运算效率的方法
CN103279325B (zh) * 2013-03-11 2015-12-09 浙江大学 加密文本数据时可提高SoC处理器指令运算效率的方法
CN103312496A (zh) * 2013-05-10 2013-09-18 北京国基科技股份有限公司 数据加密、解密方法和装置及数据加解密系统
CN108242994A (zh) * 2016-12-26 2018-07-03 阿里巴巴集团控股有限公司 密钥的处理方法和装置
CN108242994B (zh) * 2016-12-26 2021-08-13 阿里巴巴集团控股有限公司 密钥的处理方法和装置
CN109040087A (zh) * 2018-08-15 2018-12-18 咪咕视讯科技有限公司 一种文件加、解密方法及装置
CN109040087B (zh) * 2018-08-15 2021-12-07 咪咕视讯科技有限公司 一种文件加、解密方法及装置
CN111262689A (zh) * 2018-12-03 2020-06-09 华邦电子股份有限公司 更新存储在非易失性存储器的加密金钥的装置及其方法
CN111262689B (zh) * 2018-12-03 2022-11-08 华邦电子股份有限公司 更新存储在非易失性存储器的加密金钥的装置及其方法
CN111556004A (zh) * 2019-02-01 2020-08-18 益力半导体股份有限公司 混合式双重网络加密系统
CN110086619A (zh) * 2019-04-29 2019-08-02 国网安徽省电力有限公司信息通信分公司 密钥流生成方法及装置
CN110086619B (zh) * 2019-04-29 2020-10-30 北京邮电大学 密钥流生成方法及装置
CN111753317A (zh) * 2020-05-27 2020-10-09 长沙睿永信息技术有限公司 一种等长数字加密的实现方法

Also Published As

Publication number Publication date
CN101378314B (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
CN101378314B (zh) 一种密钥序列的生成方法和密钥产生装置
Kocarev et al. From chaotic maps to encryption schemes
CN104065474B (zh) 一种轻量级Surge分组密码实现方法
CN106850603A (zh) 一种白盒密码双向身份认证方法、终端、服务端及系统
CN109104544A (zh) 一种基于复杂网络同步的混沌图像加密方法
Rueppel New approaches to stream ciphers
CN105391701A (zh) 一种数据加密方法和系统
CN105337728A (zh) 一种数据加密方法和系统
Nara et al. A scan-based attack based on discriminators for AES cryptosystems
CN109302280A (zh) 一种aes密钥扩展方法
CN105897748A (zh) 一种对称密钥的传输方法及设备
CN103444125A (zh) 加密处理设备、加密处理方法和程序
CN104219045B (zh) Rc4 流密码生成器
CN107070637A (zh) 一种交叠分组的数据加解密方法
CN109150497A (zh) 一种高性能小面积的xts-sm4加密电路
CN206585573U (zh) 可重构s盒电路结构
CN100459493C (zh) 流密码生成器、随机数生成方法、加密系统及加密方法
CN106452743A (zh) 通信密钥获取方法及装置、通信报文解密方法及装置
CN102662483A (zh) 一种对云计算业务智能终端用户信息安全输入的方法
CN105430432B (zh) 视频混沌加密方法和系统
CN108449169A (zh) 一种用于无线传感器网路的混沌分组加密方法
CN101645772A (zh) 基于t半序的伪随机序列生成方法及序列发生器
Li et al. Single byte differential fault analysis on the LED lightweight cipher in the wireless sensor network
CN108494547A (zh) 一种aes加密系统及芯片
CN104219043B (zh) 一种可预置和重构的密钥装置及运行方法

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
ASS Succession or assignment of patent right

Owner name: TIANJIN UNITEND TECHNOLOGIES INC.

Free format text: FORMER OWNER: BEIJING UNITEND TECHNOLOGIES INC.

Effective date: 20110707

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 3/F, MUDAN VENTURE BUILDING, NO. 2, HUAYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 300457 ROOM D, 5/F, BUILDING A1, TIANDA SCIENCE AND TECHNOLOGY PARK, TIANJIN DEVELOPMENT ZONE

TR01 Transfer of patent right

Effective date of registration: 20110707

Address after: 300457, D building, 5 floor, A1 building, Tian Da Science Park, Tianjin Development Zone

Patentee after: Tianjin Unitend Technologies Inc.

Address before: 100083 peony building, 2, Huayuan Road, Beijing, Haidian District three

Patentee before: Beijing Unitend Technologies Inc.

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Tianjin Unitend Technologies Inc.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Tianjin Unitend Technologies Inc.

Document name: Notification of Termination of Patent Right

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190927

Address after: 100089 Three Floors of Block C, Qingdong Business District, No. 1 Laneway, Haidian District, Beijing

Patentee after: Beijing Unitend Technologies Inc.

Address before: 300457, D building, 5 floor, A1 building, Tian Da Science Park, Tianjin Development Zone

Patentee before: Tianjin Unitend Technologies Inc.

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Tianjin Unitend Technologies Inc.

Document name: Notification of Passing Examination on Formalities