[发明专利]用于SM2数字签名验证算法的FPGA芯片有效
申请号: | 201210540967.X | 申请日: | 2012-12-13 |
公开(公告)号: | CN103049710B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 沈阳;郭沛宇;王磊;宫铭豪;丁森华;梁晋春;马艳;姚颖颖;张乃光 | 申请(专利权)人: | 国家广播电影电视总局广播科学研究院 |
主分类号: | G06F21/76 | 分类号: | G06F21/76 |
代理公司: | 工业和信息化部电子专利中心11010 | 代理人: | 梁军 |
地址: | 100866 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用于SM2数字签名验证算法的FPGA芯片。该FPGA芯片包括系统总线接口,用于与FPGA芯片的外部系统进行通信,从外部系统获取SM2数字签名验证所需的参数和数据,并写入SM2控制器,接收外部系统发送的控制消息、工作状态查询消息、以及运算结果查询消息,并发送到SM2控制器;SM2控制器,用于根据控制消息触发SM2运算单元,在接收到工作状态查询消息和运算结果查询消息后,通过系统总线接口向外部系统发送SM2运算单元的工作状态和验证结果;SM2运算单元,用于在SM2控制器的触发下,从SM2控制器中读取本次SM2数字签名验证所需的参数和数据,进行根据SM2数字签名验证算法完成验证计算,将验证结果发送到SM2控制器。 | ||
搜索关键词: | 用于 sm2 数字签名 验证 算法 fpga 芯片 | ||
【主权项】:
一种用于SM2数字签名验证算法的FPGA芯片,其特征在于,包括:系统总线接口,用于与所述FPGA芯片的外部系统进行通信,从所述外部系统获取SM2数字签名验证所需的参数和数据,并写入所述SM2控制器,接收所述外部系统发送的控制消息、工作状态查询消息、以及运算结果查询消息,并发送到所述SM2控制器;SM2控制器,与所述系统总线接口和所述SM2运算单元连接,用于根据所述控制消息触发所述SM2运算单元,在接收到所述工作状态查询消息和所述运算结果查询消息后,通过所述系统总线接口向所述外部系统发送所述SM2运算单元的工作状态和验证结果;SM2运算单元,用于在所述SM2控制器的触发下,从所述SM2控制器中读取本次SM2数字签名验证所需的参数和数据,进行根据所述SM2数字签名验证算法进行验证计算,将验证结果发送到所述SM2控制器;所述SM2运算单元具体包括:坐标转换模块,用于对椭圆曲线上的点坐标数据由仿射坐标系向雅可比坐标系进行转换;第二状态机模块,用于进行SM2数字签名验证运算流程控制,并与所述SM2控制器进行通信;第二模加运算模块,用于在雅可比坐标系下完成SM2数字签名验证算法中的t=(r′+s′)modn的计算,以及R=(e′+x1′)modn的计算,其中,(r′+s′)为签名码字,计算消息的摘要值Hv()为摘要计算函数,表示前后两个字符串的拼接,n为椭圆曲线的阶,x1′为椭圆曲线点(x′,y′)坐标元素之一;第二倍点运算模块,用于在底层素数域加减法运算、素数域乘法运算、以及素数域除法运算的支持下,在雅可比坐标系下计算SM2数字签名验证算法中的[s′]G和[t′]PA,其中,G是椭圆曲线的基点,G=(xG,yG)(G≠O),xG和yG是Fp中的两个元素,椭圆曲线E(Fq)方程的两个元素a、b∈Fq、PA是用户公钥,也是椭圆曲线上的一个点,[s′]G是指G的s′倍点,[t′]PA是指PA的t′倍点;第二点加运算模块,用于在底层素数域加减法运算、素数域乘法运算、以及素数域除法运算的支持下,在雅可比坐标系下完成SM2数字签名验证算法中的[s′]G和[t′]PA两个点的点加运算,即,(x′,y′)=[s′]G+[t′]PA,其中,(x′,y′)为椭圆曲线上的点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家广播电影电视总局广播科学研究院,未经国家广播电影电视总局广播科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210540967.X/,转载请声明来源钻瓜专利网。