路径: 主页 > GB/T > 第208页 > GB/T 38635.1-2020
标准搜索结果: 'GB/T 38635.1-2020'
| 标准编号 | GB/T 38635.1-2020 (GB/T38635.1-2020) | | 中文名称 | 信息安全技术 SM9标识密码算法 第1部分:总则 | | 英文名称 | Information security technology - Identity-based cryptographic algorithms SM9 - Part 1: General | | 行业 | 国家标准 (推荐) | | 中标分类 | L80 | | 国际标准分类 | 35.040 | | 字数估计 | 42,462 | | 发布日期 | 2020-04-28 | | 实施日期 | 2020-11-01 | | 引用标准 | GB/T 32905; GB/T 32907 | | 发布机构 | 国家市场监督管理总局、中国国家标准化管理委员会 | | 范围 | GB/T 38635的本部分规定了SM9标识密码算法涉及的必要相关数学基础知识、密码技术和具体参数。本部分适用于SM9标识密码的实现和应用。 |
GB/T 38635.1-2020
Information security technology--Identity-based cryptographic algorithms SM9--Part 1: General
ICS 35.040
L80
中华人民共和国国家标准
信息安全技术 SM9标识密码算法
第1部分:总则
2020-04-28发布
2020-11-01实施
国 家 市 场 监 督 管 理 总 局
国 家 标 准 化 管 理 委 员 会 发 布
目次
前言 Ⅲ
引言 Ⅳ
1 范围 1
2 规范性引用文件 1
3 术语和定义 1
4 符号 1
5 有限域和椭圆曲线 3
5.1 有限域 3
5.2 有限域上的椭圆曲线 4
5.3 椭圆曲线群 4
5.4 椭圆曲线多倍点运算 5
5.5 椭圆曲线子群上点的验证 5
5.6 离散对数问题 5
6 双线性对及安全曲线 5
6.1 双线性对 5
6.2 安全性 6
6.3 嵌入次数及安全曲线 6
7 数据类型及其转换 6
7.1 数据类型 6
7.2 数据类型转换 7
8 系统参数及其验证 10
8.1 系统参数 10
8.2 系统参数的验证 11
附录A(规范性附录) 参数定义 12
附录B(资料性附录) 关于椭圆曲线的背景知识 14
附录C(资料性附录) 椭圆曲线上双线性对的计算 21
附录D(资料性附录) 数论算法 28
参考文献 33
前言
GB/T 38635《信息安全技术 SM9标识密码算法》分为两个部分:
---第1部分:总则;
---第2部分:算法。
本部分为GB/T 38635的第1部分。
本部分按照GB/T 1.1-2009给出的规则起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
本部分由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。
本部分起草单位:国家信息安全工程技术研究中心、北京国脉信安科技有限公司、深圳奥联信息安
全技术有限公司、中国科学院软件研究所、武汉大学、中科院信息工程研究所。
本部分主要起草人:陈晓、程朝辉、张振峰、叶顶峰、胡磊、陈建华、季庆光、袁文恭、刘平、马宁、袁峰、
李增欣、王学进、杨恒亮、张青坡、马艳丽、浦雨三、唐英、孙移盛、安萱、封维端、张立圆。
引 言
A.Shamir在1984年提出了标识密码(Identity-basedcryptography)的概念,在标识密码系统中,用
户的私钥由密钥生成中心(KGC)根据主密钥和用户标识计算得出,用户的公钥由用户标识唯一确定,
由标识管理者保证标识的真实性。与基于证书的公钥密码系统相比,标识密码系统中的密钥管理环节
可以得到适当简化。
1999年,K.Ohgishi、R.Sakai和 M.Kasahara在日本提出了用椭圆曲线对(pairing)构造基于标识的
密钥共享方案;2001年,D.Boneh和 M.Franklin,以及R.Sakai、K.Ohgishi和 M.Kasahara等人独立提
出了用椭圆曲线对构造标识公钥加密算法。这些工作引发了标识密码的新发展,出现了一批用椭圆曲
线对实现的标识密码算法,其中包括数字签名算法、密钥交换协议、密钥封装机制和公钥加密算法等。
椭圆曲线对具有双线性的性质,它在椭圆曲线的循环子群与扩域的乘法循环子群之间建立联系,构
成了双线性DH、双线性逆DH、判定性双线性逆DH、τ-双线性逆DH和τ-Gap-双线性逆DH等难题,
当椭圆曲线离散对数问题和扩域离散对数问题的求解难度相当时,可用椭圆曲线对构造出安全性和实
现效率兼顾的标识密码。
信息安全技术 SM9标识密码算法
第1部分:总则
1 范围
GB/T 38635的本部分规定了SM9标识密码算法涉及的必要相关数学基础知识、密码技术和具体
参数。
本部分适用于SM9标识密码的实现和应用。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 32905 信息安全技术 SM3密码杂凑算法
GB/T 32907 信息安全技术 SM4分组密码算法
3 术语和定义
下列术语和定义适用于本文件。
3.1
标识 identity
由实体无法否认的信息组成,如实体的可识别名称、电子邮箱、身份证号、电话号码、街道地址等,可
唯一确定一个实体的身份。
3.2
主密钥 master key
处于标识密码密钥分层结构最顶层的密钥,包括主私钥和主公钥,其中主公钥公开,主私钥由KGC
秘密保存。KGC用主私钥和用户的标识生成用户的私钥。在标识密码中,主私钥一般由KGC通过随
机数发生器产生,主公钥由主私钥结合系统参数产生。
3.3
密钥生成中心 key generation center;KGC
在SM9标识密码中,负责选择系统参数、生成主密钥并产生用户私钥的可信机构。
3.4
SM3算法 SM3 algorithm
由GB/T 32905定义的一种杂凑算法。
3.5
SM4算法 SM4 algorithm
由GB/T 32907定义的一种分组加密算法。
4 符号
下列符号适用于本文件。
cf:椭圆曲线阶相对于N 的余因子。
cid:用一个字节表示的曲线识别符,用以区分所用曲线的类型。
deg(f):多项式f(x)的次数。
d1、d2:k的两个因子。
E:定义在有限域上的椭圆曲线。
ECDLP:椭圆曲线离散对数问题。
E(Fq):有限域Fq上椭圆曲线E 的所有有理点(包括无穷远点O)组成的集合。
E(Fq)[r]:E(Fq)上r-扭点的集合[即曲线E(Fq)上的r阶扭子群]。
e:从G1×G2 到GT的双线性对。
eid:用一个字节表示的双线性对e的识别符,用以区分所用双线性对的类型。
FDLP:有限域上离散对数问题。
Fp:包含p个元素的素域。
Fq:包含q个元素的有限域。
F*q:由Fq中所有非零元构成的乘法群。
Fqm:有限域Fq的m 次扩域。
GT:阶为素数N 的乘法循环群。
G1:阶为素数N 的加法循环群。
G2:阶为素数N 的加法循环群。
gcd(x,y):x和y的最大公因子。
k:曲线E(Fq)相对于N 的嵌入次数,其中N 是#E(Fq)的素因子。
m:有限域Fqm关于Fq的扩张次数。
modf(x):模多项式f(x)的运算。
modn:模n运算。
示例:23mod7=2。
N:循环群G1、G2和GT的阶,为大于2191的素数。
O:椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。
P:P=(xP,yP)是椭圆曲线上除O 之外的一个点,其坐标xP,yP满足椭圆曲线方程。
P1:G1的生成元。
P2:G2的生成元。
P+Q:椭圆曲线E 上两个点P 与Q 的和。
p:大于2191的素数。
q:有限域Fq中元素的数目。
xP:点P 的x坐标。
x‖y:x与y的拼接,其中x和y是比特串或字节串。
x ºy (modq):x与y模q同余。即,xmodq=ymodq。
yP:点P 的y坐标。
#E(K):E(K)上点的数目,称为椭圆曲线群E(K)的阶,其中K 为有限域(包括Fq和Fqk)。
< P >:由椭圆曲线上点P 生成的循环群。
[u]P:椭圆曲线上点P 的u倍点。
[x,y]:不小于x且不大于y的整数的集合。
x:顶函数,不小于x的最小整数。例如,7 =7,8.3 =9。
x:底函数,不大于x的最大整数。例如,7 =7,8.3 =8。
β:扭曲线参数。
y:G2到G1的同态映射,满足P1=y(P2)。
⊕:长度相等的两个比特串按比特的模2加运算。
5 有限域和椭圆曲线
5.1 有限域
5.1.1 概述
域由一个非空集合F 和两种运算共同组成,这两种运算分别为加法(用“+”表示)和乘法(用“·”
表示),并且满足下列算术特性:
a) (F,+)对于加法运算构成加法交换群,单位元用0表示;
b) (F\{0},·)对于乘法运算构成乘法交换群,单位元用1表示;
c) 分配律成立:对于所有的a,b,c∈F,都有(a+b)·c=a·c+b·c。
若集合F 是有限集合,则称域为有限域。有限域的元素个数称为有限域的阶。
5.1.2 素域Fp
阶为素数的有限域是素域。
设p是一个素数,则整数模p的全体余数的集合{0,1,2,..,p-1}关于模p 的加法和乘法构成一
个p阶素域,用符号Fp 表示。
Fp 具有如下性质:
a) 加法单位元是0;
b) 乘法单位元是1;
c) 域元素的加法是整数的模p加法,即若a,b∈Fp,则a+b=(a+b)modp;
d) 域元素的乘法是整数的模p乘法,即若a,b∈Fp,则a·b=(a·b)modp。
5.1.3 有限域Fq的m 次扩域Fqm
设q是一个素数或素数方幂,f(x)是多项式环Fq[x]上的一个m(m >1)次不可约多项式(称为约
化多项式或域多项式),商环Fq[x]/(f(x))是含qm个元素的有限域(记为Fqm),称Fqm是有限域Fq的
扩域,域Fq为域Fqm的子域,m 为扩张次数。Fqm 可以看成Fq上的m 维向量空间。Fqm 的每一个元可
以唯一地写成a0β0+a1β1++am -1βm-1的形式,其中ai∈Fq,而β0,β1,..,βm-1是向量空间Fqm在Fq
上的一组基。
Fqm中的元素可以用多项式基或正规基表示。在本部分中,如果不作特别说明,Fqm 中元素均采用
多项式基表示。
不可约多项式f(x)可取为首一的多项式f(x)=xm+fm -1xm -1++f2x2+f1x+f0(其中fi
∈Fq,i=0,1,..,m-1),Fqm中的元素由多项式环Fq[x]中所有次数低于m 的多项式构成。多项式集
合{xm-1,xm-2,..,x,1}是Fqm 在Fq上的一组基,称为多项式基。域Fqm 上的任意一个元素a(x)=
am-1xm-1+am-2xm-2++a1x+a0在Fq上的系数恰好构成了一个m 维向量,用a=(am-1,am-2,..,
a1,a0)表示,其中分量ai∈Fq,i=0,1,..,m-1。
Fqm具有如下性质:
a) 零元0用m 维向量(0,..,0,0)表示;
b) 乘法单位元1用m 维向量(0,..,0,1)表示;
c) 两个域元素的加法为向量加法,各个分量用域Fq的加法;
d) 域元素a和b的乘法定义如下:设a和b对应的Fq上多项式为a(x)和b(x),则a·b定义为
多项式(a(x)·b(x))modf(x)对应的向量;
e) 逆元:设a对应的Fq上多项式为a(x),a的逆元a-1对应的Fq上多项式为a-1(x),那么有a
(x)·a-1(x)≡1modf(x)。
本部分使用Fq上的12次扩域见附录A。
关于有限域的扩域Fqm更多细节,参见附录B中的B.1。
5.2 有限域上的椭圆曲线
有限域Fqm(m≥1)上的椭圆曲线是由点组成的集合。在仿射坐标系下,椭圆曲线上点P(非无穷
远点)用满足一定方程的两个域元素xP和yP表示,xP,yP分别称为点P 的x坐标和y坐标,并记P=
(xP,yP)。
本部分描述特征为大素数p的域上的曲线。
本部分如果不作特别说明,椭圆曲线上的点均采用仿射坐标表示。
定义在Fpm上的椭圆曲线方程见式(1):
y2=x3+ax+b,a,b∈Fpm,且4a3+27b2≠0 (1)
椭圆曲线E(Fpm)定义为:
E(Fpm)={(x,y)|x,y∈Fpm,且满足式(1)}∪{O},其中O 是无穷远点。
椭圆曲线E(Fpm)上的点的数目用#E(Fpm)表示,称为椭圆曲线E(Fpm)的阶。
本部分规定素数p >2191。
设E 和E'是定义在Fq上的椭圆曲线,如果存在一个同构映射ϕd:E'(Fqd)→E(Fqd),其中d是使
映射存在的最小整数,则称E'为E 的d次扭曲线。当p≥5时,d的取值有三种情况:
5.3 椭圆曲线群
椭圆曲线E(Fpm)(m≥1)上的点按照下面的加法运算规则,构成一个交换群:
5.4 椭圆曲线多倍点运算
椭圆曲线上同一个点的重复相加称为该点的多倍点运算。设u是一个正整数,......
|