GB/T 38635.1-2020标准规范下载简介
GB/T 38*35.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则GB/T 38*35.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则简介:
GB/T 38*35.1-2020《信息安全技术 SM9标识密码算法 第1部分:总则》是一个由中国国家标准管理机构制定的国家标准,它主要规定了SM9标识密码算法的基本概念、术语、体系结构、安全要求、实现机制等。SM9是一种公钥密码算法,特别适用于数字签名、身份认证和密钥交换等应用场景,其特点是安全性高、效率好、适合大规模分布式系统。
SM9算法基于椭圆曲线密码学,它提供了一种公钥/私钥对的生成方式,公钥用于加密和验证消息,私钥用于解密和签名。总则部分详细描述了算法的数学基础、密码学原理、算法流程以及如何保证算法的安全性和健壮性。
这个标准对SM9算法的应用场景、算法实现、安全评估和测试等方面都做了明确的规定,是SM9算法在中国范围内进行开发、实施和验证的重要依据。对于需要使用SM9算法的组织和个人来说,理解和遵循这一标准是非常重要的。
GB/T 38*35.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则部分内容预览:
对于椭圆曲线E(F)上的任意非无穷远点P=(αp),该点能由坐标αp及由和p导出白 特定比特简洁地表示,称为点的压缩表示
GB/T38*35.12020
B.*.2F《重金属污水处理设计标准 CECS92:201*》,上椭圆曲线点的压缩与解压缩方法
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 503*5-2019标准下载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 《岩土工程基本术语标准 GB/T 50279-201*》D.3.2椭圆曲线上1阶点的寻找