发明名称 一种超高速实现SM4算法的系统及其运行方法
摘要 本发明涉及一种超高速实现SM4算法的系统,包括控制模块、密扩/加/解密模块、加/解密模块、解/加密模块、数据分路器、密扩/加解密选择器、轮密/结果分路器、结果选择器,本发明解决了现有硬件系统中必须要等待32个轮密钥计算完毕才可加密带来的速度低下的问题,在单任务运算时处理速度即可达到现有硬件系统的近两倍;本发明基于模块复用的思想,实现了三组任务的同步加/解密运算,解决了传统设计中在频繁的加密任务时解密模块被闲置的问题,有效提高了系统的利用率和运算速度,在密钥未变的多任务运算时处理速度达到单任务运算的三倍,最快达到现有硬件系统的六倍。
申请公布号 CN104579636A 申请公布日期 2015.04.29
申请号 CN201510083027.6 申请日期 2015.02.16
申请人 滨州职业学院 发明人 吕茜;曹艳艳
分类号 H04L9/06(2006.01)I 主分类号 H04L9/06(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 吕利敏
主权项 一种超高速实现SM4算法的系统,其特征在于,包括:控制模块、密扩/加/解密模块、加/解密模块、解/加密模块、数据分路器、密扩/加解密选择器、轮密/结果分路器、结果选择器,所述控制模块包括微处理器接口、启动模块、数据通路模块、数据缓存区、比较器、异或运算模块和新/旧轮密选择器,所述数据缓存区包括旧密钥存储区、新密钥存储区、系统参数存储区、固有参数存储区、原始数据存储区、旧轮密存储区、新轮密存储区和结果数据存储区;所述微处理器接口连接微处理器;所述启动模块的三组迭代次数输入分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的迭代次数输出,所述启动模块的三个启动指令输出分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的启动指令输入;所述数据通路模块的三组迭代次数输入分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的迭代次数输出,所述数据通路模块的三个通路设好信号输出分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的通路设好信号输入;所述数据通路模块通过其第3、4、5、6组地址输出连接所述数据分路器、所述密扩/加解密选择器、所述轮密/结果分路器、所述结果选择器的地址输入;所述数据分路器的数据输入连接所述原始数据存储区的输出和所述新/旧轮密选择器的输出;所述数据分路器的输出连接所述密扩/加解密选择器、所述加/解密模块、所述解/加密模块的数据输入;所述密扩/加解密选择器的数据输入连接所述异或运算模块、所述固有参数存储区的输出和所述数据分路器的输出;所述密扩/加解密选择器的输出连接所述密扩/加/解密模块的数据输入;所述密扩/加/解密模块的数据输出连接所述轮密/结果分路器的数据输入;所述轮密/结果分路器的输出连接所述新轮密存储区的输入、所述结果选择器的输入;所述结果选择器的数据输入连接所述轮密/结果分路器的输出、所述加/解密模块的输出、所述解/加密模块的输出;所述结果选择器的输出连接所述结果数据存储区;所述密扩/加/解密模块根据接收的所述控制模块的指令,选择自身的工作模式为密钥扩展或者加密/解密,选择自身的工作模式首选为密钥扩展;所述加/解密模块根据所述控制模块输出的数据选择自身的工作模式为加密或者解密,选择自身的工作模式首选为加密;所述解/加密模块根据控制模块输出的数据选择自身的工作模式为解密或者加密,选择自身的工作模式首选为解密;所述微处理器接口用于接收微处理器传送的指令和数据,并将最终加解密结果返回;所述启动模块用于接收所述微处理器接口输出的系统指令及所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块输出的迭代次数信号,根据所述比较器传送的密钥是否变化信号,综合分析确定当前的工作模块及其工作模式,并输出各模块的工作模式、数据号、所需密钥编号和系统的密钥扩展编号发送给所述数据通路模块,输出启动指令给所选模块,启动相应模块运行;所述数据通路模块用于接收所述启动模块输出的各模块的工作模式、数据号、所需密钥编号和系统的密钥扩展编号,根据接收的所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的迭代次数信号的变化,综合分析,及时判定满足新一轮运算条件的模块,确定当前要设置的数据通路,输出地址信号给所述固有参数存储区、所述旧轮密存储区、所述新轮密存储区、所述新/旧轮密选择器、所述数据分路器、所述密扩/加解密选择器、所述轮密/结果分路器及所述结果选择器,将数据顺利送达所需模块,最后输出通路设好信号给需要通路的模块。
地址 256603 山东省滨州市黄河十二路919号