[发明专利]一种实现智能卡SM4密码算法的协处理器有效
申请号: | 201410025955.2 | 申请日: | 2014-01-20 |
公开(公告)号: | CN103746796B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 孙金龙;曾广旺 | 申请(专利权)人: | 深圳华视微电子有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 深圳市瑞方达知识产权事务所(普通合伙)44314 | 代理人: | 张约宗,高瑞 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种实现智能卡SM4密码算法的协处理器,该协处理器包括:接口模块、有限状态机模块、寄存器文件模块和逻辑功能模块,其中,接口模块用于实现与外部的控制模块进行数据交互;有限状态机模块用于对寄存器文件模块和逻辑功能模块进行控制,并向接口模块返回运行状态信号;寄存器文件模块用于对相应寄存器进行读/写操作,及将数据送到逻辑功能模块进行处理并取回相应的结果;逻辑功能模块用于对寄存器文件模块发送来的数据轮流进行密钥扩展的轮运算和加/解密的轮运算,直至32轮结束,并向寄存器文件模块返回每次运算的结果。实施本发明的技术方案,使协处理器面积小且应用灵活性高。 | ||
搜索关键词: | 一种 实现 智能卡 sm4 密码 算法 处理器 | ||
【主权项】:
一种实现智能卡SM4密码算法的协处理器,其特征在于,包括:接口模块(1)、有限状态机模块(2)、寄存器文件模块(3)和逻辑功能模块(4),其中,所述接口模块(1)用于实现与外部的控制模块进行数据交互;所述有限状态机模块(2)用于根据所述接口模块(1)的加/解密命令对所述寄存器文件模块(3)和所述逻辑功能模块(4)进行控制,并向所述接口模块(1)返回运行状态信号;所述寄存器文件模块(3)用于根据所述接口模块(1)的读/写命令对相应寄存器进行读/写操作,及在所述有限状态机模块(2)的控制下,将数据送到所述逻辑功能模块(4)进行处理并取回相应的结果;所述逻辑功能模块(4)用于在所述有限状态机模块(2)的控制下,对所述寄存器文件模块(3)发送来的数据轮流进行密钥扩展的轮运算和加/解密的轮运算,直至32轮结束,并向所述寄存器文件模块(3)返回每次运算的结果;其中,所述逻辑功能模块(4)包括:常数生成模块(41),用于根据所述有限状态机模块(2)所输出的轮数,生成用于密钥扩展的常数;第一选择器(42),用于根据所述有限状态机模块(2)所输出的密钥扩展轮运算控制信号或加/解密轮运算控制信号,选择输出来自所述常数生成模块(41)的常数或来自所述寄存器文件模块(3)的轮密钥;第一异或运算模块(43),用于对所述第一选择器(42)所输出的数据与所述寄存器文件模块(3)所输出的第一组明/密文数据、第二组明/密文数据、第三组明/密文数据进行异或运算;S盒运算模块(44),用于对所述第一异或运算模块(43)所输出的数据进行非线性运算;第一线性运算模块(45),用于对所述S盒运算模块(44)所输出的数据进行用于加/解密的第一线性运算;第二线性运算模块(46),用于对所述S盒运算模块(44)所输出的数据进行用于密钥扩展的第二线性运算;第二异或运算模块(47),用于对所述第一线性运算模块(45)所输出的数据与所述寄存器文件模块(3)所输出的第四组明/密文数据进行异或运算;第三异或运算模块(48),用于对所述第二线性运算模块(46)所输出的数据与所述寄存器文件模块(3)所输出的第四组明/密文数据进行异或运算;第二选择器(49),用于根据所述有限状态机模块(2)所输出的密钥扩展轮运算控制信号或加/解密轮运算控制信号,选择输出来自所述第二异或运算模块(47)的数据或来自所述第三异或运算模块(48)的数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳华视微电子有限公司,未经深圳华视微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410025955.2/,转载请声明来源钻瓜专利网。
- 上一篇:虚拟机监控方法及装置
- 下一篇:一种软件部署的方法及装置