买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种多配置模式的SIMON算法加密电路,包括数据流控制单元、轮常数切换单元、秘钥扩展单元以及轮函数运算单元,数据流控制单元均与轮常数切换单元、秘钥扩展单元以及轮函数运算单元的输入端连接,数据流控制单元的另外一个输出端用于输出加密完成信号;轮常数切换单元的输出端与秘钥扩展单元的输入端连接;秘钥扩展单元的输出端与轮函数运算单元的输入端连接,每个时钟周期向轮函数运算单元输出一组轮秘钥;轮函数运算单元进行相应配置模式下的轮操作,直至所述数据流控制单元输出加密完成信号,输出密文;本发明的优点在于:结构简单,具有多种配置模式,芯片体积小,有利于其在物联网场景的广泛使用。
主权项:1.一种多配置模式的SIMON算法加密电路,其特征在于,包括数据流控制单元、轮常数切换单元、秘钥扩展单元以及轮函数运算单元,所述数据流控制单元包括三个输出端,其中两个输出端分别输出模式信号和使能信号并均与轮常数切换单元、秘钥扩展单元以及轮函数运算单元的输入端连接,数据流控制单元的另外一个输出端用于输出加密完成信号;所述数据流控制单元包括数据流同步子电路和加密完成指示器;所述数据流同步子电路包括两组第一寄存器,两组第一寄存器分别在时钟信号驱动下对输入的加密使能信号、模式选择信号延迟一个时钟周期后,输出其余单元所需要的使能信号以及模式信号,协调各单元同步启动;所述加密完成指示器包括计数器、加密轮数ROM、比较器以及触发器,所述计数器接收使能信号,在使能信号有效后开始对时钟周期进行计数;加密轮数ROM接收模式信号,各加密配置模式所定义的加密轮数使用加密轮数ROM预存,由模式信号选择当前加密配置模式所需要的加密轮数;比较器接收计数器以及加密轮数ROM的数据,将当前加密配置模式所需要的加密轮数与计数器的计数值进行比较,比较结果输出给触发器,直至当前加密配置模式所需要的加密轮数与计数器的计数值相等时触发器输出加密完成信号;所述轮常数切换单元的输出端与秘钥扩展单元的输入端连接;所述轮常数切换单元包括轮常数ROM和并入串出移位器;所述轮常数ROM预先存储SIMON加密算法所定义的5种轮常数z0、z1、z2、z3、z4,依据输入的模式信号从轮常数ROM输出5种轮常数之一,在使能信号有效之后的时钟上升沿将该轮常数并行加载到并入串出移位器中,之后进入串行移位模式,每个时钟周期输出最低位数据到所述秘钥扩展单元;所述秘钥扩展单元的输出端与轮函数运算单元的输入端连接,每个时钟周期向轮函数运算单元输出一组轮秘钥;所述秘钥扩展单元包括顺序编号的4组64位寄存器ki3、ki2、ki1、ki0以及多模秘钥运算子电路;4组64位寄存器ki3、ki2、ki1、ki0分别接收外部输入的初始秘钥,4组64位寄存器ki3、ki2、ki1、ki0顺次连接;寄存器ki3前接有第四多路选择器,寄存器ki2前接有第五多路选择器,寄存器ki1前接有第六多路选择器,寄存器ki0前接有第七多路选择器,第七多路选择器与寄存器ki1之间通过第八多路选择器连接,第五多路选择器以及第六多路选择器的输出端均接第九多路选择器的输入端,第九多路选择器的输出端接第八多路选择器的输入端,第四多路选择器、第五多路选择器、第六多路选择器以及第七多路选择器的信号选择端均接使能信号en,第八多路选择器和第九多路选择器的信号选择端均接模式信号mode[3:0];所述多模秘钥运算子电路在模式信号控制下,对寄存器ki3的值进行循环右移3位得到信号sr3[63:0],对寄存器ki3的值进行循环右移4位得到信号sr4[63:0],寄存器ki1的值与信号sr3[63:0]进行按位异或运算得到信号res1[63:0]并输出给一个第三多路选择器,信号sr1[63:0]与信号sr4[63:0]进行按位异或运算得到信号res2[63:0]并输出给另一个第三多路选择器;两个第三多路选择器依据模式信号所选择的加密配置模式,分别在信号sr3[63:0]与信号res1[63:0]、信号sr4[63:0]与信号res2[63:0]之间选择两路信号输出,两路输出信号分别与寄存器ki0的值进行按位异或操作,所得结果中有效秘钥最低位再与轮常数切换单元的输出最低位进行异或运算,同时秘钥有效部分次低位不变,其余高位取反,运算结果以及寄存器ki3、寄存器ki2以及寄存器ki1的当前值依次覆盖寄存器ki3、寄存器ki2、寄存器ki1以及寄存器ki0的当前值分别作为下一轮运算的寄存器ki3、寄存器ki2、寄存器ki1以及寄存器ki0的值,第八多路选择器和第九多路选择器根据模式信号mode[3:0]的控制选择相应的秘钥扩展方式;所述轮函数运算单元的输入端接收外部输入的时钟信号、复位信号、待加密明文、数据流控制单元输入的模式信号和使能信号以及所述秘钥扩展单元输出的轮秘钥,在时钟信号的上升沿将外部输入的待加密明文分组并锁存,分组的数据依据模式信号产生控制逻辑,进行相应配置模式下的轮操作,直至所述数据流控制单元输出加密完成信号,输出密文;所述轮函数运算单元包括两组64位的高位寄存器和低位寄存器以及多模轮操作子电路;所述高位寄存器和低位寄存器均接收输入的待加密明文,按照高低位均分并分别存储;所述多模轮操作子电路,将高位寄存器中的数据,分别进行循环左移1位、循环左移8位和循环左移2位,进行循环移位后的运算结果分别为信号sl1[63:0]、信号sl8[63:0]、信号sl2[63:0],信号sl1[63:0]与信号sl8[63:0]进行按位与运算,运算输出结果与低位寄存器进行按位异或运算得到信号xor1[63:0],信号xor1[63:0]与信号sl2[63:0]以及所述秘钥扩展单元的输出的轮秘钥key[63:0]进行按位异或运算,所得运算结果以及高位寄存器的当前值在时钟上升沿同步下依次覆盖高位寄存器的当前值以及低位寄存器的当前值,得到下一轮运算的高位寄存器的值以及下一轮运算的低位寄存器的值。
全文数据:
权利要求:
百度查询: 合肥工业大学 一种多配置模式的SIMON算法加密电路
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。