GB/T 32918.5-2017 信息安全技术 SM2椭圆曲线公钥密码算法 第5部分:参数定义

GB/T 32918.5-2017 Information security technology—Public key cryptographic algorithm SM2 based on elliptic curves—Part 5:Parameter definition

国家标准 中文简体 现行 页数:15页 | 格式:PDF

基本信息

标准号
GB/T 32918.5-2017
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2017-05-12
实施日期
2017-12-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国信息安全标准化技术委员会(SAC/TC 260)
适用范围
GB/T 32918的本部分规定了SM2椭圆曲线公钥密码算法的曲线参数。本部分适用于数字签名与验证(参见附录A)、密钥交换与验证(参见附录B)、消息加解密示例(参见附录C)。

研制信息

起草单位:
北京华大信安科技有限公司、中国人民解放军信息工程大学、中国科学院数据与通信保护研究教育中心
起草人:
陈建华、祝跃飞、叶顶峰、胡磊、裴定一、彭国华、张亚娟、张振峰
出版信息:
页数:15页 | 字数:24 千字 | 开本: 大16开

内容描述

ICS35.040

L80(3B

中华人民共和国国家标准

GB/T32918.5—2017

信息安全技术

SM2椭圆曲线公钥密码算法

第5部分:参数定义

Informationsecuritytechnology—Publickeycryptographicalgorithm

SM2basedoneipticcurves—Part5:Parameterdefinition

2017-05-12发布2017-12-01实施

发布

GB/T32918.5—2017

目次

冃U有I

引言n

i范围i

2规范性引用文件1

3符号1

4参数定义1

附录A(资料性附录)数字签名与验证示例3

附录E(资料性附录)密钥交换及验证示例5

附录C(资料性附录)消息加解密示例9

参考文献11

GB/T32918.5—2017

■>r■—>—

刖弓

GB/T32918《信息安全技术SM2椭圆曲线公钥密码算法》分为5个部分:

第1部分:总则;

——第2部分:数字签名算法;

——第3部分:密钥交换协议;

——第4部分:公钥加密算法;

——第5部分:参数定义。

本部分为GB/T32918的第5部分。

本部分按照GB/T1.1-2009给出的规则起草。

请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。

本部分由国家密码管理局提出。

本部分由全国信息安全标准化技术委员会(SAC/TC260)归口。

本部分起草单位:北京华大信安科技有限公司、中国人民解放军信息T程大学、中国科学院数据与

通信保护研究教育中心。

本部分主要起草人:陈建华、祝跃飞、叶顶峰、胡磊、裴定一、彭国华、张亚娟、张振峰。

T

GB/T32918.5—2017

引言

N.Koblitz和V.Mier在1985年各自独立地提出将椭圆曲线应用于公钥密码系统。椭圆曲线公

钥密码所基于的曲线性质如下:

一一有限域上椭圆曲线在点加运算下构成有限交换群,且其阶与基域规模相近;

一一类似于有限域乘法群中的乘幕运算,椭圆曲线多倍点运算构成一个单向函数。

在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题。对于一般椭圆

曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。与大数分解问题及有限域上离散对

数问题相比,椭圆曲线离散对数问题的求解难度要大得多。因此,在相同安全程度要求下,椭圆曲线密

码较其他公钥密码所需的密钥规模要小得多。

SM2是国家密码管理局组织制定并提出的椭圆曲线密码算法标准。GB/T32918的主要目标

如下:

-GB/T32918.1-2016定义和描述了SM2椭圆曲线密码算法的相关概念及数学基础知识,并

概述了该部分同其他部分的关系。

——GB/T32918.2—2016描述了一种基于椭圆曲线的签名算法,即SM2签名算法。

-GB/T32918.3—2016描述了一种基于椭圆曲线的密钥交换协议,即SM2密钥交换协议。

-GB/T32918.4-2016描述了一种基于椭圆曲线的公钥加密算法,即SM2加密算法,该算法需

使用GB/T32905—2016定义的SM3密码杂凑算法。

-GB/T32918.5-2017给出了SM2算法使用的椭圆曲线参数,以及使用椭圆曲线参数进行

SM2运算的示例结果。

n

GB/T32918.5—2017

信息安全技术

SM2椭圆曲线公钥密码算法

第5部分:参数定义

1范围

GB/T32918的本部分规定了SM2椭圆曲线公钥密码算法的曲线参数。

本部分适用于数字签名与验证(参见附录A)、密钥交换与验证(参见附录B)、消息加解密示例(

见附录C)。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T32905—2016信息安全技术SM3密码杂凑算法

GB/T32918.1—2016信息安全技术SM2椭圆曲线公钥密码算法第1部分:总则

GB/T32918.2—2016信息安全技术SM2椭圆曲线公钥密码算法第2部分:数字签名算法

GB/T32918.3—2016信息安全技术SM2椭圆曲线公钥密码算法第3部分:密钥交换协议

GB/T32918.4—2016信息安全技术SM2椭圆曲线公钥密码算法第4部分:公钥加密算法

3符号

下列符号适用于本文件。

p大于3的素数。

a,bFq中的元素,它们定义F"上的一条椭圆曲线E。

基点G的阶[”是#E(Fq)的素因子]。

工G生成元的工坐标

生成元的坐标

4参数定义

SM2使用素数域256位椭圆曲线。

椭圆曲线方程:y彳=工:<+a_r+"

曲线参数:

p=FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF

a=FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC

〃=28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93

1

GB/T32918.5—2017

“=FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123

zg=32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7

,g=BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A4740O2DF32E52139FOAO

2

GB/T32918.5—2017

附录A

(资料性附录)

数字签名与验证示例

A.1综述

本附录选用GB/T32905—2016给出的密码杂凑算法,其输入是长度小于2皿的消息比特串,输出

是长度为256比特的杂凑值,记为«256()0

本附录使用GB/T32918.2—2016规定的数字签名算法计算得到各步骤中的相应数值。

本附录中,所有用16进制表示的数,左边为高位,右边为低位。

本附录中,消息采用GB/T1988编码。

设ZDa的GB/T1988为:31323334353637383132333435363738。EN7Xa=0080。

A.2SM2椭圆曲线数字签名

椭圆曲线方程为:护=云+a_z+/丿

示例1:F.-256

素数/八FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF

系数a:FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC

系数/7:28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93

基点G=(/<;,》■<;),其阶记为n。

坐标不;:32C4AE2C1F1981195F9904465A39C9948FE30BBFF266OBE1715A4589334C74C7

坐标w:BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139FOAO

阶”:FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF49939D54123

待签名的消息M:messagedigest

M的GB/T1988编码的16进制表示:6D65737361676520646967657374

私钥〃a:3945208F7B2144B13F36E38AC6D39F95889393692860B51A42FB81EF4DF7C5B8

公钥「a=QaO'a):

坐标/a:09F9DF311E5421A5ODD7D161E4BC5C672179FAD1833FC076BBO8FF356F35020

坐标va:CCEA490CE26775A52DC6EA718CC1AA600AED05FBF35EO84A6632F6072DA9AD13

杂凑值Za=H256(E.VTLaII/Da||a||b||口,||%||仆Ba)»

Za:B2E14C5C79C6DF5B85F4FE7ED8DB7A262B9DA7E07CCB0EA9F4747B8CCDA8A4F3

签名各步骤中的有关值:

W=ZA||M.

B2E14C5C79C6DF5B85F4FE7ED8DB7A262B9DA7E07CCB0EA9F4747B8CCDA8A4F3

6D65737361676520646967657374

密码杂凑算法值。=〃256(帀):F0B43E94BA45ACCAACE692ED534382EB17E6AB5A19CE7B31

F4486FDFC0D28640

产生随机数怡:59276E27D506861A16680F3AD9C02DCCEF3CC1FA3CDBE4CE6D54B80D

EAC1BC21

计算椭圆曲线点Gn,yi)=M]G:

坐标.rj:04EBFC718E8D1798620432268E77FEB6415E2EDE0E073C0F4F640ECD2E149A73

坐标》i:E858F9D81E5430A57B36DAAB8F950A3C64E6EE6A63094D99283AFF767E124DF0

3

GB/T32918.5—2017

计算,-=(°+厂)med”:F5AO3BO648D2C463OEEAC513E1BB81A15944DA3827D5B74143AC7EAC

EEE72OB3

(1+〃a)7:4DFE9D9C1F59O1D4E6F58E4EC3DO4567822D255OF9B88E826D1B5B3AB9CDOFEO

计算5=((1+Ja)-'•(k-r•t/.A))mod»:BlB6AA29DF212FD8763182BCOD421CA1BB9O38FD

1F7F42D484OB69C485BBC1AA

消息M的签名为(r,.O:

值r:F5AO3BO648D2C463OEEAC513E1BB81A15944DA3827D5B74143AC7EACEEE72OB3

值5:B1B6AA29DF212FD8763182BCOD421CA1BB9O38FD1F7F42D484OB69C485BBC1AA

验证各步骤中的有关值:

密码杂凑算法值e'=II256(M^:FOB43E94BA45ACCAACE692ED534382EB17E6AB5A19CE7B31

F4486FDFC0D28640

计算/=&'+s')mcd”:A756E53127F3F43B851C47CFEEFD9E43A2D133CA258EF4EA73FBF468

3ACDA13A

计算椭圆曲线点(乳,讥)=[/JG:

坐标H:2B9CE14E3C8D1FFC46D693FA0B54F2BDC4825A5O66O7