一种祖冲之算法的实现系统及其方法技术方案

技术编号:9937115 阅读:142 留言:0更新日期:2014-04-18 21:30
一种祖冲之算法的实现系统,其特征在于,包括:系统控制模块、线性反馈移位寄存器模块、比特重组模块、F函数模块、第一寻址模块、第二寻址模块、第一S盒模块、第二S盒模块和加/解密模块;其中,所述系统控制模块用于接收设定的初始密钥和初始向量,根据输入数据的速率,通过所述控制线性反馈移位寄存器的移位使能信号,调整密钥生成的速率,然后根据所述密钥生成的速率产生控制信号,所述控制信号控制所述密钥的生成过程;所述线性反馈移位寄存器模块根据所述初始密钥和所述初始向量进行位拼接,得到线性反馈移位寄存器的初始值,然后根据移位使能信号,在每一个运算周期内,线性反馈移位寄存器的初始值分别在所述运算周期内进行移位,得到所述线性反馈移位寄存器值的更新最终值;所述比特重组模块根据所述线性反馈移位寄存器的更新最终值,分别选取所述线性反馈移位寄存器的更新最终值的16比特,根据祖冲之算法,通过连线将选取的每两组所述16比特进行拼接,然后重组出4组32比特的数据;所述F函数模块根据所述4组32比特的数据,进行F函数运算,产生第一查询S盒32比特地址和第二查询S盒32比特地址;所述第一寻址模块根据所述第一查询S盒32比特地址,采用分时复用寻址逻辑的方法,将第一查询S盒32比特地址分4次,每次8比特,分成第一个4组8比特地址;所述第一S盒模块将所述第一个4组8比特地址转换为第一个4组8比特置换数据,并存储和输出所述第一个4组8比特置换数据;所述第一寻址模块将所述第一个4组8比特置换数据拼接成第一个32比特置换数据;所述第二寻址模块根据所述第二查询S盒32比特地址,采用分时复用寻址逻辑的方法,将第二查询S盒32比特地址分4次,每次8比特,分成第二个4组8比特地址;所述第二S盒模块将所述第二个4组8比特地址转换为第二个4组8比特置换数据,并存储和输出第二个4组8比特置换数据;所述第二寻址模块将所述第二个4组8比特置换数据拼接成第二个32比特置换数据;所述F函数模块根据所述第一个32比特置换数据和所述第二个32比特置换数据,进行F函数运算,得到32比特密钥;所述加/解密模块根据所述32比特密钥,进行加密或者解密运算,然后输出加密数据或者解密数据。

【技术实现步骤摘要】
一种祖冲之算法的实现系统及其方法
本专利技术属于通讯系统加密
,特别涉及一种祖冲之算法的实现系统及其方法。
技术介绍
祖冲之算法是中国自主设计的流密码算法,于2011年9月被3GPPLTE采纳为国际加密标准,即第四代移动通信加密标准。祖冲之算法具有非常高的安全强度,能够抵抗目前常见的各种流密码攻击方法。其设计已经得到国内外著名密码学家的认可,他们对其安全强度给予了很高的评价。随着祖冲之算法被确定为国际加密标准,国内外的研究人员对采用祖冲之算法的硬件电路实现方法展开了积极的探索,主要包括如何提高电路工作频率,如何减少硬件资源开销,以及如何降低系统功耗开销。在通信系统中,传输数据速率较高,导致其对数据处理的速度也提出了较高的要求。因此加密算法的硬件实现必须满足高处理速度要求,也就是提高电路工作频率。祖冲之算法的硬件实现中,大部分的资源开销被S盒的寻址逻辑占用,这是因为原算法中对S盒的寻址采用4个并行的寻址逻辑。因此优化S盒的寻址逻辑可以大幅减少系统的资源开销。对于S盒的实现结构,目前普遍采用的方法是查找表结构。虽然查找表的实现结构占用较少的资源开销,但在功耗开销方面并不是最优的选择本文档来自技高网...

【技术保护点】
一种祖冲之算法的实现系统,其特征在于,包括:系统控制模块、线性反馈移位寄存器模块、比特重组模块、F函数模块、第一寻址模块、第二寻址模块、第一S盒模块、第二S盒模块和加/解密模块;其中,所述系统控制模块用于接收设定的初始密钥和初始向量,根据输入数据的速率,通过所述控制线性反馈移位寄存器的移位使能信号,调整密钥生成的速率,然后根据所述密钥生成的速率产生控制信号,所述控制信号控制所述密钥的生成过程;所述线性反馈移位寄存器模块根据所述初始密钥和所述初始向量进行位拼接,得到线性反馈移位寄存器的初始值,然后根据移位使能信号,在每一个运算周期内,线性反馈移位寄存器的初始值分别在所述运算周期内进行移位,得到所...

【技术特征摘要】
1.一种祖冲之算法的实现系统,其特征在于,包括:系统控制模块、线性反馈移位寄存器模块、比特重组模块、F函数模块、第一寻址模块、第二寻址模块、第一S盒模块、第二S盒模块和加/解密模块;其中,所述系统控制模块用于接收设定的初始密钥和初始向量,根据输入数据的速率,通过控制所述线性反馈移位寄存器的移位使能信号,调整密钥生成的速率,然后根据所述密钥生成的速率产生控制信号,所述控制信号控制所述密钥的生成过程;所述线性反馈移位寄存器模块根据所述初始密钥和所述初始向量进行位拼接,得到线性反馈移位寄存器的初始值,然后根据移位使能信号,在每一个运算周期内,线性反馈移位寄存器的初始值分别在所述运算周期内进行移位,得到所述线性反馈移位寄存器值的更新最终值;所述比特重组模块根据所述线性反馈移位寄存器的更新最终值,分别选取所述线性反馈移位寄存器的更新最终值的16比特,根据祖冲之算法,通过连线将选取的每两组所述16比特进行拼接,然后重组出4组32比特的数据;所述F函数模块根据所述4组32比特的数据,进行F函数运算,产生第一查询S盒32比特地址和第二查询S盒32比特地址;所述第一寻址模块根据所述第一查询S盒32比特地址,采用分时复用寻址逻辑的方法,将第一查询S盒32比特地址分4次,每次8比特,分成第一个4组8比特地址;所述第一S盒模块将所述第一个4组8比特地址转换为第一个4组8比特置换数据,并存储和输出所述第一个4组8比特置换数据;所述第一寻址模块将所述第一个4组8比特置换数据拼接成第一个32比特置换数据;所述第二寻址模块根据所述第二查询S盒32比特地址,采用分时复用寻址逻辑的方法,将第二查询S盒32比特地址分4次,每次8比特,分成第二个4组8比特地址;所述第二S盒模块将所述第二个4组8比特地址转换为第二个4组8比特置换数据,并存储和输出第二个4组8比特置换数据,其中,所述第一S盒模块和所述第二S盒模块均采用基于独热码的译码-编码结构;所述第二寻址模块将所述第二个4组8比特置换数据拼接成第二个32比特置换数据;所述F函数模块根据所述第一个32比特置换数据和所述第二个32比特置换数据,进行F函数运算,得到32比特密钥;所述加/解密模块根据所述32比特密钥,进行加密或者解密运算,然后输出加密数据或者解密数据。2.根据权利要求1所述的系统,其特征在于,所述F函数模块包括加法运算单元、异或运算单元、循环移位运算单元、L运算单元和寄存器;其中,所述加法运算单元根据寄存器的值和所述4组32比特的数据,进行加法运算,得到32比特的加法结果数据;所述异或运算单元根据所述寄存器的值和所述4组32比特的数据,进行异或运算,得到32比特的异或结果数据;所述循环移位运算单元根据所述32比特的加法结果数据和所述32比特的异或结果数据进行拆分与拼接,分别得到所述第一查询S盒32比特地址和所述第二查询S盒32比特地址;所述L运算单元,分别将所述第一查询S盒32比特地址和所述第二查询S盒32比特地址进行循环移位,得到4组循环移位结果,将所述4组循环移位结果与所述第一查询S盒32比特地址和所述第二查询S盒32比特地址分别异或运算,得到所述寄存器的值。3.根据权利要求1所述的系统,其特征在于,所述第一S盒模块或所述第二S盒模块包括译码器,1个映射关系单元和1个编码器,所述译码器将所述第一个4组8比特地址中任一8比特地址进行译码得到28比特的独热码输入,所述映射关系单元将所述28比特的独热码输入经过映射,得到28比特的独热码输出,所述编码器...

【专利技术属性】
技术研发人员:黑勇韩越乔树山
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1