GB/T 38635.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则

GB/T 38635.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则
仅供个人学习
反馈
标准编号:GB/T 38635.1-2020
文件类型:.pdf
资源大小:2.5M
标准类别:电力标准
资源ID:211003
下载资源

GB/T 38635.1-2020标准规范下载简介

GB/T 38*35.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则

椭圆曲线上同一个点的重复相加称为该点的多倍点*算。设u是一个正整数,P是椭圆曲线上的 点,其u倍点Q=[u]P=P+P++P 多倍点*算可以扩展到O倍点*算和负数倍点*算:LO|P=O,L一u|P=LuJ(一P) 椭圆曲线多倍点*算的实现有多种方法,这里只介绍最基本的三种方法,以下都假设1≤u

椭圆曲线上同一个点的重复相加称为该点的多倍点*算。设u是一个正整数,P是椭圆曲线上的 点,其u倍点Q=[uJP=P+P++P 多倍点*算可以扩展到O倍点*算和负数倍点*算:[O]P=O,[一u]P=[u](一P)。 椭圆曲线多倍点*算的实现有多种方法,这里只介绍最基本的三种方法,以下都假设1≤u

B.3.1求解有限域上离散对数问题的方法

DB11/T 1*0*-2018 绿色雪上**场馆评价标准B.3.2求解椭圆曲线离散对数问题的方法

对于椭圆曲线E(F)上的任意非无穷远点P=(αp),该点能由坐标αp及由和p导出白 特定比特简洁地表示,称为点的压缩表示

GB/T38*35.12020

B.*.2F,上椭圆曲线点的压缩与解压缩方法

GB/T38*35.12020

附录C (资料性附录) 椭圆曲线上双线性对的计算

设有限域F。上随员曲线为E(F。),若并E(F Xr,产是系数且gcd(r,q)三I,c为余因于, 则使rlq*一1的最小正整数k称为椭圆曲线相对于r的嵌人次数。若G是E(F。)的r阶子群,则G 的嵌入次数也是尺。 设F,是有限域F的代数闭包,E[r表示E(F,)中所有r阶点的集合

C.2Miller算法

C.3Weil对的计算

设E是F。上的椭圆曲线,r是与q互素的正整数,设,是r次单位根集合,k是相对于r的嵌入次 数,即rI q*1,则μ,F。 令G=E[r],G2=E[r],G=μ,,则Weil对是从G,×G,到G的双线性映射,记为e, 设PEG,QEG2,若P=O或Q=O,则e,(P,Q)=1;如果P≠O且Q≠O,随机选取非无穷远点 TEG,UEG2.使得P+T和T均不等于U或U+Q,则Weil对为:

f p+T.,(Q+U)f r..(U)fu..(P+ T)f +U.(T) er(P,Q): f r., (Q +U)f p+T.,(U)f o+u..(P + T) fu. (T)

(T)均可用Miller算法计算。在计算过程中,若出现分母为0的情况,则更换点T或U重新计算

C.*Tate对的计算

fp.,(Q十U)和fp.(U)可通过Miller算法计算。在计算过程中,若出现分母为O的情况,则更换 点U重新计算。 在实际应用中,一般使用约化Tate对:

Jf p.r (Q)(qt=1/ Q≠O t,(P,Q) : 1. Q=0

约化Tate对比一般Tate对的计算量减少了一半。若相对于r的嵌人次数k是偶数时,约化Ta 计算方法可以进一步优化。算法1描述的是一般约化Tate对的计算方法,算法2、3、*均指k= 况。

输入:与Q互素的整数r,PEE(F。)[r,QEEF,)[r]。 输出:t,(P,Q)。 a)设r的二进制表示是r;riro,其最高位r,为1。 b) 置f=1,V=P。 c)对i=j一1降至0,执行: 1) 计算 f =f" · gv.v(Q)/g2v(Q),V=[2]V; 2) 若r;=1,则计算 f =f ·gv.p(Q)/gv+p(Q),V=V+P。

GB/T38*35.12020

设元为Frobenius自同态,即元:E→E,(,y)→(",y");[q为映射:E→E,Q→qQ;[1]为 单位映射;元,的对偶为元。,满足元。·元。=[q」;Ker()表示映射的核;设椭圆曲线E(F。)的Frobenius 迹为t,令T=t一1。 下面给出不同结构下的Ate对的计算方法。

C.5.2定义在G,xG,上Ate对的计算

义在G,XG,上Ate对自

Ate:G,XG2→F/(F)

g[A] (P) fo.s(P)

en (Q.P)n2) fQ.B(P)*

易见e"(Q,P)=RA.B(Q,P)M 般来说,不是任意整数对(A;B)都能给出非退化对,(A;B)有四种选择: a)(A;B)=(q;n); b)(A;B)=(q; Ti); c)(A;B)=(T;;T,); d)(A :B)=(n:T,)

GB/T38*35.12020

其中T=q(modn),iEZ,0

H中1 ;q(mod/, 情形1:(A;B)=(q;n),由于A=aB+b,即q=an+b.因此b=g'(modn

青形1:(A;B)=(q;n),由于A=aB十b,即q=an+b.因此b=q(modn),

) (qf 1)/ grailo (P)

fQ(P) ) (qt=1)/ fQ.T, (P) g[a(P)

F fr.1o. (P)= f8. (P

GB/T38*35.12020

C.7适合对的椭圆曲终

对于超奇异曲线,双线性对的构造相对容易,但对于随机生成的曲线,构造可计算的双线性对比较 困难,因此采用常曲线时,需要构造适合对的曲线 假设E是定义在F。上的椭圆曲线,如果以下三个条件成立,则称E是适合对的曲线: a)#E(F。)有一个不小于Vq的素因子r; b)E相对于r的嵌人次数小于log2(r)/8; c)r士1的最大素因子的规模与r相当。 构造适合对的椭圆曲线的步骤如下: 步骤1:选定k,计算整数t、r、q,使得存在一条椭圆曲线E(F。),其迹为t,具有一个素数阶r的子 群且嵌人次数为尺; 步骤2:利用复乘方法在F,上计算该曲线的方程参数 构造适合对的椭圆曲线的方法参见参考文献[1*]、[20]、[21]、[22]、[2*]、[30]、[31]、[33]、[3*] [*8]、[51]、[52]、[57]和[**]。

GB/T38*35.12020

D.1.1有限域中的指数*算

D.1.2有限域中的逆*算

D.1.3Lucas序列的生成

c)置U=1,V=X。 d)对i从r一1降至0执行: 1)置(U,V)=((U.V)modq,((V²+△·U")/2)modq); 2)若k,=1,则置(U,V)=(((X·U+V)/2)modq,((XV+△·U)/2)modq)。

D.1.*平方根的求解

D.1.*.1F。上平方根的求解

设q是奇素数,g是满足o≤g

*.2F。2上平方根的求解

设q是奇素数,对于二次扩域F,2,假设约化多项式为f(r)=²一n,nEF。,则F,中元素β可表 示成α+b的形式,a,bEF.,则β的平方根为:

可以确定β是否有平方根,若有,就计算其中一个

GB/T38*35.12020

输入:F2中元素β=a+bx且β≠0,q为奇素数。 输出:若存在β的平方根,则输出一个平方根之,否则输出“不存在平方根”。 a)计算U=α2一nb。 b)利用D.1.*.1的方法求Umodq的平方根,若Umodq的平方根存在,记作w:,即w;"=U modq,i=1,2,转步骤c);否则输出“不存在平方根”,并终止。 c) 对i从1)~2)执行: 1)计算V=(a+W,)/2; 2)利用D.1.*.1的方法求Vmodq的平方根,若Vmodq的平方根存在,任取一个根y,即 y²=Vmodq,转步骤d);若Vmodq的平方根不存在且i=2,输出“不存在平方根”,并 终止算法。 d)计算2=b/2y(modq)令。=y。 e)输出2=2+2。

D.1.*.3F.㎡上平方根的求解

D.1.*.3F上平方根的求解

D.1.*.3.1F。m上平方元检测

D.1.5概率素性检测

GB/T38*35.12020

D.2有限域上的多项式

D.2.1 最大公因式

F.上多项式不可约性的

设()是F,上的多项式,利用下面的算法可以有效地检测f()的不可约性。 输入:F。上的首一多项式f(a),素数Q。 输出:若f(z)在F上不可约,则输出“正确”;否则,输出“错误”。 a)置 u()=,m=deg(f(x)) 5ΛC b)对i从1~Lm/2』执行: 1)计算u(r)=u(α)modf(α); 2)计算d(r)=gcd(f(α),u(α)α); 3)若d(α)≠1,则输出“错误”,并终止算法。 c输出“正确”

D.3.1圆曲线点的寻

给定有限域上的椭圆曲线,利用下面的算法可有效地找出曲线上任意一个非无 E(F。)上点的寻找 输入:素数p,F。上一条椭圆曲线E的参数a,b。 输出:E(F)上一个非无穷远点。 1)选取随机整数,0≤r

DA/T **-2017 城市轨道交通工程文件归档要求与档案分类规范D.3.2椭圆曲线上1阶点的寻找

本算法可用于椭圆曲线1阶子群生成元的求取 输入:椭圆曲线E(F。)的参数a、b,曲线阶#E(F。)=n=l·r,其中l为素数。 输出:E(F。)上一个1阶点。 a)用D.3.1的方法随机选取曲线上点Q; b)计算 P=[r]Q; c)若P=O,返回步骤a); d)输出P。

D.3.3扭曲线上1阶点的寻找

设F。上椭圆曲线E的方程:y"=α3十az十b,其阶#E(F)=g"十1一t,设其扭曲线E的方程: y²="+β2·a十β·b,β为F,"上非平方元,E(F)的阶#E"(F)=q"+1十t。 输入:椭圆曲线E(F)的扭曲线E(F)的参数a、b和β,扭曲线阶#E(F)=n=l·r,其中 为素数。 输出:E(F)上一个1阶点。 a)用D.3.1的方法随机选取E(Fg)上点Q。 b 计算P=[r]Q。 C) 若P=O,返回步骤a)。 否则,P是1阶点。 d)输出P

GBT 12*0*.7-2021 无损检测 术语 泄漏检测.pdfGB/T38*35.12020

GB/T 38*35.1—2020

©版权声明
相关文章