GM/T 0003.2-2012 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法

GM/T 0003.2-2012 Public key cryptographic algorithm SM2 based on elliptic curves—Part 2:Digital signature algorithm

行业标准-密码 中文简体 现行 页数:12页 | 格式:PDF

基本信息

标准号
GM/T 0003.2-2012
标准类型
行业标准-密码
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2012-03-21
实施日期
2012-03-21
发布单位/组织
国家密码管理局
归口单位
国家密码管理局
适用范围
GM/T 0003的本部分规定了SM2椭圆曲线公钥密码算法的数字签名算法,包括数字签名生成算法和验证算法,并给出了数字签名与验证示例及其相应的流程。
本部分适用于商用密码应用中的数字签名和验证,可满足多种密码应用中的身份认证和数据完整性、真实性的安全需求。同时,本部分还可为安全产品生产商提供产品和技术的标准定位以及标准化的参考,提高安全产品的可信性与互操作性。

发布历史

研制信息

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

内容描述

ICs35.040

L80

备案号:36827-2012

中华人民共和国密码行业标准

G⒈Ι2012

/T0003.2-ˉ

SM2槲圆曲线公钥密码算法

2舛分:

阝数字签名算法

ˉ

PublickeycryptographicalgorithⅡ

lsⅡ

Ι

2basedoneIlipticcurvesˉ

Part2:E)igitalsignaturealgorithm

⒛12-O3-21发布⒛12-03-21实施

国家密码管理局发布

GM/T0003.⒉-2012

·…………………………

目刂舀Ⅲ

引言…1··……………………Ⅳ

·……………………

1范围1

2规范性引用文件……………·……………1

·…·…·………………………

3术语和定义1

4符号………·………………1

5数字签名算法……………2

·………………

5.1丿………¨¨¨…2

总贝刂

5.2椭圆曲线系统参数…浦·……………2

………·………

5.3用户密钥对…………3

5.4辅助函数……………3

5.4.1概述……………3

5.4,2密码杂凑函数…………………3

…·………

5.4,3随机数发生器…¨…………………3

………·……………

5.5用户其他信息¨3

6数字签名的生成算法及流程………………·……………3

6.1数字签名的生成算法·……·…………·……………3

6.2数字签名生成算法流程……·………3

7数字签名的验证算法及流程………·……………………4

…………·……

7.1数字签名的验证算法4

……·………………………

7.2数字签名验证算法流程5

·……………

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

………………

A。1一般要求6

A.2Fp上的椭圆曲线数字签名………∷·……….…………·……………6

·………·………………·………………

A.3F2″上的椭圆曲线数字签名7

GM/T0003.2-zO12

刖曰

GM/T0003—⒛12《SM2椭码法》为5个部分:

圆曲线公钥密算分

——第1部分:总则;

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

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

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

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

本部分为GM/T0003的第2部分。

本部分依据GB/T1.1—⒛09给出的规则起草。

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

本部分的附录A为资料性附录。

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

工、学据与

、国人民解放军信息程大学中国科院数

本部分起草单位:北京华大信安科技有限公司中

通信保护研究教育中心。

亚、。

、、张

、、、一彭国华张娟振峰

:陈、飞磊裴定

本部分主要起草人建华祝跃叶顶峰胡

GM/T0003.⒉-2012

引言

N.Kobhtz和Miller在

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

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

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

——

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

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

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

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

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

本部分描述了基于椭圆曲数字签名算法。

锿胛

GM/T0003.2—⒛12

sM2椭码法

圆曲公钥密

线算

第2部分:数字签名算法

1范围

GM/TO003的本部分规定了SM2椭圆曲线公钥密码算法的数字签名算法,包括数字签名生成算

法和验证算法,并给出了数字签名与验证示

本部分适用于商用密码应用中名和验证,可满足用中的身份认证和数据完整

、性的安全需。同标准定位以及标准化的

性真实求

参考,提高安全产品的可

2规范性引用文

下列文件适用于本文

件。凡是不注

GM/T2012S

3术语和定

下列术

3,1

消息

任意有限长

3,2

签名消息

由消息以及该消息成的组数据项。

3.3

签名密钥signaturekey

在数字签名生成过程中由签名者专用的名者的私钥。

3.4

签名生成过程signatureprocess

人、和,并出签的过程。

输消息签名密钥椭圆曲线系统参数输数字名

3.5

卩辛另识distinguishingidentifier

r荆刂标

可以无歧义辨别某实体身份的信息。

4符号

下列符号适用于本部分。

GM/T0003.⒉-2012

A,B:使用公钥密码系统的两个用户。

,b:F。中的元素,它们定义Fg上的一条椭圆曲线E。

〃:用A的

Λ户私钥。

E(Fg):F日上椭圆曲线E的所有有理点(包括无穷远点O)组成的集合。

召:密码杂凑函数作用于消息M的输出值。

c′:密码杂凑函数作用于消息M′的输出值。

F。:包g个

含元素的有限域。

G:椭圆曲线的一个基点,其阶为素数。

Hv():消v比

息摘要长度为特的密码杂凑函数。

rDA:用A的

户可辨别标识。

M:待签名消息。

M′:待验证消息。`

mod″″

:模d7=2。

运算。例如,23m。

(″

″:基点G的阶是#E(Fg)的因)。

素子

O:椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。

PA:用户A的公钥。

g:有限域Fg中元素的数目。

J||γ:卜与丿的拼接,其中J、丿可以是比特串或字节串。

zA:关A的

于用户可辨别标识、A公

部分椭圆曲线系统参数和用户钥的杂凑值。

(r,s):发

送的签名。

(r′,s′):收到的签名。

E创P:椭圆曲线上点P的乃倍点,即,E乃]P=P+P茸工+P,乃是正整数。

E宓,月:大于或等于J且小于或于

推荐标准