[发明专利]一种用于实现SM3杂凑算法的系统及SM3杂凑算法实现方法在审
申请号: | 201610879474.7 | 申请日: | 2016-09-27 |
公开(公告)号: | CN106603222A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 江冠成 | 申请(专利权)人: | 江冠成 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100000*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实现 sm3 杂凑 算法 系统 方法 | ||
技术领域
本发明涉及信息加密技术领域,尤其是涉及一种用于实现SM3杂凑算法的系统及SM3杂凑算法实现方法。
背景技术
杂凑算法是在加解密运算中非常重要的不可逆运算,受到各国密码管理机构的重视。这种算法的基本内涵是针对长度任意的message消息进行特定的运算,该运算最终将输出长度恒定的杂凑值。杂凑算法的操作步骤是不需要保密。一旦输入有及其细微的变化,其输出的杂凑值的改变也是非常彻底的,这种“雪崩效应”将使得不同输入产生杂凑值输出相同的几率降到该碰撞被认可为不可能事件的阈值。美国的SHA-256算法等标准早已制定完成,而我国国产杂凑算法SM3也于2010年底由国密办正式颁布。但在当前数据量庞大、处理实时的应用背景下,传统的软件杂凑算法操作越来越无法达到用户所需要的算法实现速度和效率。
在当前大数据处理、实时应用处理的时代,传统基于x86计算机的串行软件杂凑算法已无法满足特定场合和环境下用户所期望的算法实现速度和效率。因此探究高性能硬件平台来实现高速低资源的杂凑算法就十分必要。
发明内容
针对以上问题,本发明提供了一种用于实现SM3杂凑算法的系统及SM3杂凑算法实现方法,该系统结构简单,性能稳定,减少寄存器和逻辑单元的开销,其实现方法运行速度和数据吞吐率的速度快。
具体技术内容为:一种用于实现SM3杂凑算法的系统,其包括控制部分、输入输出部分和运算部分,控制部分包括同步电路的时钟信号输入装置、同步使能信号输入装置和异步复位信号的输入装置,输入输出部分包括系统核心运算装置和外围电路的数据流交互装置,运算部分包括消息扩展运算装置和迭代压缩运算装置,消息扩展运算装置包括扩展字Wj和W′j的逻辑生成电路,迭代压缩运算装置包括常量Tj变移位数左循环移位电路、FFj和GGj布尔函数实现电路、中间变量SS1SS2TT1TT2实现电路、置换函数P0P1实现电路和寄存器操作电路。
所述输入输出部分包含双向的数据和地址线。
所述系统核心运算装置内设置有ARM串行嵌入式芯片。
SM3杂凑算法的实现方法为,将文字符串首先通过ARM串行嵌入式芯片进行消息分组和填充,ARM串行嵌入式芯片通过符合某些标准接口的数据总线将512比特数据送入运算部分内,外围电路的数据流交互装置将执行运算部分的同步电路的时钟信号和同异步复位信号的控制量的操作,当运算部分中的运算完成信号发出后,ARM串行嵌入式芯片将读取运算部分运算生成的256比特杂凑值,所述消息扩展运算装置在进行分组扩展逻辑设计时,SM3杂凑算法中的w和wpie字扩展寄存器有132个,不断更新w和wpie字扩展寄存器,使得132个字扩展值可以只在若干个reg型变量实现,通过复用的方式减少寄存器和逻辑单元的开销,所述迭代压缩运算装置在进行迭代压缩逻辑设计时,Tj变移位数左循环移位电路采用2个32比特寄存器实现常量读写,每个时钟周期左移一位,所述FFj和GGj布尔函数实现电路通过三目运算符实现前j∈[0,15]迭代与后j∈[16,63]迭代计算式不同,中间变量和字寄存器通过多增加一个辅助变量,实现赋值与更新。
w字扩展寄存器的值为大移位寄存器的左端w0,wpie字扩展寄存器的值始终为w0和w4的异或,随着大移位寄存器的宏观左移,w和wpie的字扩展寄存器不断更新,通过复用的方式减少寄存器和逻辑单元的开销。
采用了32比特宽度的数据线进行数据输入输出,包括核心运算的66个时钟节和16个节拍进行输入,8个节拍进行输出。
由于采取了上述技术方案,与现有技术相比,本发明的优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江冠成,未经江冠成许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610879474.7/2.html,转载请声明来源钻瓜专利网。