犐犆犛35. 040 犔 80 备案号: 中华人民共和国密码行业标准 犌犕/犜 0009—2012 犛犕2 密码算法使用规范 犛犕2犮 狉 狋 狅 狉 犪狆犺狔犪 犾 狉 犻 狋 犺犿犪狆狆 犾 犻 犮 犪 狋 犻 狅狀狊 犮 犻 犳 犻 犮 犪 狋 犻 狅狀 狔狆 犵 犵狅 狆犲 2012  11  22 发布 2012  11  22 实施 国家密码管理局 发 布 犌犕 犜0009 2012 — / 中 华 人 民 共 和 国 密 码 行 业 标 准 犛犕2 密码算法使用规范 GM/T0009—2012  中国标准出版社出版发行 北京市朝阳区和平里西街甲 2 号( 100013) 北京市西城区三里河北街 16 号( 100045) 网址 www. spc. ne t. cn 总编室:( 010) 64275323  发行中心:( 010) 51780235 读者服务部:( 010) 68523946 中国标准出版社秦皇岛印刷厂印刷 各地新华书店经销  开本 880×1230 1/16  印张 0. 00  字数 00 千字 年 月第一版 年 2012    2012   月第一次印刷  书号:155066·2  24  定价 00. 00 元 如有印装差错   由本社发行中心调换 版权专有   侵权必究 举报电话:( 010) 68510107 犌犕/犜 0009—2012 目    次 前言 …………………………………………………………………………………………………………… 引言 …………………………………………………………………………………………………………… SM2 密码算法使用规范 ……………………………………………………………………………………… 1  范围………………………………………………………………………………………………………… 2  规范性引用文件…………………………………………………………………………………………… 3  术语和定义………………………………………………………………………………………………… 4  符号和缩略语……………………………………………………………………………………………… 5 SM2 的密钥对 …………………………………………………………………………………………… 1 SM2 私钥 ……………………………………………………………………………………………  5. 2 SM2 公钥 ……………………………………………………………………………………………  5. 6  数据转换…………………………………………………………………………………………………… 1  位串到 8 位字节串的转换……………………………………………………………………………  6. 2 8 位字节串到位串的转换 ……………………………………………………………………………  6. 3  整数到 8 位字节串的转换……………………………………………………………………………  6. 4 8 位字节串到整数的转换 ……………………………………………………………………………  6. 7  数据格式…………………………………………………………………………………………………… 1  密钥数据格式…………………………………………………………………………………………  7. 2  加密数据格式…………………………………………………………………………………………  7. 3  签名数据格式…………………………………………………………………………………………  7. 4  密钥对保护数据格式…………………………………………………………………………………  7. 8  预处理……………………………………………………………………………………………………… 1  预处理 1 ………………………………………………………………………………………………  8. 2  预处理 2 ………………………………………………………………………………………………  8. 9  计算过程…………………………………………………………………………………………………… 1  生成密钥………………………………………………………………………………………………  9. 2  加密……………………………………………………………………………………………………  9. 3  解密……………………………………………………………………………………………………  9. 4  数字签名………………………………………………………………………………………………  9. 5  签名验证………………………………………………………………………………………………  9. 6  密钥协商………………………………………………………………………………………………  9. 10  用户身份标识 ID 的默认值 …………………………………………………………………………… Ⅰ 犌犕/犜 0009—2012 前    言 1—2009 的规则编写。    本标准按照 GB/T1. 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。 本标准由国家密码管理局提出并归口。 本标准起草单位:北京海泰方圆科技有限公司、卫士通 信息 产 业 股 份 有 限 公 司、无 锡 江 南 信 息 安 全 工程技术中心、兴唐通信科技股份有限公司、山东得安信息技术有限公司、上海格尔软件股份有限公司。 本标准主要起草人:刘平、蒋红宇、柳增寿、曾宇波、李元正、徐强、谭武征、孔凡玉、王妮娜。 Ⅱ 犌犕/犜 0009—2012 引    言  1椭   SM2 椭圆曲线密码算法(以下 简 称 SM2)是 国 家 密 码 管 理 局 批 准 的 一 组 算 法,其 中 包 括 SM2 圆曲线数字签名算法、 SM2  2 椭圆曲线密钥协商协议, SM2  3 椭圆曲线加密算法。 本标准的目标是保证 SM2 使 用 的 正 确 性,为 SM2 密 码 算 法 的 使 用 制 定 统 一 的 数 据 格 式 和 使 用 方法。 本标准中涉及的 SM3 算法是指国家密码管理局批准的 SM3 密码杂凑算法。 本标准仅从算法应用 的 角 度 给 出 SM2 密 码 算 法 的 使 用 说 明,不 涉 及 SM2 密 码 算 法 的 具 体 编 制 细节。 Ⅲ 犌犕/犜 0009—2012 犛犕2 密码算法使用规范 1  范围 本标准定义了 SM2 密码算法的使用方法,以及密钥、加密与签名等的数据格式。 本标准适用于 SM2 密码算法的使用,以及支持 SM2 密码算法的设备和系统的研发和检测。 2  规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日 期的 引 用 文 件,仅 注 日 期 的 版 本 适 用 于 本 文 件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GM/T0003(所有部分) SM2 椭圆曲线公钥密码算法 GM/T0004 SM3 密码杂凑算法 3  术语和定义 下列术语和定义适用于本文件。 3. 1 算法标识  犪 犾 狅 狉 犻 狋 犺犿犻 犱 犲狀 狋 犻 犳 犻 犲 狉 犵 用于标明算法机制的数字化信息。 3. 2 犛犕2 密码算法  犛犕2犪 犾 狉 犻 狋 犺犿 犵狅 一种椭圆曲线密码算法,密钥长度为 256 比特。 3. 3 犛犕3 算法  犛犕3犪 犾 狅 狉 犻 狋 犺犿 犵 一种杂凑算法,输出长度为 256 比特。 4  符号和缩略语 下列缩略语适用于本文件: ECB       电码本模式 ECC ID 椭圆曲线密码算法( El l i t i cCu r veCr t og r aphy) p yp 用户身份标识( I den t i t y) 5 犛犕2 的密钥对 5. 1 犛犕2 私钥 SM2 私钥是一个大于等于 1 且小于 n 1 的整数( n 为 SM2 算法 的阶,其值参见 GM/T0003),简记  为 k,长度为 256 位。 1 犌犕/犜 0009—2012 5. 2 犛犕2 公钥 SM2 公钥是 SM2 曲线上的一个点,由 横 坐 标 和 纵 坐 标 两 个 分 量 来 表 示,记 为( x, y),简 记 为 Q,每 个分量的长度为 256 位。 6  数据转换 在 SM2 算法的使用中将涉及 8 位字节串( Oc t e tS t r i ng)和 位 串( B i tS t r i ng)之 间 的 转 换,主 要 包 括 以下四种形式。 6. 1  位串到 8 位字节串的转换 位串长度若不是 8 的整 数倍,需 先 在它的 左边 补 0,以保证 它的 长度为 8 的倍数,然后 构造 8 位 字 节串,转换过程如下: 输入:一个长度为 b l en 的位串 B。 /8 的整数部分。 输出:一个长度为 ml en 的字节串 M,其中 ml en 的取值为( b l en+7) 动作:将位串 犅=犅0犅1 …犅犫犾犲狀-1 转换到 8 位字节串 犕 =犕0犕1 …犕犿犾犲狀-1 采用如下方法: 从 0≤犻≤犿犾 犲狀-1,设置: 犕犻=犅犫犾犲狀-8-8(犿犾犲狀-1-犻)犅犫犾犲狀-7-8(犿犾犲狀-1-犻)…犅犫犾犲狀-1-8(犿犾犲狀-1-犻) 对于 犕0 ,最左边 8  b l en%8 位设置为 0,右边设置为 犅0犅1 …犅8-8(犾犲狀)+犫犾犲狀-1 。 输出 M。 6. 2 8 位字节串到位串的转换 8 位字节串到位串转换过程如下: 输入:一个长度为 ml en 的 8 位字节串 M。 输出:一个长度为 b l en= ( 8ml en)的位串 B。 动作:将 8 位字节串 犕 =犕0犕1 …犕犿犾犲狀-1 转换到位串 犅=犅0犅1 …犅犫犾犲狀-1 采用如下方法: 从 0≤犻≤犿犾 犲狀-1,设置: 犅8犻犅8犻+1 …犅8犻+7 =犕犻 输出 B。 6. 3  整数到 8 位字节串的转换 一个整数转换为 8 位字节串,基本方法是将其先使用二进制表达,然后把结果位串再转换为 8 位字 节串。以下是转换流程: 输入:一个非负整数 x,期望的 8 位字节串长度 ml en。基本限制为: ( ) 28 犿犾犲狀 >狓 输出:一个长度为 ml en 的 8 位字节串 M。 动作:将基于 28 =256 的 x 值 狓=狓犿犾犲狀-128(犿犾犲狀-1)+狓犿犾犲狀-228(犿犾犲狀-2)+ … +狓128 +狓0 转换 为一 个 8 位 字节串 犕 =犕0犕1 …犕犿犾犲狀-1 采用如下方法: 从 0≤犻≤犿犾 犲

pdf文档 GM/T 0009-2012 SM2密码算法使用规范

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
GM/T 0009-2012 SM2密码算法使用规范 第 1 页 GM/T 0009-2012 SM2密码算法使用规范 第 2 页 GM/T 0009-2012 SM2密码算法使用规范 第 3 页
下载文档到电脑,方便使用
本文档由 路人甲2022-05-14 08:55:41上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言