一种SM3杂凑加密系统技术方案

技术编号:14894037 阅读:133 留言:0更新日期:2017-03-29 04:37
本申请公开了一种SM3杂凑加密系统,为基于硬件描述语言创建的加密系统,包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块;其中,消息扩展模块,用于在控制模块的控制下,获取待加密消息,并对待加密消息进行消息扩展,得到包括132个字的扩展后消息;消息压缩模块,用于在控制模块的控制下,对扩展后消息进行压缩处理,得到相应的杂凑值,并将杂凑值保存至预设的结果寄存器;加密数据读取模块,用于在控制模块的控制下,对保存在结果寄存器中的杂凑值进行输出处理。本申请基于硬件描述语言创建的SM3杂凑加密系统可直接在硬件平台上实现SM3加密,由此也拓宽了SM3密码杂凑算法的应用范围。

【技术实现步骤摘要】

本专利技术涉及加密
,特别涉及一种SM3杂凑加密系统
技术介绍
SM3密码杂凑算法是国密局在2010年底公布的一种加密算法,能够适用于商用密码应用中的数字签名和验证、消息认证码的生成与检验以及随机数的生成,可以满足多种密码应用的安全需求。在目前SM3密码杂凑算法的应用过程中,主要是基于Java语言或C语言开发出相应的SM3加密模块,然后利用这个加密模块实现对数据的加密。然而,基于Java语言或C语言开发的SM3加密模块只能在软件平台上实现加密,而无法在硬件平台上实现加密,从而限制了SM3密码杂凑算法的应用范围。综上所述可以看出,如何在硬件平台上实现SM3加密是目前还有待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种SM3杂凑加密系统,能够在硬件平台上实现SM3加密。其具体方案如下:一种SM3杂凑加密系统,为基于硬件描述语言创建的加密系统,包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块;其中,所述消息扩展模块,用于在所述控制模块的控制下,获取待加密消息,并对所述待加密消息进行消息扩展,得到包括132个字的扩展后消息;所述消息压缩模块,用于在所述控制模块的控制下,对所述扩展后消息进行压缩处理,得到相应的杂凑值,并将所述杂凑值保存至预设的结果寄存器;所述加密数据读取模块,用于在所述控制模块的控制下,对保存在所述结果寄存器中的所述杂凑值进行输出处理。可选的,所述控制模块为采用标准的三段式FSM设计得到的功能模块。可选的,所述消息扩展模块,包括:第一扩展子模块,用于在前4个时钟周期的每个时钟周期内,均分别计算第一组迭代过程的一个迭代值,得到所述第一组迭代过程中的前4个迭代值;第二扩展子模块,用于在后64个时钟周期的每个时钟周期内,均分别计算所述第一组迭代过程的一个迭代值和第二组迭代过程的一个迭代值,得到所述第一组迭代过程中的后64个迭代值以及所述第二组迭代过程中的全部64个迭代值;合并子模块,用于将所述第一组迭代过程中的全部68个迭代值和所述第二迭代过程中的全部64个迭代值进行合并,得到所述扩展后消息。可选的,所述第二扩展子模块,包括:迭代嵌套单元,用于在第k个时钟周期内,利用从预设的迭代值寄存器中提取出的所述第一组迭代过程中的第k个迭代值和第k-4个迭代值,计算所述第二组迭代过程中的第k个迭代值;其中,k为大于4,并且小于或等于68的整数。可选的,所述结果寄存器为256位的寄存器。可选的,所述加密数据读取模块,具体用于在所述控制模块的控制下,以32位的形式读取并输出保存在所述结果寄存器中的所述杂凑值。可选的,所述硬件描述语言为VerilogHDL语言。本专利技术中,SM3杂凑加密系统,为基于硬件描述语言创建的加密系统,包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块;其中,消息扩展模块,用于在控制模块的控制下,获取待加密消息,并对待加密消息进行消息扩展,得到包括132个字的扩展后消息;消息压缩模块,用于在控制模块的控制下,对扩展后消息进行压缩处理,得到相应的杂凑值,并将杂凑值保存至预设的结果寄存器;加密数据读取模块,用于在控制模块的控制下,对保存在结果寄存器中的杂凑值进行输出处理。由上可知,本专利技术基于硬件描述语言来来创建上述SM3杂凑加密系统,其中,该SM3杂凑加密系统包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块,其中,上述消息扩展模块、消息压缩模块和加密数据读取模块在控制模块的控制下,依次实现消息扩展、压缩和数据读取。本专利技术基于硬件描述语言创建的SM3杂凑加密系统可直接在硬件平台上实现SM3加密,由此也拓宽了SM3密码杂凑算法的应用范围。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种SM3杂凑加密系统结构示意图;图2为本专利技术实施例公开的一种SM3杂凑加密系统控制模块状态机图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种SM3杂凑加密系统,为基于硬件描述语言创建的加密系统,参见图1所示,该加密系统包括控制模块11、消息扩展模块12、消息压缩模块13和加密数据读取模块14;其中,消息扩展模块12,用于在控制模块11的控制下,获取待加密消息,并对待加密消息进行消息扩展,得到包括132个字的扩展后消息;其中,上述132个字中的每个字均是32位的字。消息压缩模块13,用于在控制模块11的控制下,对扩展后消息进行压缩处理,得到相应的杂凑值,并将杂凑值保存至预设的结果寄存器;加密数据读取模块14,用于在控制模块11的控制下,对保存在结果寄存器中的杂凑值进行输出处理。具体的,上述硬件描述语言可以为VerilogHDL语言(HDL,即HardwareDescriptionLanguage)。本实施例中,上述结果寄存器为256位的寄存器。另外,本实施例中,上述控制模块11具体可以为采用标准的三段式FSM(即FiniteStateMachine,状态机)设计得到的功能模块。由上可知,本专利技术实施例基于硬件描述语言来来创建上述SM3杂凑加密系统,其中,该SM3杂凑加密系统包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块,其中,上述消息扩展模块、消息压缩模块和加密数据读取模块在控制模块的控制下,依次实现消息扩展、压缩和数据读取。本专利技术实施例基于硬件描述语言创建的SM3杂凑加密系统可直接在硬件平台上实现SM3加密,由此也拓宽了SM3密码杂凑算法的应用范围。本专利技术实施例公开了一种具体的SM3杂凑加密系统,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:上一实施例中,SM3杂凑加密系统需要通过消息扩展模块对待加密消息进行消息扩展处理,以得到包括132个字的扩展后消息。本实施例中,上述消息扩展模块,具体可以包括第一扩展子模块、第二扩展子模块和合并子模块;其中,第一扩展子模块,用于在前4个时钟周期的每个时钟周期内,均分别计算第一组迭代过程的一个迭代值,得到第一组迭代过程中的前4个迭代值;第二扩展子模块,用于在后64个时钟周期的每个时钟周期内,均分别计算第一组迭代过程的一个迭代值和第二组迭代过程的一个迭代值,得到第一组迭代过程中的后64个迭代值以及第二组迭代过程中的全部64个迭代值;合并子模块,用于将第一组迭代过程中的全部68个迭代值和第二迭代过程中的全部64个迭代值进行合并,得到扩展后消息。也即,本专利技术实施例只需在68个时钟周期内便可得到132个迭代值,也即得到132个32位的字。其中,在前4个时钟周期内,获取第一组迭代过程的前4个迭代值,而在后64个时钟周期的每个时钟周期之内,均分别获取第一组迭代过程中的一个迭代值以及获取第二组迭代过程中的一个迭代值,从而在后64个本文档来自技高网...
一种SM3杂凑加密系统

【技术保护点】
一种SM3杂凑加密系统,其特征在于,为基于硬件描述语言创建的加密系统,包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块;其中,所述消息扩展模块,用于在所述控制模块的控制下,获取待加密消息,并对所述待加密消息进行消息扩展,得到包括132个字的扩展后消息;所述消息压缩模块,用于在所述控制模块的控制下,对所述扩展后消息进行压缩处理,得到相应的杂凑值,并将所述杂凑值保存至预设的结果寄存器;所述加密数据读取模块,用于在所述控制模块的控制下,对保存在所述结果寄存器中的所述杂凑值进行输出处理。

【技术特征摘要】
1.一种SM3杂凑加密系统,其特征在于,为基于硬件描述语言创建的加密系统,包括控制模块、消息扩展模块、消息压缩模块和加密数据读取模块;其中,所述消息扩展模块,用于在所述控制模块的控制下,获取待加密消息,并对所述待加密消息进行消息扩展,得到包括132个字的扩展后消息;所述消息压缩模块,用于在所述控制模块的控制下,对所述扩展后消息进行压缩处理,得到相应的杂凑值,并将所述杂凑值保存至预设的结果寄存器;所述加密数据读取模块,用于在所述控制模块的控制下,对保存在所述结果寄存器中的所述杂凑值进行输出处理。2.根据权利要求1所述的SM3杂凑加密系统,其特征在于,所述控制模块为采用标准的三段式FSM设计得到的功能模块。3.根据权利要求1所述的SM3杂凑加密系统,其特征在于,所述消息扩展模块,包括:第一扩展子模块,用于在前4个时钟周期的每个时钟周期内,均分别计算第一组迭代过程的一个迭代值,得到所述第一组迭代过程中的前4个迭代值;第二扩展子模块,用于在后64个时钟周期的每个时钟周期内,均分别计算所述第一组迭代过程的...

【专利技术属性】
技术研发人员:殷含薇熊晓明
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

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

1