信息安全技术SM2密码算法使用规范(GB-T 35276-2017).pdf
《信息安全技术SM2密码算法使用规范(GB-T 35276-2017).pdf》由会员分享,可在线阅读,更多相关《信息安全技术SM2密码算法使用规范(GB-T 35276-2017).pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ICS35.40L 80GB/T XXXX-XXXX信息安全技术 SM2 密码算法使用规范SM2 cryptography algorithm usage specification(报批稿)本稿完成日期:2016 年 12 月XXXX-XX-XX 发布XXXX-XX-XX 实施中中 华华 人人 民民 共共 和和 国国 国国 家家 标标 准准201删除杨辰:GB/T XXXX-XXXXI目次前言.II引言.III1 范围.12 规范性引用文件.13 术语和定义.14 符号和缩略语.15 SM2 的密钥对.15.1 SM2 私钥.15.2 SM2 公钥.16 数据转换.26.1 位串到 8 位字
2、节串的转换.26.2 8 位字节串到位串的转换.26.3 整数到 8 位字节串的转换.26.4 8 位字节串到整数的转换.27 数据格式.37.1 密钥数据格式.37.2 加密数据格式.37.3 签名数据格式.37.4 密钥对保护数据格式.38 预处理.48.1 预处理 1.48.2 预处理 2.49 计算过程.49.1 生成密钥.49.2 加密.49.3 解密.59.4 数字签名.59.5 签名验证.59.6 密钥协商.510 用户身份标识 ID 的默认值.6GB/T XXXX-XXXXII前言本标准依据 GB/T1.1-2009 给出的规则起草。请注意本标准的某些内容可能涉及专利,本标准的
3、发布机构不承担识别这些专利的责任。本标准由国家密码管理局提出。本标准由全国信息安全标准计算委员会(SAC/TC260)提出并归口。本标准起草单位:北京海泰方圆科技股份有限公司、卫士通信息产业股份有限公司、无锡江南信息安全工程技术中心、兴唐通信科技股份有限公司、山东得安信息技术有限公司、上海格尔软件股份有限公司。本标准主要起草人:刘平、蒋红宇、柳增寿、李元正、徐强、谭武征、孔凡玉、王妮娜。GB/T XXXX-XXXXIII引言SM2 椭圆曲线密码算法(以下简称 SM2)是由 GB/T 3291832918 给出的一组非对称算法,其中包括 SM2-1 椭圆曲线数字签名算法、SM2-2 椭圆曲线密钥
4、协商协议,SM2-3 椭圆曲线加密算法。本标准的目标是保证 SM2 使用的正确性,为 SM2 密码算法的使用制定统一的数据格式和使用方法。本标准中涉及的 SM3 算法是指 GB/T 3290532905 给出的一种密码杂凑算法。本标准仅从算法应用的角度给出 SM2 密码算法的使用说明,不涉及 SM2 密码算法的具体编制细节。AAAA删除杨辰:BBBB删除杨辰:GB/T XXXX-XXXX1SM2 密码算法使用规范1范围本标准定义了 SM2 密码算法的使用方法,以及密钥、加密与签名等的数据格式。本标准适用于 SM2 密码算法的使用,以及支持 SM2 密码算法的设备和系统的研发和检测。2规范性引用
5、文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。3291832905GB/T 32905-2016信息安全技术 SM3 密码杂凑算法GB/T 32918-2016信息安全技术 SM2 椭圆曲线公钥密码算法3术语和定义下列术语和定义适用于本文件。3.1算法标识 algorithm identifier用于标明算法机制的数字化信息。3.2SM2 密码算法 SM2 algorithm3.3由 GB/T 32918-2016 信息安全技术 SM2 椭圆曲线公钥密码算法定义的一种算法。SM3
6、算法 SM3 algorithm4由 GB/T 32905-2016信息安全技术 SM3 密码杂凑算法定义的一种算法。符号和缩略语下列缩略语适用于本文件。ECB电码本模式(Electronics Code Book)ECC椭圆曲线密码算法(Elliptic Curve Cryptography)5SM2 的密钥对5.1SM2 私钥SM2 私钥是大于 1 且小于 n-1 的整数(n 为 SM2 算法的阶,其值参见 GB/T 3291832918),简记为 k,长度为 256 位。5.2SM2 公钥SM2 公钥是 SM2 曲线上的一个点,由横坐标和纵坐标两个分量来表示,记为(x,y),简记为 Q,
7、每个分量的长度为 256 位。GB/TAAAA删除杨辰:SM2 椭圆曲线公钥密码算法GB/TBBBB删除杨辰:SM3 密码杂凑算法删除杨辰:一种椭圆曲线密码算法,由 GB/T AAAA 全文进行规范。删除杨辰:字体:(默认)宋体设置格式杨辰:一种杂凑算法,由 GB/T BBBB 全文进行规范。删除杨辰:AAAA删除杨辰:GB/T XXXX-XXXX26数据转换6.1位串到 8 位字节串的转换位串长度若不是 8 的整数倍,需先在它的左边补 0,以保证它的长度为 8 的倍数,然后构造 8位字节串,转换过程如下:输入:一个长度为 blen 的位串 B。输出:一个长度为 mlen 的字节串 M,其中
8、mlen 的取值为(blen+7)/8 的整数部分。动作:将位串110 blenBBBB转换到 8 位字节串110 mlenMMMM采用如下方法:从10mleni,设置:)1(81)1(87)1(88imlenblenimlenblenimlenbleniBBBM 对于0M,最左边 8-blen%8 位设置为 0,右边设置为1)(8810 blenlenBBB。输出 M。6.28 位字节串到位串的转换8 位字节串到位串转换过程如下:输入:一个长度为 mlen 的 8 位字节串 M。输出:一个长度为 blen=(8*mlen)的位串 B。动作:将 8 位字节串110 mlenMMMM转换到位串1
9、10 blenBBBB采用如下方法:从10mleni,设置:iiiiMBBB 78188输出 B。6.3整数到 8 位字节串的转换一个整数转换为 8 位字节串,基本方法是将其先使用二进制表达,然后把结果位串再转换为 8位字节串。以下是转换流程:输入:一个非负整数 x,期望的 8 位字节串长度 mlen。基本限制为:xmlen)(82输出:一个长度为 mlen 的 8 位字节串 M。动作:将基于25628的 x 值081)2(82)1(81222xxxxxmlenmlenmlenmlen 转换为一个8 位字节串110 mlenMMMM采用如下方法:从10mleni,设置:imlenixM1输出
10、M。6.48 位字节串到整数的转换可以简单地把 8 位字节串看成以 256 为基表示的整数,转换过程如下:输入:一个长度 mlen 的 8 位字节串 M。输出:一个整数 x。GB/T XXXX-XXXX3动作:将一个 8 位字节串110 mlenMMMM转换为整数 x 方法如下:将iM看作0255中的一个整数10)1(82mleniiimlenMx输出 x。7数据格式7.1密钥数据格式SM2 算法私钥数据格式的 ASN.1 定义为:SM2PrivateKey:=INTEGERSM2 算法公钥数据格式的 ASN.1 定义为:SM2PublicKey:=BIT STRINGSM2PublicKey
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息安全技术SM2密码算法使用规范GB-T 35276-2017 信息 安全技术 SM2 密码 算法 使用 规范 GB 35276 2017
限制150内