ICS35.040 L80 备案号:383072013 GM 中华人民共和国密码行业标准 GM/T0009—2012 SM2密码算法使用规范 SM2 cryptography algorithm application specification 一 二, 2012-11-22发布 2012-11-22实施 国家密码管理局发布 GM/T0009—2012 目 次 前言 I 引言 Ⅱ 1范围 1 2规范性引用文件 1 3术语和定义 1 4符号和缩略语 1 5SM2的密钥对 .1 5.1SM2私钥 1 5.2SM2公钥 2 6数据转换 2 6.1位串到8位字节串的转换 2 6.28位字节串到位串的转换 2 6.3整数到8位字节串的转换 2 6.48位字节串到整数的转换 2 7数据格式 .3 7.1密钥数据格式 3 7.2加密数据格式 3 7.3签名数据格式 3 7.4密钥对保护数据格式 .3 8预处理 4 8.1预处理1 4 8.2预处理2 4 9计算过程 4 9.1生成密钥 4 9.2加密 5 9.3解密 .5 9.4数字签名 5 9.5签名验证 5 9.6密钥协商 6 10用户身份标识ID的默认值 7 GM/T0009-2012 前言 本标准按照GB/T1.1一2009给出的规则起草. 请注意本文件的某些内容可能涉及专利.本文件的发布机构不承担识别这些专利的责任. 本标准由国家密码管理局提出并归口. 本标准起草单位:北京海泰方圆科技有限公司、卫士通信息产业股份有限公司、无锡江南信息安全 工程技术中心、兴唐通信科技股份有限公司、山东得安信息技术有限公司、上海格尔软件股份有限公司. 本标准主要起草人:刘平、蒋红宇、柳增寿、曾宇波、李元正、徐强、谭武征、孔凡玉、王妮娜. I GM/T0009-2012 . 引言 SM2椭圆曲线密码算法(以下简称SM2)是国家密码管理局批准的一组算法,其中包括SM2-1椭 圆曲线数字签名算法、SM2-2椭圆曲线密钥协商协议、SM2-3椭圆曲线加密算法. 本标准的目标是保证SM2使用的正确性,为SM2密码算法的使用制定统一的数据格式和使用 方法. 本标准中涉及的SM3算法是指国家密码管理局批准的SM3密码杂凑算法. 本标准仅从算法应用的角度给出SM2密码算法的使用说明,不涉及SM2密码算法的具体编制 细节. GM/T0009—2012 SM2密码算法使用规范 1范围 本标准定义了SM2密码算法的使用方法,以及密钥、加密与签名等的数据格式. 本标准适用于SM2密码算法的使用,以及支持SM2密码算法的设备和系统的研发和检测. 2规范性引用文件 下列文件对于本文件的应用是必不可少的.凡是注日期的引用文件,仅注日期的版本适用于本文 件.凡是不注日期的引用文件,其最新版本(包括的修改单)适用于本文件. GM/T0003(部分)SM2椭圆曲线公钥密码算法 GM/T0004SM3密码杂凑算法 3术语和定义 下列术语和定义适用于本文件. 3.1 算法标识algorithm identifier 用于标明算法机制的数字化信息. 3.2 SM2密码算法SM2 algorithm 一种椭圆曲线密码算法,密钥长度为256比特. 3.3 SM3算法SM3alg0 rithm 一种杂凑算法,输出长度为256比特. 4符号和缩略语 下列缩略语适用于本文件: ECB 电码本模式 ECC 椭圆曲线密码算法(Elliptic Curve Cryptography) ID 用户身份标识(Identity) 5SM2的密钥对 5.1SM2私钥 SM2私钥是一个大于或等于1且小于n一1的整数(n为SM2算法的阶,其值参见GM/T0003) 简记为k 长度为256位. 1 ...