[发明专利]用于实现高性能SM3算法的系统及高性能SM3算法实现方法在审
| 申请号: | 201910007811.7 | 申请日: | 2019-01-04 |
| 公开(公告)号: | CN109743158A | 公开(公告)日: | 2019-05-10 |
| 发明(设计)人: | 张洪柳;张鹏程;刘田明 | 申请(专利权)人: | 青岛方寸微电子科技有限公司 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06;G06F12/0802 |
| 代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 李琳 |
| 地址: | 266111 山东省青岛市高新区*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据管理装置 配置寄存器 数据补充 缓存 接口总线 配置信息 算法实现 笔数据 发送 补数 压缩 算法 加密 有效数据长度 读取 源地址信息 接收接口 压缩处理 装置接收 总线装置 笔笔 迭代 并发 配置 | ||
1.一种用于实现高性能SM3算法的系统,其特征是,该系统包括:
配置寄存器,用于配置待压缩数据的有效数据长度和源地址信息,并将配置的信息发送给接口总线装置和数据管理装置;还接收加密核反馈回的处理后的数据,并进行缓存;
接口总线装置,用于接收配置寄存器发送的配置信息,从相应的存储地址中选取出待压缩的数据,并发送到数据管理装置中;
数据管理装置,用于接收接口总线装置发送的数据,根据配置寄存器发送的配置信息,判断最后一笔待压缩数据是否需要将数据补充成两笔,若不需要,则将最后一笔待压缩数据补充成一笔数据,并将补数操作后的数据进行缓存;若需要,则将最后一笔待压缩数据补充成两笔数据,并将补数操作后的数据进行缓存;
加密核,用于从数据管理装置中读取待压缩的数据,采用SM3算法对数据进行迭代压缩处理,将处理后的数据反馈给配置寄存器;并产生相应的中断发送给CPU。
2.根据权利要求1所述的用于实现高性能SM3算法的系统,其特征是,所述接口总线装置包括依次连接的接口、总线和存储器,所述接口分别与配置寄存器、数据管理装置连接,接收配置寄存器发送的配置信息,通过总线从存储器中将对应的地址存储的待压缩数据取出,并将获取的待压缩数据发送到数据管理装置中。
3.根据权利要求1所述的用于实现高性能SM3算法的系统,其特征是,所述数据管理装置包括FIFO、补数控制器和缓存器,所述FIFO接收接口发送的数据,并进行缓存,判断待压缩的数据是否为最后一笔待压缩的数据,若不是,则将待压缩数据直接传输给缓存器;若是,则根据配置寄存器发送的配置信息,判断最后一笔待压缩数据是否需要将数据补充成两笔,若不需要,则将最后一笔待压缩数据发送给补数控制器将数据补充成一笔数据,再发送到缓存器中;若需要,则将最后一笔待压缩数据发送给补数控制器将数据补充成两笔数据,再发送到缓存器中;所述补数控制器对最后一笔待压缩数据进行补数操作,并将补数操作后的数据存储到缓存器中。
4.一种高性能SM3算法实现方法,该方法基于权利要求1-3中任一项所述的用于实现高性能SM3算法的系统实现的,其特征是,该方法包括以下步骤:
配置待压缩数据的有效数据长度和源地址;
根据配置的源地址从存储器中读取待压缩的数据,并缓存;
判断是否为最后一笔待压缩的数据;
若不是,则直接对待压缩数据进行迭代压缩处理;
若是,则判断最后一笔待压缩数据是否需要将数据补充成两笔,若不需要,则将最后一笔待压缩数据补充成一笔数据,并对补数操作后的数据进行迭代压缩处理;若需要,则将最后一笔待压缩数据补充成两笔数据,并对补数操作后的数据进行迭代压缩处理。
5.根据权利要求4所述的高性能SM3算法实现方法,其特征是,所述对最后一笔待压缩数据进行补数操作的步骤包括:
根据配置的有效数据长度,取出最后一笔待压缩数据的有效数据,根据有效数据的长度产生相应的补充数据,再将有效数据与补充数据一起写入到加密核中进行迭代压缩处理。
6.根据权利要求5所述的高性能SM3算法实现方法,其特征是,所述补充数据的产生方法为:
若最后一笔待压缩数据的有效数据长度小于448比特,在有效数据之后补1,最后64比特写有效数据长度,中间填充若干个零;
若最后一笔待压缩数据的有效数据长度大于等于448比特,小于512bit,则置换成两笔数据,在第一笔数据有效位后补1,并补0凑够512比特;第二笔数据由448比特0和最后64比特的有效数据长度组成;
若最后一笔待压缩数据的有效数据长度等于512比特,则在该有效数据之后再加上一笔1比特1、447比特0和64比特的有效数据有效长度。
7.根据权利要求4所述的高性能SM3算法实现方法,其特征是,在迭代压缩处理的过程中,接口总线装置将下一次待迭代压缩的数据存入到数据管理装置的FIFO缓存器中;数据管理装置的缓存器从FIFO中缓存器取出16个字数据,作为下一次待压缩数据,待当前这笔数据压缩结束后,将下一次待压缩数据写入到加密核中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛方寸微电子科技有限公司,未经青岛方寸微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910007811.7/1.html,转载请声明来源钻瓜专利网。





