ICS35.040 L80 备案号:36827一2012 GM 中华人民共和国密码行业标准 GM/T0003.2-2012 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法 Public key cryptographic algorithm SM2 based on elliptic curves- Part 2:Digital signature algorithm 2012-03-21发布 2012-03-21实施 国家密码管理局 发布 GM/T0003.2-2012 目 次 前言 引言 N 1范围 1 2规范性引用文件 1 3术语和定义 1 4符号 1 5数字签名算法 5.1总则 2 5.2椭圆曲线系统参数 2 5.3用户密钥对 3 5.4辅助函数 3 5.4.1概述 5.4.2密码杂凑函数 .3 5.4.3随机数发生器 3 5.5用户其他信息 .3 6数字签名的生成算法及流程 6.1数字签名的生成算法 .3 6.2数字签名生成算法流程 .3 7数字签名的验证算法及流程 4 7.1数字签名的验证算法4 7.2数字签名验证算法流程 .5 附录A(资料性附录)数字签名与验证示例 6 A.1一般要求 ..6 A.2F上的椭圆曲线数字签名 A.3F2上的椭圆曲线数字签名 1 GM/T0003.2-2012 前言 GM/T0003一2012《SM2椭圆曲线公钥密码算法》分为5个部分: —第1部分:总则; —第2部分:数字签名算法; 一第3部分:密钥交换协议; 第4部分:公钥加密算法; -一第5部分:参数定义. 本部分为GM/T0003的第2部分. 本部分依据GB/T1.1一2009给出的规则起草. 请注意本文件的某些内容可能涉及专利.本文件的发布机构不承担识别这些专利的责任. 本部分的附录A为资料性附录. 本部分由国家密码管理局提出并归口. 本部分起草单位:北京华大信安科技有限公司、中国人民解放军信息工程大学、中国科学院数据与 通信保护研究教育中心. 本部分主要起草人:陈建华、祝跃飞、叶顶峰、胡磊、裴定一、彭国华、张亚娟、张振峰. GM/T0003.2—2012 引言 N.Koblitz和V.Miller在1985年各自独立地提出将椭圆曲线应用于公钥密码系统.椭圆曲线公 钥密码所基于的曲线性质如下: 一一有限域上椭圆曲线在点加运算下构成有限交换群,且其阶与基域规模相近; 一一类似于有限域乘法群中的乘幂运算,椭圆曲线多倍点运算构成一个单向函数. 在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题.对于一般椭圆 曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法.与大数分解问题及有限域上离散对 数问题相比,椭圆曲线离散对数问题的求解难度要大得多.因此,在相同安全程度要求下,椭圆曲线密 码较其他公钥密码所需的密钥规模要小得多. 本部分描述了基于椭圆曲线的数字签名算法. GM/T0003.2-2012 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法 1范围 GM/T0003的本部分规定了SM2椭圆曲线公钥密码算法的数字签名算法,包括数字签名生成算 法和验证算法,并给出了数字签名与验证示例及其相应的流程. 本部分适用于商用密码应用中的数字签名和验证,可满足多种密码应用中的身份认证和数据完整 性、真实性的安全需求.同时,本部分还可为安全产品生产商提供产品和技术的标准定位以及标准化的 参考,提高安全产品的可信性与互操作性. 2规范性引用文件 下列文件对于本文件的应用是必不可少的.凡是注日期的引用文件,仅注日期的版本适用于本文 件.凡是不注日期的引用文件,其最新版本(包括的修改单)适用于本文件. GM/T0003.1一2012SM2椭圆曲线公钥密码算法第1部分:总则 3术语和定义 下列术语和定义适用于本文件. 3.1 消息message 任意有限长度的比特串. 3.2 签名消息signed message 由消息以及该消息的签名部分所组成的一组数据项. 3.3 签名密钥signature key 在数字签名生成过程中由签名者专用的秘密数据项,即签名者的私钥. 3.4 签名生成过程signature process 输入消息、签名密钥和椭圆曲线系统参数,并输出数字签名的过程. 3.5 可辨别标识distinguishing identifier 可以无歧义辨别某一实体身份的信息. 4符号 下列符号适用于本部分. ...