发明名称 SM2签名的认证方法及系统
摘要 本发明公开了一种SM2签名的认证方法及系统,涉及数字签名和认证技术领域,通过ECDSA算法的ASIC芯片来实现SM2签名的认证方法,所述方法包括:S1:将待认证的SM2签名转化为对应的ECDSA签名;S2:通过所述ECDSA算法的ASIC芯片对转化得到的ECDSA签名进行认证操作;S3:将ECDSA签名的认证结果经过片外的模加操作,并对模加操作的结果进行认证,以获得SM2签名的认证结果,并返回是否接受签名。本发明通过将SM2签名转化为ECDSA签名,并对ECDSA签名进行ECDSA认证,以获得SM2签名的认证结果,使得以现有的实现ECDSA签名认证的ASIC芯片能够直接实现SM2算法,而无需专门为SM2签名认证来设计芯片,减少了开发周期。
申请公布号 CN102291240B 申请公布日期 2013.10.02
申请号 CN201110257655.3 申请日期 2011.09.01
申请人 清华大学 发明人 李树国;黄震
分类号 H04L9/32(2006.01)I;H04L9/30(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 北京路浩知识产权代理有限公司 11002 代理人 王莹
主权项 一种SM2签名的认证方法,其特征在于,通过ECDSA算法的ASIC芯片来实现SM2签名的认证方法,所述方法包括以下步骤:S1:将待认证的SM2签名转化为对应的ECDSA签名;S2:通过所述ECDSA算法的ASIC芯片对转化得到的ECDSA签名进行认证操作;S3:将ECDSA签名的认证结果经过片外的模加操作,并对模加操作的结果进行认证,以获得SM2签名的认证结果,并返回是否接受签名;其中,步骤S1中通过下列公式进行签名转化: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>s</mi> <mo>=</mo> <msup> <mi>es</mi> <mrow> <mo>&prime;</mo> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mi>mod</mi> <mi>n</mi> </mtd> </mtr> <mtr> <mtd> <mi>r</mi> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>r</mi> <mo>&prime;</mo> </msup> <mo>+</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <msup> <mi>es</mi> <mrow> <mo>&prime;</mo> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mi>mod</mi> <mi>n</mi> </mtd> </mtr> </mtable> </mfenced>其中,s和r为ECDSA签名,s′和r′为SM2签名,e为签名消息杂凑值,n为椭圆曲线上一个基点的阶,mod为模运算;其中,步骤S2中通过下列公式对转化得到的ECDSA签名: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>=</mo> <msup> <mi>es</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mi>mod</mi> <mi>n</mi> <mo>=</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mi>mod</mi> <mi>n</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>=</mo> <msup> <mi>rs</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mi>mod</mi> <mi>n</mi> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>r</mi> <mo>&prime;</mo> </msup> <mo>+</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mi>mod</mi> <mi>n</mi> </mtd> </mtr> <mtr> <mtd> <mi>X</mi> <mo>=</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> <mi>P</mi> <mo>+</mo> <msub> <mi>u</mi> <mn>2</mn> </msub> <mi>Q</mi> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>其中,u1、u2、X均为中间值,(x1,y1)为所述椭圆曲线上的点;Q为公开的密钥,P为椭圆曲线的基点;其中,步骤S3通过下列公式进行模加操作:R=(e+x1)modn其中,R为模加操作结果。
地址 100084 北京市海淀区清华园北京100084-82信箱