ICS35.040 L80 备案号:55614一2016 GM 中华人民共和国密码行业标准 GM/T0044.2—2016 SM9标识密码算法 第2部分:数字签名算法 Identity-based cryptographic algorithms SM9- Part 2:Digital signature algorithm 2016-03-28发布 2016-03-28实施 国家密码管理局发布 GM/T0044.2—2016 目次 前言 I 引言 1范围 1 2规范性引用文件 1 3术语和定义 1 4符号 2 5算法参数与辅助函数 3 5.1总则 3 5.2系统参数组 3 5.3系统签名主密钥和用户签名密钥的产生 3 5.4辅助函数 3 6数字签名生成算法及流程 4 6.1数字签名生成算法 4 6.2数字签名生成算法流程 ...5 7数字签名验证算法及流程6 7.1数字签名验证算法 6 7.2数字签名验证算法流程 6 GM/T0044.2-2016 前言 GM/T0044《SM9标识密码算法》分为5个部分: 一一第1部分:总则; 一一第2部分:数字签名算法; 一一第3部分:密钥交换协议; 一一第4部分:密钥封装机制和公钥加密算法; 一-第5部分:参数定义. 本部分为GM/T0044的第2部分. 本部分按照GB/T1.1一2009给出的规则起草. 请注意本文件的某些内容可能涉及专利.本文件的发布机构不承担识别这些专利的责任. 本部分由密码行业标准化技术委员会提出并归口. 本部分起草单位:国家信息安全工程技术研究中心深圳奥联信息安全技术有限公司、武汉大学、上 海交通大学、中科院信息工程研究所、北方信息技术研究所. 本部分主要起草人:陈晓、程朝辉、叶顶峰、胡磊、陈建华、路贝可、季庆光、曹珍富、袁文恭、刘平、 马宁、袁峰、李增欣、王学进、杨恒亮、张青坡、马艳丽、浦雨三、唐英、孙移盛、安萱. I GM/T0044.2-2016 SM9标识密码算法 第2部分:数字签名算法 1范围 GM/T0044的本部分规定了用椭圆曲线对实现的基于标识的数字签名算法,包括数字签名生成算 法和验证算法,并给出了数字签名与验证算法及其相应的流程. 本部分适用于接收者通过签名者的标识验证数据的完整性和数据发送者的身份,也适用于第三方 确定签名及所签数据的真实性. 2规范性引用文件 下列文件对于本文件的应用是必不可少的.凡是注日期的引用文件,仅注日期的版本适用于本文 件.凡是不注日期的引用文件,其最新版本(包括的修改单)适用于本文件. GM/T0004一2012SM3密码杂凑算法 GM/T0044.1一2016SM9标识密码算法第1部分:总则 3术语和定义 下列术语和定义适用于本文件. 3.1 消息message 任意有限长度的比特串. 3.2 签名消息signed message 由消息以及该消息的数字签名部分所组成的一组数据元素. 3.3 签名密钥signature key 在数字签名生成过程中由签名者专用的秘密数据元素,即签名者的私钥. 3.4 签名主密钥signature master key 处于标识密码密钥分层结构最顶层的密钥,包括签名主私钥和签名主公钥,其中签名主公钥公开, 签名主私钥由KGC秘密保存.KGC用签名主私钥和用户的标识生成用户的签名私钥.在标识密码 中,签名主私钥一般由KGC通过随机数发生器产生,签名主公钥由签名主私钥结合系统参数产生. 3.5 标识identity 可唯一确定一个实体身份的信息.标识应由实体无法否认的信息组成,如实体的可识别名称、电子 邮箱、身份证号、电话号码、街道地址等. 1 GM/T0044.2-2016 3.6 密钥生成中心key generation center;KGC 在本部分中,负责选择系统参数、生成签名主密钥并产生用户签名私钥的可信机构. 4符号 下列符号适用于本文件. A B:使用标识密码系统的两个用户. cf:椭圆曲线阶相对于N的余因子. cid:用一个字节表示的曲线的识别符,其中0x10表示F (素数p>219)上常曲线(即非超奇异曲 线),0x11表示F 上超奇异曲线,0x12表示F.上常曲线及其扭曲线. dsA:用户A的签名私钥. e:从G1XG2到G的双线性对. eid:用一个字节表示的双线性对e的识别符,其中0x01表示Tate对,0x02...