[发明专利]一种多配置模式的SIMON算法加密电路有效
申请号: | 202010731400.5 | 申请日: | 2020-07-27 |
公开(公告)号: | CN111901115B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 程心;李斌;张章;张永强 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | H04L9/18 | 分类号: | H04L9/18 |
代理公司: | 合肥市浩智运专利代理事务所(普通合伙) 34124 | 代理人: | 丁瑞瑞 |
地址: | 242000 安徽省宣城市经济技*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 配置 模式 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]进行按位异或运算,所得运算结果以及高位寄存器的当前值在时钟上升沿同步下依次覆盖高位寄存器的当前值以及低位寄存器的当前值,得到下一轮运算的高位寄存器的值以及下一轮运算的低位寄存器的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010731400.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:尾矿库初期坝
- 下一篇:一种防腐耐磨水性填料及其制备方法和在涂料中的应用