一种折叠结构的SM3杂凑密码压缩运算电路制造技术

技术编号:12787486 阅读:82 留言:0更新日期:2016-01-28 16:00
本发明专利技术公开了一种折叠结构的SM3杂凑密码压缩运算电路,包括11个寄存器、5个与门、4个异或门、2个或门,1个非门、8个加法器、6个循环移位单元和21个选择器;折叠结构的SM3杂凑密码压缩运算电路将一轮压缩运算分为5个时钟周期进行,每个时钟周期中各32位寄存器参与执行一次模232加法或者循环左移或者按位异或操作,并且最多只进行一次模232加法操作。与普通迭代方式压缩运算电路一个时钟周期完成一轮压缩运算不同,折叠结构SM3压缩运算电路以每轮压缩运算增加4个时钟周期为代价,换取了电路规模的减小和压缩运算电路关键路径延时的大幅减小。

【技术实现步骤摘要】

本专利技术属于杂凑密码学
,更具体地,涉及一种折叠结构的SM3杂凑密码 压缩运算电路。
技术介绍
杂凑密码算法在现代密码学中占有重要的位置。杂凑密码算法计算了一个消息的 摘要,而这个摘要是一个非常短的、固定长度的位字符串。对某个特定的消息而言,消息摘 要(或杂凑值)可以看做是该消息的指纹,是消息的唯一表示。杂凑密码在密码学中的应 用有很多方面,是数字签名方案和消息验证码的核心部分。 九十年代初,NIST向全球发布一种新的杂凑密码算法SHA-0,并经过几年的修订 推出SHA-1。SHA-1很快就取代MD5,成为使用最广泛的杂凑密码算法,目前许多应用仍在使 用SHA-1。2001年,为增强安全性,NIST发布了第二代杂凑密码算法SHA-2系列。2007年, NIST开始征集新的杂凑密码算法,经过为期5年的三轮竞赛,最终Keccak算法赢得竞赛,成 为SHA-3算法。在密码学高速发展的背景下,中国国家密码管理局于2010年的12月份公 布《SM3杂凑密码算法》,其安全要求适用于我国的商用密码产品。 SM3杂凑密码算法的压缩运算如下所示: 为了实现上述SM3杂凑密码算法,现有的电路有两种方式:一种是迭代方法,即在 单周期执行一次压缩运算;另一种是循环展开方式,即在单周期执行多次压缩运算。由于迭 代方式和循环展开方式在单周期执行一次或多次压缩运算,因此导致了压缩运算在电路实 现时较大的资源占用和较大的关键路径延时。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种占用资源小,关键路径延时小, 采用数字电路实现的折叠结构SM3杂凑密码压缩运算电路。 本专利技术提供的折叠结构的SM3杂凑密码压缩运算电路,包括第一寄存器、第二寄 存器、第三寄存器、第四寄存器、第五寄存器、第六寄存器、第七寄存器、第八寄存器、第九寄 存器、第十寄存器、第i^一寄存器、第一与门、第二与门、第三与门、第四与门、第五与门、第 一异或门、第二异或门、第三异或门、第四异或门、第一或门、第二或门、第一非门、第一加法 器、第二加法器、第三加法器、第四加法器、第五加法器、第六加法器、第七加法器、第八加法 器、第一循环左移单元、第五循环左移单元、第二循环左移单元、第三循环左移单元、第四循 环左移单元、第六循环左移单元、第一选择器、第二选择器、第三选择器、第四选择器、第五 选择器、第六选择器、第七选择器、第八选择器、第九选择器、第十选择器、第十一选择器、第 十二选择器、第十三选择器、第十四选择器、第十五选择器、第十六选择器、第十七选择器、 第十八选择器、第十九选择器、第二十选择器和第二十一选择器;所述第一寄存器的输出 端分别与所述第一与门的第一输入端、第三与门的第一输入端、第一异或门的第一输入端、 第三循环左移单元的输入端、第十四选择器的第二输入端和第十五选择器的第一输入端连 接;所述第二寄存器的输出端分别与所述第一与门的第二输入端、所述第二与门的第一输 入端、第一异或门的第二输入端、第十五选择器的第二输入端、第五循环左移单兀的输入端 连接;所述第三寄存器的输出端分别与所述第二与门的第二输入端、所述第三与门的第二 输入端、所述第一异或门的第三输入端、所述第十六选择器的第二输入端、所述第十七选择 器的第一输入端连接;所述第四寄存器的输出端分别与所述第一加法器的第二输入端和所 述第十七选择器的第二输入端连接;所述第五寄存器的输出端分别与第六加法器的第二 输入端、所述第四与门的第一输入端、所述第一非门的输入端、所述第二异或门的第一输入 端、所述第十八选择器的第二输入端和所述第十九选择器的第一输入端连接;所述第六寄 存器的输出端分别与所述第四与门的第二输入端、所述第二异或门的第二输入端、所述第 十九选择器的第二输入端、所述第六循环左移单元的输入端连接;所述第七寄存器的输出 端分别与所述第五与门的第二输入端、第二异或门的第三输入端、第二十选择器的第二输 入端、第二十一选择器的第一输入端连接;所述第八寄存器的输出端分别与所述第三加法 器的第二输入端、所述第二十一选择器的第二输入端连接;所述第九寄存器的输出端分别 与所述第二选择器的第二输入端、所述第一加法器的第一输入端、所述第二加法器的第一 输入端和所述第八加法器的第一输入端连接;所述第十寄存器的输出端分别与所述第三加 法器的第一输入端、所述第四加法器的第一输入端、所述第五加法器的第一输入端、所述第 一循环左移单元的输入端、所述第二循环左移单元的输入端、所述第三异或门的第三输入 端和所述第六选择器的第二输入端连接;所述第十一寄存器的输出端分别与所述第五加法 器的第二输入端、所述第七加法器的第一输入端、所述第八加法器的第二输入端、所述第四 循环左移单元的输入端、所述第四异或门的第一输入端和所述第十选择器的第二输入端连 接;所述第一与门的输出端与所述第一或门的第一输入端连接;所述第二与门的输出端与 所述第一或门的第二输入端连接;所述第三与门的输出端与所述第一或门的第三输入端连 接;所述第四与门的输出端与所述第二或门的第一输入端连接;所述第五与门的输出端与 所述第二或门的第二输入端连接;所述第一异或门的输出端与所述第一选择器的第二输入 端连接;所述第二异或门的输出端与所述第五选择器的第二输入端连接;所述第三异或门 的输出端与所述第十八选择器的第一输入端连接;所述第四异或门的输出端与所述第十三 选择器的第二输入端连接;所述第一或门的输出端与所述第一选择器的第一输入端连接; 所述第二或门的输出端与所述第五选择器的第一输入端连接;所述第一非门的输出端与所 述第五与门的第一输入端连接;所述第一加法器的输出端与所述第三选择器的第二输入端 连接;所述第二加法器的输出端与所述第四选择器的第二输入端连接;所述第三加法器的 输出端与所述第七选择器的第二输入端连接;所述第四加法器的输出端与所述第八选择器 的第二输入端连接;所述第五加法器的输出端与所述第九选择器的第二输入端连接;所述 第六加法器的输出端与所述第十选择器的第一输入端连接;所述第七加法器的输出端与所 述第十一选择器的第二输入端连接;所述第八加法器的输出端与所述第十四选择器的第一 输入端连接;所述第一循环左移单元的输出端与所述第三异或门的第一输入端连接;所述 第二循环左移单元的输出端与所述第三异或门的第二输入端连接;所述第三循环左移单元 的输出端,分别接第七加法器的第二输入端、第四异或门的第二输入端连接;所述第四循环 左移单元的输出端与所述第十二选择器的第二输入端连接;所述第五循环左移单元的输出 端与所述第十六选择器的第一输入端连接;所述第六循环左移单元的输出端与所述第二十 选择器的第一输入端连接;所述第一选择器的输出端与所述第二选择器的第一输入端连 接;所述第二选择器的输出端与所述第三选择器的第一输入端连接;所述第三选择器的输 出端与所述第四选择器的第一输入端连接;所述第四选择器的输出端与所述第九寄存器的 输入端连接;所述第五选择器的输出端与所述第六选择器的第一输入端连接;所述第六选 择器的输出端与所述第七选择器的第一输入端连接;所述第七选择器的输出端与所述第八 选择器的第一输入端连接;所述第八选择器的输出端与所述第九选择器的第一输入端连 接;所本文档来自技高网...
一种折叠结构的SM3杂凑密码压缩运算电路

【技术保护点】
一种折叠结构的SM3杂凑密码压缩运算电路,其特征在于,包括第一寄存器、第二寄存器、第三寄存器、第四寄存器、第五寄存器、第六寄存器、第七寄存器、第八寄存器、第九寄存器、第十寄存器、第十一寄存器、第一与门、第二与门、第三与门、第四与门、第五与门、第一异或门、第二异或门、第三异或门、第四异或门、第一或门、第二或门、第一非门、第一加法器、第二加法器、第三加法器、第四加法器、第五加法器、第六加法器、第七加法器、第八加法器、第一循环左移单元、第五循环左移单元、第二循环左移单元、第三循环左移单元、第四循环左移单元、第六循环左移单元、第一选择器、第二选择器、第三选择器、第四选择器、第五选择器、第六选择器、第七选择器、第八选择器、第九选择器、第十选择器、第十一选择器、第十二选择器、第十三选择器、第十四选择器、第十五选择器、第十六选择器、第十七选择器、第十八选择器、第十九选择器、第二十选择器和第二十一选择器;所述第一寄存器的输出端分别与所述第一与门的第一输入端、第三与门的第一输入端、第一异或门的第一输入端、第三循环左移单元的输入端、第十四选择器的第二输入端和第十五选择器的第一输入端连接;所述第二寄存器的输出端分别与所述第一与门的第二输入端、所述第二与门的第一输入端、第一异或门的第二输入端、第十五选择器的第二输入端、第五循环左移单元的输入端连接;所述第三寄存器的输出端分别与所述第二与门的第二输入端、所述第三与门的第二输入端、所述第一异或门的第三输入端、所述第十六选择器的第二输入端、所述第十七选择器的第一输入端连接;所述第四寄存器的输出端分别与所述第一加法器的第二输入端和所述第十七选择器的第二输入端连接;所述第五寄存器的输出端分别与第六加法器的第二输入端、所述第四与门的第一输入端、所述第一非门的输入端、所述第二异或门的第一输入端、所述第十八选择器的第二输入端和所述第十九选择器的第一输入端连接;所述第六寄存器的输出端分别与所述第四与门的第二输入端、所述第二异或门的第二输入端、所述第十九选择器的第二输入端、所述第六循环左移单元的输入端连接;所述第七寄存器的输出端分别与所述第五与门的第二输入端、第二异或门的第三输入端、第二十选择器的第二输入端、第二十一选择器的第一输入端连接;所述第八寄存器的输出端分别与所述第三加法器的第二输入端、所述第二十一选择器的第二输入端连接;所述第九寄存器的输出端分别与所述第二选择器的第二输入端、所述第一加法器的第一输入端、所述第二加法器的第一输入端和所述第八加法器的第一输入端连接;所述第十寄存器的输出端分别与所述第三加法器的第一输入端、所述第四加法器的第一输入端、所述第五加法器的第一输入端、所述第一循环左移单元的输入端、所述第二循环左移单元的输入端、所述第三异或门的第三输入端和所述第六选择器的第二输入端连接;所述第十一寄存器的输出端分别与所述第五加法器的第二输入端、所述第七加法器的第一输入端、所述第八加法器的第二输入端、所述第四循环左移单元的输入端、所述第四异或门的第一输入端和所述第十选择器的第二输入端连接;所述第一与门的输出端与所述第一或门的第一输入端连接;所述第二与门的输出端与所述第一或门的第二输入端连接;所述第三与门的输出端与所述第一或门的第三输入端连接;所述第四与门的输出端与所述第二或门的第一输入端连接;所述第五与门的输出端与所述第二或门的第二输入端连接;所述第一异或门的输出端与所述第一选择器的第二输入端连接;所述第二异或门的输出端与所述第五选择器的第二输入端连接;所述第三异或门的输出端与所述第十八选择器的第一输入端连接;所述第四异或门的输出端与所述第十三选择器的第二输入端连接;所述第一或门的输出端与所述第一选择器的第一输入端连接;所述第二或门的输出端与所述第五选择器的第一输入端连接;所述第一非门的输出端与所述第五与门的第一输入端连接;所述第一加法器的输出端与所述第三选择器的第二输入端连接;所述第二加法器的输出端与所述第四选择器的第二输入端连接;所述第三加法器的输出端与所述第七选择器的第二输入端连接;所述第四加法器的输出端与所述第八选择器的第二输入端连接;所述第五加法器的输出端与所述第九选择器的第二输入端连接;所述第六加法器的输出端与所述第十选择器的第一输入端连接;所述第七加法器的输出端与所述第十一选择器的第二输入端连接;所述第八加法器的输出端与所述第十四选择器的第一输入端连接;所述第一循环左移单元的输出端与所述第三异或门的第一输入端连接;所述第二循环左移单元的输出端与所述第三异或门的第二输入端连接;所述第三循环左移单元的输出端,分别接第七加法器的第二输入端、第四异或门的第二输入端连接;所述第四循环左移单元的输出端与所述第十二选择器的第二输入端连接;所述第五循环左移单元的输出端与所述第十六选择器的第一输入端连接;所述第六循...

【技术特征摘要】

【专利技术属性】
技术研发人员:郑朝霞蔚然邹雪城高峻朱国义田园
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1