主权项 |
一种超高速实现SM4算法的系统,其特征在于,包括:控制模块、密扩/加/解密模块、加/解密模块、解/加密模块、数据分路器、密扩/加解密选择器、轮密/结果分路器、结果选择器,所述控制模块包括微处理器接口、启动模块、数据通路模块、数据缓存区、比较器、异或运算模块和新/旧轮密选择器,所述数据缓存区包括旧密钥存储区、新密钥存储区、系统参数存储区、固有参数存储区、原始数据存储区、旧轮密存储区、新轮密存储区和结果数据存储区;所述微处理器接口连接微处理器;所述启动模块的三组迭代次数输入分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的迭代次数输出,所述启动模块的三个启动指令输出分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的启动指令输入;所述数据通路模块的三组迭代次数输入分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的迭代次数输出,所述数据通路模块的三个通路设好信号输出分别连接所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的通路设好信号输入;所述数据通路模块通过其第3、4、5、6组地址输出连接所述数据分路器、所述密扩/加解密选择器、所述轮密/结果分路器、所述结果选择器的地址输入;所述数据分路器的数据输入连接所述原始数据存储区的输出和所述新/旧轮密选择器的输出;所述数据分路器的输出连接所述密扩/加解密选择器、所述加/解密模块、所述解/加密模块的数据输入;所述密扩/加解密选择器的数据输入连接所述异或运算模块、所述固有参数存储区的输出和所述数据分路器的输出;所述密扩/加解密选择器的输出连接所述密扩/加/解密模块的数据输入;所述密扩/加/解密模块的数据输出连接所述轮密/结果分路器的数据输入;所述轮密/结果分路器的输出连接所述新轮密存储区的输入、所述结果选择器的输入;所述结果选择器的数据输入连接所述轮密/结果分路器的输出、所述加/解密模块的输出、所述解/加密模块的输出;所述结果选择器的输出连接所述结果数据存储区;所述密扩/加/解密模块根据接收的所述控制模块的指令,选择自身的工作模式为密钥扩展或者加密/解密,选择自身的工作模式首选为密钥扩展;所述加/解密模块根据所述控制模块输出的数据选择自身的工作模式为加密或者解密,选择自身的工作模式首选为加密;所述解/加密模块根据控制模块输出的数据选择自身的工作模式为解密或者加密,选择自身的工作模式首选为解密;所述微处理器接口用于接收微处理器传送的指令和数据,并将最终加解密结果返回;所述启动模块用于接收所述微处理器接口输出的系统指令及所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块输出的迭代次数信号,根据所述比较器传送的密钥是否变化信号,综合分析确定当前的工作模块及其工作模式,并输出各模块的工作模式、数据号、所需密钥编号和系统的密钥扩展编号发送给所述数据通路模块,输出启动指令给所选模块,启动相应模块运行;所述数据通路模块用于接收所述启动模块输出的各模块的工作模式、数据号、所需密钥编号和系统的密钥扩展编号,根据接收的所述密扩/加/解密模块、所述加/解密模块、所述解/加密模块的迭代次数信号的变化,综合分析,及时判定满足新一轮运算条件的模块,确定当前要设置的数据通路,输出地址信号给所述固有参数存储区、所述旧轮密存储区、所述新轮密存储区、所述新/旧轮密选择器、所述数据分路器、所述密扩/加解密选择器、所述轮密/结果分路器及所述结果选择器,将数据顺利送达所需模块,最后输出通路设好信号给需要通路的模块。 |