版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Cybersecuritytechnology—Identity-basedcryptographicalgo—Part2:AlgorithmsI前言 2规范性引用文件 3术语和定义 4符号和缩略语 5算法参数与辅助函数 5.1概述 5.2系统参数组 5.3辅助函数 6数字签名生成和验证算法及流程 6.1系统签名主密钥和用户签名私钥的产生 6.2数字签名生成算法 6.3数字签名生成算法流程 6.4数字签名验证算法 6.5数字签名验证算法流程 7密钥交换协议及流程 7.1系统加密主密钥和用户解密私钥的产生 7.2密钥交换协议 7.3密钥交换协议流程 8密钥封装机制及流程 8.1系统加密主密钥和用户解密私钥的产生 8.2密钥封装算法 8.3密钥封装算法流程 8.4解封装算法 8.5解封装算法流程 9公钥加密算法及流程 9.1系统加密主密钥和用户解密私钥的产生 9.2加密算法 9.3加密算法流程 9.4解密算法 9.5解密算法流程 附录A(资料性)算法示例 20参考文献 49本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起本文件是GB/T38635《网络安全技术SM9标识密码算法》的第2部分。GB/T38635已经发布了以下部分:——第1部分:总则;——第2部分:算法。本文件代替GB/T38635.2—2020《信息安全技术SM9标识密码算法第2部分:算法》,与GB/T38635.2—2020相比,除结构调整和编辑性改动外,主要技术变化如下:a)更改了“签名密钥”为“签名私钥”见3.7、6.1,2020年版3.7、6.1b)增加了术语“解密私钥”(见3.15);c)删除了“消息认证码”(见2020年版3.14、5.3.5);d)增加了初始向量IV(见5.3.4);e)增加了“K2_len”的长度要求(见9.2、9.3f)更改了“t2=k.t1-1”为“t2=ks.t1-1”(见6.1,2020年版6.1)g)更改了“加密密钥”为“解密私钥”见7.1、8.1、9.1、附录A,2020年版7.1、8.1、9.1、附录A);h)增加了“Hash()”的要求(见7.2i)更改了公钥加密算法的分组密码算法模式(见9.2,2020年版9.2)和私钥解密算法的分组密码算法模式(见9.4,2020年版9.4);j)更改了“公钥加解密”示例(见A.5,2020年版A.5k)增加了扩域和R-ate对计算示例(见A.6)。1网络安全技术SM9标识密码算法第2部分:算法本文件规定了SM9标识密码算法中数字签名算法、密钥交换协议、密钥封装机制和公钥加密算法。本文件适用于SM9标识密码算法工程化的实现,指导SM9标识密码算法相关产品的研制和检测。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T17964—2021信息安全技术分组密码算法的工作模式GB/T25069信息安全技术术语GB/T32905信息安全技术SM3密码杂凑算法GB/T32907信息安全技术SM4分组密码算法GB/T32915信息安全技术二元序列随机性检测规范GB/T38635.1—2020信息安全技术SM9标识密码算法第1部分:总则3术语和定义GB/T25069和GB/T38635.1—2020界定的以及下列术语和定义适用于本文件。3.1加密主密钥encryptionmasterkey由加密主私钥和加密主公钥组成,处于标识密码密钥分层结构最顶层的密钥。户的解密私钥,加密主私钥一般由密钥生成中心通过随机数发生器产生,加密主公钥由签名主私钥3.2标识identity实体无法否认、可唯一确定实体身份的信息。注:如实体的可识别名称、电子邮箱、身份证号、[来源:GB/T38635.1—2020,3.1,有修改]3.3发起方initiator在一个协议的操作过程中发送首轮交换信息的用户。3.42GB/T38635.2-XXXX在密码变换中,为增加安全性或使密码设备同步而引入的用于数据变换的起始数据。3.5从A到B的密钥确认keyconfirmationfromAtoB使用户B确信用户A拥有特定秘密密钥的保证。3.6签名消息signedmessage由消息以及该消息的数字签名部分所组成的一组数据元素。3.7签名私钥privatekeyforsignature非对称密码算法中用于计算签名的私钥。3.8签名主密钥signaturemasterkey由签名主私钥和签名主公钥组成,处于标识密码密钥分层结构最顶层的密钥。注:其中签名主公钥公开,签名主私钥由密钥生成中心秘密保存,密钥生成中户的签名私钥,签名主私钥一般由密钥生成中心通过随机数发生器产生,签名主公钥由签名主私钥3.9密钥交换keyexchange在通信实体之间安全地交换密钥的方案,可以使通信双方在非安全通信线路上为信息传送安全地交换密钥。3.10密钥协商keyagreement多个用户之间建立一个共享秘密密钥的过程,其中的任何一个用户都不能预先确定该密钥的值。3.11密钥派生函数keyderivationfunction通过作用于共享秘密和双方都知道的其它参数,产生一个或多个共享秘密密钥的函数。3.12响应方responder在一个协议的操作过程中不是发送首轮交换信息的用户。3.13秘密密钥secretkey在密码体制中收发双方共同拥有的而第三方不知道的一种密钥。3.14解密私钥privatekeyfordecryption3非对称密码算法中用于实现数据机密性的私钥。4符号和缩略语下列符号和缩略语适用于本文件。A,B:使用标识密码系统的两个用户。cf:椭圆曲线阶相对于N的余因子。cid:用一个字节表示的曲线的识别符,其中0x10表示Fp(素数p>2191)上常曲线(即非超奇异曲线),0x11表示Fp上超奇异曲线,0x12表示Fp上常曲线及其扭曲线。dsA:用户A的签名私钥。e:从G1×G2到GT的双线性对。eid:用一个字节表示的双线性对e的识别符,其中0x01表示Tate对,0x02表示Weil对,0x03表示Ate对,0x04表示R-Ate对。GT:阶为素数N的乘法循环群。G1,G2:阶为素数N的加法循环群。一--一--一u个Hv(),Hash():密码杂凑函数。H1(),H2():由密码杂凑函数派生的密码函数。hid:用一个字节表示的私钥生成函数识别符,由KGC选择并公开。(h,S):发送的签名。(h,,S,):收到的签名。IDA:用户A的标识,可以唯一确定用户A的公钥。IV:初始向量/值(InitializationVector/Value)。k:分组密码算法的分组字节长度。KGC:密钥生成中心(KeyGenerationCenter)modn:模n运算。示例:23mod7=2。N:循环群G1、G2和GT的阶,为大于2191的素数。Ppub-s:签名主公钥。P1:群G1的生成元。P2:群G2的生成元。ks:签名主私钥。<P>:由元素P生成的循环群。[u]P:加法群G1、G2中元素P的u倍。x:顶函数,不小于x的最小整数。示例:7=7,8.3=9。lx:底函数,不大于x的最大整数。示例:l7=7,l8.3=8。[x]a:非负整数x以大端序表达为a个字节的数据。示例:[1]表示为4个字节0x00||0x00||0x00||0x01。x||y:x与y的拼接,x和y是比特串或字节串。[x,y]:不小于x且不大于y的整数的集合。β:扭曲线参数。GB/T38635.2-XXXX45算法参数与辅助函数5.1概述第6章规定了SM9标识密码算法中的数字签名算法。该算法的签名者持有一个标识和一个相应的签名私钥,该签名私钥由KGC通过签名主私钥和签名者的标识结合产生。签名者用自身签名私钥对数据产生数字签名,验证者用签名者的标识验证签名的可靠性。在签名的生成和验证过程之前,应使用密码杂凑函数对待签消息M和待验证消息M'进行杂凑计算。第7章规定了SM9标识密码算法中的密钥交换协议。参与密钥交换的发起方用户A和响应方用户B各自持有一个标识和一个相应的解密私钥,解密私钥均由KGC通过加密主私钥和用户的标识结合产生。用户A和B通过交互的信息传递,用标识和各自的解密私钥来商定一个只有他们知道的秘密密钥,用户双方可以通过可选项实现密钥确认。这个共享的秘密密钥通常用在某个对称密码算法中。该密钥交换协议能够用于密钥管理和协商。在现代密码系统中,密钥是控制密码变换的重要参数,而且密码的安全性极大地依赖于对密钥的安全保护。密钥封装机制使得封装者可以产生和加密一个秘密密钥给目标用户,而唯有目标用户可以解封装该秘密密钥,并把它作为进一步的会话密钥。第8章规定了SM9标识密码算法中的密钥封装机制。解封装用户持有一个标识和一个相应的解密私钥,该解密私钥由KGC通过加密主私钥和解封装用户的标识结合产生。封装者利用解封装用户的标识产生并加密一个秘密密钥给对方,解封装用户则用相应的解密私钥解封装该秘密密钥。第9章规定了SM9标识密码算法中的公钥加密算法。该公钥加密算法是上述密钥封装机制和消息封装机制的结合,消息封装机制包括基于密钥派生函数的序列密码以及结合密钥派生函数的分组密码算法两种类型,该算法可以提供消息的机密性。在该算法中,解密用户持有一个标识和一个相应的解密私钥,该解密私钥由KGC通过加密主私钥和解密用户的标识结合产生。加密用户用解密用户的标识加密数据,解密用户用自身解密私钥解密数据。附录A给出了数字签名算法、密钥交换协议、密钥封装机制和公钥加密算法示例,以及扩域和R-ate对计算示例。5.2系统参数组系统参数组包括:——曲线识别符cid;——椭圆曲线基域Fq的参数;——椭圆曲线方程参数a和b;——扭曲线参数β(若cid的低4位为2);——曲线阶的素因子N和相对于N的余因子cf;——曲线E(Fq)相对于N的嵌入次数k;——E(Fqd1)(d1整除k)的N阶循环子群G1的生成元P1;——E(Fqd2)(d2整除k)的N阶循环子群G2的生成元P2;——双线性对e的识别符eid;——(可选项)G2到G1的同态映射Ψ。双线性对e的值域为N阶乘法循环群GT。系统参数组应符合GB/T38635.1—2020中附录A的规定。本文件附录A中示例均使用R-Ate对(eid=0x04)。5.3辅助函数55.3.1概述辅助函数包括密码杂凑函数、随机数发生器、分组密码算法和密钥派生函数。5.3.2密码杂凑函数5.3.2.1密码杂凑函数Hv()密码杂凑函数Hv()的输出是长度恰为v比特的杂凑值。密码杂凑函数Hv()应符合GB/T32905的规定。5.3.2.2密码函数H1()密码函数H1(Z,n)的输入为比特串Z和整数n,输出为一个整数h1∈[1,n—1]。H1(Z,n)需要调用密码杂凑函数Hv()。密码杂凑函数Hv()应符合5.3.2.1的规定。密码函数H1(Z,n):输入:比特串Z,整数n。计算步骤为:a)初始化计数器ct=1;1)计算ai=Hv([1]1||Z||[ct]4);2)ct++;d)若hlen/v是整数,令b=a「hlen/v7,否则令||b,按照GB/T38635.1—2020中7.2.4和7.2.3给出的细节将a的数据类型转换为整数;f)计算h1=(amod(n-1))+1。5.3.2.3密码函数H2()密码函数H2(Z,n)的输入为比特串Z和整数n,输出为一个整数h2∈[1,n—1]。H2(Z,n)需要调用密码杂凑函数Hv()。密码杂凑函数Hv()应符合5.3.2.1的规定。密码函数H2(Z,n):输入:比特串Z,整数n。计算步骤为:a)初始化计数器ct=1;1)计算ai=Hv([2]1||Z||[ct]4);2)ct++;d)若hlen/v是整数,令b=a「hlen/v7,否则令b为a||b,按照GB/T38635.1—2020中7.2.4和7.2.3给出的细节将a的数据类型转换为整数;f)计算h2=(amod(n-1))+1。GB/T38635.2-XXXX65.3.3随机数发生器应使用符合GB/T32915的随机数发生器。5.3.4分组密码算法分组密码算法包括加密算法Enc(K1,m,IV)和解密算法Dec(K1,c,IV)。Enc(K1,m,IV)表示用密钥K1和初始向量IV对明文m进行加密,其输出为密文比特串c;Dec(K1,c,IV)表示用密钥K1和初始向量IV对密文c进行解密,其输出为明文比特串m或“错误”。密钥K1的比特长度记为K1_len,分组字节长度记为k。Enc(K1,m,IV)和Dec(K1,c,IV)应使用GB/T32907中规定的SM4分组密码算法。Enc(K1,m,IV)应符合GB/T17964—2021中6.2规定的CBC加密方式,Dec(K1,c,IV)应符合GB/T17964—2021中6.3规定的CBC解密方式。5.3.5密钥派生函数密钥派生函数的作用是从一个共享的秘密比特串中派生出密钥数据。在密钥协商过程中,密钥派生函数作用在密钥交换所获共享的秘密比特串上,从中产生所需的会话密钥或进一步加密所需的密钥数据。密钥派生函数需要调用密码杂凑函数Hv()。密码杂凑函数Hv()应符合5.3.2.1的规定。密钥派生函数KDF(Z,klen):输入:比特串Z(双方共享的数据),整数klen(表示要获得的密钥数据的比特长度,该值应小于(232-1)v)。输出:长度为klen的密钥数据比特串K。计算步骤为:a)初始化计数器ct=1;1)计算ai=Hv(Z||[ct]4);2)ct++;c)若klen/v是整数,令b=a「klen/v7,否则令d)令K=a1||a2||...||a「klen/v7-1||b。6数字签名生成和验证算法及流程6.1系统签名主密钥和用户签名私钥的产生系统签名主密钥产生流程如下:a)KGC产生随机数ks∈[1,N—1]作为签名主私钥;b)计算G2中的元素Ppub-s=[ks]P2作为签名主公钥,则签名主密钥对为(ks,Ppub-s);c)KGC秘密保存ks,公开Ppub-s;d)KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid。用户A的标识为IDA,产生用户A的签名私钥dsA的流程如下:a)KGC在有限域FN上计算t1=H1(IDA||hid,N)+ksmodN,若t1=0则需重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;b)计算t2=ks.t1-1modN;c)计算dsA=[t2]P1。6.2数字签名生成算法7设待签名的消息为比特串M,为获取消息M的数字签名(h,S),作为签名者的用户A应实现以下运算步骤:A1:计算群GT中的元素g=e(P1,Ppub-s);A2:产生随机数r∈[1,N-1];A3:计算群GT中的元素w=gr,按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将w的数据类型转换为比特串;A4:计算整数h=H2(M||w,N);A5:计算整数l=(r-h)modN,若l=0则返回A2;A6:计算群G1中的元素S=[l]dsA;A7:按照GB/T38635.1—2020中7.2.2给出的细节,将h的数据类型转换为字节串,按照GB/T38635.1—2020中7.2.8给出的细节将S的数据类型转换为字节串,消息M的签名为(h,S)。6.3数字签名生成算法流程数字签名生成算法流程如图1。用户A的原始数据pub-sA)第1步:计算g=e(P1,Ppub-s)第2步:产生随机数r∈[1,N-1]第3步:计算w=gr第4步:计算h=H2(M||w,N)第5步:计算l=(r-h)modN是l=0?否第6步:计算S=[l]dsA第7步:确定数字签名(h,S)输出数字签名(h,S)图1数字签名生成算法流程6.4数字签名验证算法GB/T38635.2-XXXX8为了检验收到的消息M,及其数字签名(h,,S,),作为验证者的用户B应实现以下运算步骤:B1:按照GB/T38635.1—2020中7.2.3给出的细节将h,的数据类型转换为整数,检验h,∈[1,N-1]是否成立,若不成立则验证不通过;B2:按照GB/T38635.1—2020中7.2.9给出的细节将S,的数据类型转换为椭圆曲线上的点,按GB/T38635.1—2020中5.5给出的细节检验S,∈G1是否成立,若不成立则验证不通过;B3:计算群GT中的元素g=e(P1,Ppub-s);B4:计算群GT中的元素t=gh,;B5:计算整数h1=H1(IDA||hid,N);B6:计算群G2中的元素P=[h1]P2+Ppub-s;B7:计算群GT中的元素u=e(S,,P);B8:计算群GT中的元素w,=u.t,按照GB/T38635.1-2020中7.2.6和7.2.5给出的细节将w,的数据类型转换为比特串;B9:计算整数h2=H2(M,||w,,N),检验h2=h,是否成立,若成立则验证通过;否则验证不通过。6.5数字签名验证算法流程数字签名验证算法流程如图2。用户B的原始数据(系统参数、签名主公钥Ppub-s、识别符hid、标识IDA、消息M,及其数字签名(h,,S,))第1步:检验h,∈[1,N-1]是否成立否是第2步:检验S,∈G1是否成立否1?是第3步:计算g=e(P1,Ppub-s)第4步:计算t=gh,第5步:计算h1=H1(IDA||hid,N)第6步:计算P=[h1]P2+Ppub-s第7步:计算u=e(S,,P)第8步:计算w,=u.t第9步:计算h2=H2(M,||w,,N)否h2=h,?是验证不通过验证通过验证不通过图2数字签名验证算法流程7密钥交换协议及流程GB/T38635.2-XXXX7.1系统加密主密钥和用户解密私钥的产生系统加密主密钥产生流程如下:a)KGC产生随机数ke∈[1,N—1]作为加密主私钥;b)计算G1中的元素Ppub-e=[ke]P1作为加密主公钥,则加密主密钥对为(ke,Ppub-e);c)KGC秘密保存ke,公开Ppub-e;d)KGC选择并公开用一个字节表示的解密私钥生成函数识别符hid。用户A的标识为IDA,产生用户A的解密私钥deA的流程如下:a)KGC在有限域FN上计算t1=H1(IDA||hid,N)+kemodN,若t1=0则需重新产生加密主私钥,计算和公开加密主公钥,并更新已有用户的解密私钥;b)计算t2=ke.t1-1modN;c)计算deA=[t2]P2。用户B的标识为IDB,产生用户B的解密私钥deB的流程如下:a)KGC在有限域FN上计算t3=H1(IDB||hid,N)+kemodN,若t3=0则需重新产生加密主私钥,计算和公开加密主公钥,并更新已有用户的解密私钥;b)计算t4=ke.t3-1modN;c)计算deB=[t4]P2。7.2密钥交换协议设用户A和B协商获得密钥数据的长度为klen比特,用户A为发起方,用户B为响应方。用户A和B双方为了获得相同的密钥,应实现如下运算步骤:用户A:A1:计算群G1中的元素QB=[H1(IDB||hid,N)]P1+Ppub-e;A3:计算群G1中的元素RA=[rA]QB;A4:将RA发送给用户B。用户B:B1:计算群G1中的元素QA=[H1(IDA||hid,N)]P1+Ppub-e;B3:计算群G1中的元素RB=[rB]QA;B4:按照GB/T38635.1—2020中5.5给出的细节验证RA∈G1是否成立,若不成立则协商失败;否则计算群GT中的元素g1=e(RA,deB),g2=e(Ppub—e,P2)rB,g3=g1rB,按照GB/T38635.1-2020中7.2.6和7.2.5给出的细节将g1,g2,g3的数据类型转换为比特串;B5:按照GB/T38635.1—2020中7.2.8和7.2.5给出的细节把RA和RB的数据类型转换为比特串,计算SKB=KDF(IDA||IDB||RA||RB||g1||g2||g3,klen);B6:(可选项)计算SB=Hash([0x82]1||g1||Hash(g2||g3||IDA||IDB||RA||RB));B7:将RB、(可选项SB)发送给用户A。用户A:A5:按照GB/T38635.1—2020中5.5给出的细节验证RB∈G1是否成立,若不成立则协商失败;否则计算群GT中的元素g1,=e(EQ\*jc3\*hps22\o\al(\s\up0(P),p)ub—e,P2)rA,g2,=e(RB,deA),g3,=(g2,)r,按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将g1,,g2,,g3,的数据类型转换为比特串;A6:按照GB/T38635.1—2020中7.2.8和7.2.5给出的细节把RA和RB的数据类型转换为比特串,(可选项)计算S1=Hash([0x82]1||g1,||Hash(g2,||g3,||IDA||IDB||RA||RB)),并检验S1=SB是否成立,若等式不成立则从B到A的密钥确认失败;A7:计算SKA=KDF(IDA||IDB||RA||RB||g1,||g2,||g3,,klen);A8:(可选项)计算SA=Hash([0x83]1||g1,||Hash(g2,||g3,||IDA||IDB||RA||RB)),并将SA发送给用户B。用户B:B8:(可选项)计算S2=Hash([0x83]1||g1||Hash(g2||g3||IDA||IDB||RA||RB)),并检验S2=SA是否成立,若等式不成立则从A到B的密钥确认失败。其中,密码杂凑函数Hash()应符合GB/T32905的规定。7.3密钥交换协议流程密钥交换协议流程如图3。GB/T38635.2-XXXX响应方用户B的原始数据(系统参数、加密主公钥P响应方用户B的原始数据(系统参数、加密主公钥Ppub-e、识别符hid、解密私钥deB和标识IDB、IDA)(系统参数、加密主公钥Ppub-e、识别符hid、解密私钥deA和标识IDA、IDB)第1步:计算QA=[H1(IDA||hid,N)]P1+Ppub第1步:计算QA=[H1(IDA||hid,N)]P1+Ppub-e第2步:产生随机数rB∈[1,N-1]第3步:计算RB=[rB]QA第2步:产生随机数rA∈[1,N-1]第3步:计算RA=[rA]QB第4步:将RA发送给用户B否RARA1RB1?是是第4步:计算g1=e(RA,deB),g2=e(Ppub—e,P2)r,g3=g1r第5步:计算SKB第4步:计算g1=e(RA,deB),g2=e(Ppub—e,P2)r,g3=g1r第5步:计算SKB=KDF(IDA||IDB||RA||RB||g1||g2||g3,klen)第6步:(可选项)计算SB=Hash([0x82]1||g1||Hash(g2||g3||IDA||IDB||RA||RB))第7步:将RB、(可选项SB)发送给用户A第6步可选项)计算S1=Hash([0x82]1||g1,||Hash(g2,||g3,||IDA||IDB||RA||RB))否S1=SB?第8步:(可选项)计算S2S2=Hash([0x83]1||g1||Hash(g2||g3||IDA||IDB||RA||RB))从B到A的密钥确认成功否第7步:计算否S2=SA?SKA=KDF(IDA||IDB||RA||RB||g1,||g2,||g3,,klen)第8S2=SA?是从A到B的密钥确认成功SA=Hash([0x83]1||g1,||Hash(g2,||g3,||IDA||IDB||RA||RB))从A到B的密钥确认成功从A到B的密钥确认失败从从A到B的密钥确认失败协商失败图3密钥交换协议流程8密钥封装机制及流程8.1系统加密主密钥和用户解密私钥的产生系统加密主密钥产生流程如下:a)KGC产生随机数ke∈[1,N—1]作为加密主私钥;b)计算G1中的元素Ppub-e=[ke]P1作为加密主公钥,则加密主密钥对为(ke,Ppub-e);c)KGC秘密保存ke,公开Ppub-e;d)KGC选择并公开用一个字节表示的解密私钥生成函数识别符hid。用户B的标识为IDB,产生用户B的解密私钥deB的流程如下:a)KGC在有限域FN上计算t1=H1(IDB||hid,N)+kemodN,若t1=0则需重新产生加密主私钥,计算和公开加密主公钥,并更新已有用户的解密私钥;b)计算t2=ke.t1-1modN;c)计算deB=[t2]P2。8.2密钥封装算法为了封装比特长度为klen的密钥给用户B,作为封装者的用户A需要执行以下运算步骤:A1:计算群G1中的元素QB=[H1(IDB||hid,N)]P1+Ppub-e;A3:计算群G1中的元素C=[r]QB,按照GB/T38635.1—2020中7.2.8和7.2.5给出的细节将C的数据类型转换为比特串;A4:计算群GT中的元素g=e(Ppub-e,P2);A5:计算群GT中的元素w=gr,按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将w的数据类型转换为比特串;A6:计算K=KDF(C||w||IDB,klen),若K为全0比特串,则返回A2。A7:输出(K,C),其中K是被封装的密钥,C是封装密文。8.3密钥封装算法流程密钥封装算法流程如图4。GB/T38635.2-XXXX用户A的原始数据(系统参数、加密主公钥Ppub-e、识别符hid和标识IDB)第1步:计算QB=[H1(IDB||hid,N)]P1+Ppub-e第2步:产生随机数r∈[1,N-1]第3步:计算C=[r]QB第4步:计算g=e(Ppub-e,P2)第5步:计算w=gr第6步:计算K=KDF(C||w||IDB,klen)是K是否全0否第7步:输出密钥K和封装密文C图4密钥封装算法流程8.4解封装算法用户B收到封装密文C后,为了解封装出比特长度为klen的密钥,需要执行以下运算步骤:B1:按照GB/T38635.1—2020中5.5给出的细节验证C∈G1是否成立,若不成立则报错并退出;B2:计算群GT中的元素w,=e(C,deB),按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将w,的数据类型转换为比特串;B3:按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将C的数据类型转换为比特串,计算封装的密钥K,=KDF(C||w,||IDB,klen),若K,为全0比特串,则报错并退出;B4:输出密钥K,。8.5解封装算法流程解封装算法流程如图5。用户B的原始数据(系统参数、封装密文C、标识IDB和解密私钥deB)第1步:检验C∈G1是否成立否1?是第2步:计算w,=e(C,deB)第3步:计算K,=KDF(C||w,||IDB,klen)是K,是否全0否第4步:输出密钥K,报错并退出图5解封装算法流程9公钥加密算法及流程9.1系统加密主密钥和用户解密私钥的产生系统加密主密钥产生流程如下:a)KGC产生随机数ke∈[1,N—1]作为加密主私钥;b)计算G1中的元素Ppub-e=[ke]P1作为加密主公钥,则加密主密钥对为(ke,Ppub-e);c)KGC秘密保存ke,公开Ppub-e;d)KGC选择并公开用一个字节表示的解密私钥生成函数识别符hid。用户B的标识为IDB,产生用户B的解密私钥deB的流程如下:a)KGC在有限域FN上计算t1=H1(IDB||hid,N)+kemodN,若t1=0则需重新产生加密主私钥,计算和公开加密主公钥,并更新已有用户的解密私钥;b)计算t2=ke.t1-1modN;c)计算deB=[t2]P2。9.2加密算法设需要发送的消息为比特串M,mlen为M的比特长度,K1_len为分组密码算法中密钥K1的比特长GB/T38635.2-XXXX度,K2_len为密钥K2的比特长度。K2_len应为Hv的输出比特长度,即K2_len=v。密码杂凑函数Hv()应符合5.3.2.1的规定。为了加密明文M给用户B,作为加密者的用户A应实现以下运算步骤:A1:计算群G1中的元素QB=[H1(IDB||hid,N)]P1+Ppub-e;A2:产生随机数r∈[1,N-1];A3:计算群G1中的元素C1=[r]QB,按照GB/T38635.1—2020中7.2.8和7.2.5给出的细节将C1的数据类型转换为比特串;A4:计算群GT中的元素g=e(Ppub-e,P2);A5:计算群GT中的元素w=gr,按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将w的数据类型转换为比特串;A6:按加密明文的方法分类进行计算:a)如果加密明文的方法是基于密钥派生函数的序列密码算法,则1)计算整数klen=mlen+K2_len,然后计算K=KDF(C1||w||IDB,klen)。令K1为K最左边的mlen比特,K2为剩下的K2_len比特,若K1为全0比特串,则返回A2;2)计算C2=M⊕K1。b)如果加密明文的方法是结合密钥派生函数的分组密码算法,则1)对消息M进行填充,填充方式为将k-(lmodk)个值为k-(lmodk)的字节作为填充内容附加到消息M后,其中l为消息M的字节长度,k为分组字节长度,填充后的消息仍记为M;lmodk=0kk……kk(共k个)2)计算整数klen=K1_len+K2_len,然后计算K=KDF(C1||w||IDB,klen)。令K1为K最左边的K1_len比特,K2为剩下的K2_len比特,若K1为全0比特串,则返回A2;3)计算C2=Enc(K1,M,[0]k),即使用密钥K1和IV=[0]k,按照GB/T17964—2021中6.2规定的CBC加密方式加密消息M。A7:计算C3=Hv(C2||K2);A8:输出密文C=C1||C3||C2。9.3加密算法流程加密算法流程如图6。用户用户A的原始数据(系统参数、加密主公钥Ppub-e、识别符hid、长度为mlen比特的消息M和标识IDB)第1步:计算QB=[H1(IDB||hid,N)]P1+Ppub-e第2步:产生随机数r∈[1,N-1]第3步:计算C1=[r]QB第4步:计算g=e(Ppub-e,P2)第5步:计算w=gr第6步:按加密明文的方法分类进行计算a)基于KDF的序列密码b)结合KDF的分组密码1)1)计算klen=mlen+K2_len,然后计算K=KDF(C1||w||IDB,klen),令K1为K最左边的mlen比特,K2为剩下的K2_len比特1)对消息M进行填充2)计算klen=K1_len+K2_len,然后计算K=KDF(C1||w||IDB,klen),令K1为K最左边的K1_len比特,K2为剩下的K2_len比特是是是K1全0KK1全0否2)否2)计算C2=M⊕K13)计算C2=Enc(K1,M,[0]k)第7步:计算C3=Hv(C2||K2)第8步:输出密文C=C1||C3||C2图6加密算法流程9.4解密算法设mlen为密文C=C1||C3||C2中C2的比特长度,K1_len为分组密码算法中密钥K1的比特长度,K2_lenGB/T38635.2-XXXXK2_len应为Hv的输出比特长度,即K2_len=v。密码杂凑函数Hv()应符合5.3.2.1的规定。为了对C进行解密,作为解密者的用户B应实现以下运算步骤:B1:从C中取出比特串C1,按照GB/T38635.1—2020中7.2.4和7.2.9给出的细节将C1的数据类型转换为椭圆曲线上的点,按照GB/T38635.1—2020中5.5给出的细节验证C1∈G1是否成立,若不成立则报错并退出;B2:计算群GT中的元素w9=e(C1,deB),按照GB/T38635.1—2020中7.2.6和7.2.5给出的细节将w9的数据类型转换为比特串;B3:按加密明文的方法分类进行计算:a)如果加密明文的方法是基于密钥派生函数的序列密码算法,则的mlen比特,K29为剩下的K2_len比特,若K19为全0比特串,则报错并退出;b)如果加密明文的方法是结合密钥派生函数的分组密码算法,则1)计算整数klen=K1_len+K2_len,然后计算K9=KDF(边的K1_len比特,K29为剩下的K2_len比特,若K19为全0比特串,则报错并退出;2,[0]k),其中k为分组字节长度,即使用密钥K19和IV=[0]k,按照GB/T17964—2021中6.3规定的CBC解密方式解密C2;3)对解密明文M9去填充,仍记为M9。B4:计算u=Hv(C2||K29),从C中取出比特串C3,9.5解密算法流程解密算法流程如图7。用户B的原始数据(系统参数、密文C=C1||C3||C2、标识IDB和解密私钥deB)第1步:从C中取出C1否是第2步:计算w,=e(C1,deB)第3步:按加密明文的方法分类进行计算a)基于KDF的序列密码b)结合KDF的分组密码1)计算klen=K1_len+K2_len,然后计算K,=KDF(C1||w,||IDB,klen),令K1,为K,最左边的K1_len比特,K2,为剩下的1)计算klen=K1_len+K2_len,然后计算K,=KDF(C1||w,||IDB,klen),令K1,为K,最左边的K1_len比特,K2,为剩下的K2_len比特是是是K1,全0?否K1,全0?否2)计算M,=C2⊕K1,否2)计算M,=Dec(K1,,C2,[0]k)3)对M,去填充第4步:计算u=Hv(C2||K2,)否u=C3?是报错并退出报错并退出第5步:输出明文M,报错并退出报错并退出图7解密算法流程GB/T38635.2-XXXX附录B(资料性)附录C算法示例C.1概述本附录中,所有用16进制表示的数,左边为高位,右边为低位。本附录中,消息采用GB/T1988-1998编码。C.2数字签名与验证椭圆曲线方程为:y2=x3+b基域特征q:0xB640000002A3A6F1D603AB4FF58EC74521F2934B1A7AEEDBE56F9B27E351457D方程参数b:05群G1,G2的阶N:0xB640000002A3A6F1D603AB4FF58EC74449F2934B18EA8BEEE56EE19CD69ECF25余因子cf:1嵌入次数k:12扭曲线的参数β:-2群G1的生成元P1=(xP1,yP1)坐标xP1:0x93DE051D62BF718FF5ED0704487D01D6E1E4086909DC3280E8C4E4817C66DDDD坐标yP1:0x21FE8DDA4F21E607631065125C395BBC1C1C00CBFA6024350C464CD70A3EA616群G2的生成元P2=(xP2,yP2)坐标xP2:(0x85AEF3D078640C98597B6027B441A01FF1DD2C190F5E93C454806C11D8806141,0x3722755292130B08D2AAB97FD34EC120EE265948D19C17ABF9B7213BAF82D65B)坐标yP2:(0x17509B092E845C1266BA0D262CBEE6ED0736A96FA347C8BD856DC76B84EBEB96,0xA7CF28D519BE3DA65F3170153D278FF247EFBA98A71A08116215BBA5C999A7C7)双线性对的识别符eid:0x04签名主密钥和用户签名私钥产生过程中的相关值:签名主私钥ks:0x0130E78459D78545CB54C587E02CF480CE0B66340F319F348A1D5B1F2DC5F4签名主公钥Ppub-s=[ks]P2=(xPpub-s,yPpub-s)坐标xPpub-s:(0x9F64080B3084F733E48AFF4B41B565011CE0711C5E392CFB0AB1B6791B94C408,0x29DBA116152D1F786CE843ED24A3B573414D2177386A92DD8F14D65696EA5E32)坐标yPpub-s:(0x69850938ABEA0112B57329F447E3A0CBAD3E2FDB1A77F335E89E1408D0EF1C25,0x41E00A53DDA532DA1A7CE027B7A46F741006E85F5CDFF0730E75C05FB4E3216D)签名私钥生成函数识别符hid:0x01实体A的标识IDA:AliceIDA的16进制表示:0x416C696365在有限域FN上计算t1=H1(IDA||hid,N)+ksmodNIDA||hid:0x416C69636501H1(IDA||hid,N):0x2ACC468C3926B0BDB2767E99FF26E084DE9CED8DBC7D5FBF418027B667862FABt1:0x2ACD7773BD808842F841D35F87070D795F6AF8F3F08C915E760A451186B3F59F在有限域FN上计算t2=ks.t1—1modNt2:0x291FE3CAC8F58AD2DC462C8D4D578A94DAFD5624DDC28E328D2936688A86CF1A签名私钥dsA=[t2]P1=(xdsA,ydsA)坐标xdsA:0xA5702F05CF1315305E2D6EB64B0DEB923DB1A0BCF0CAFF90523AC8754AA69820坐标ydsA:0x78559A844411F9825C109F5EE3F52D720DD01785392A727BB1556952B2B013D3签名步骤中的相关值:待签名消息M:ChineseIBSstandardM的16进制表示:4368696E65736520494253207374616E64617264计算群GT中的元素g=e(P1,Ppub-s):(0x4E378FB5561CD0668F906B731AC58FEE25738EDF09CADC7A29C0ABC0177AEA6D,0x28B3404A61908F5D6198815C99AF1990C8AF38655930058C28C21BB539CE0000,0x38BFFE40A22D529A0C66124B2C308DAC9229912656F62B4FACFCED408E02380F,0xA01F2C8BEE81769609462C69C96AA923FD863E209D3CE26DD889B55E2E3873DB,0x67E0E0C2EED7A6993DCE28FE9AA2EF56834307860839677F96685F2B44D0911F,0x5A1AE172102EFD95DF7338DBC577C66D8D6C15E0A0158C7507228EFB078F42A6,0x1604A3FCFA9783E667CE9FCB1062C2A5C6685C316DDA62DE0548BAA6BA30038B,0x93634F44FA13AF76169F3CC8FBEA880ADAFF8475D5FD28A75DEB83C44362B439,0xB3129A75D31D17194675A1BC56947920898FBF390A5BF5D931CE6CBB3340F66D,0x4C744E69C4A2E1C8ED72F796D151A17CE2325B943260FC460B9F73CB57C9014B,0x84B87422330D7936EABA1109FA5A7A7181EE16F2438B0AEB2F38FD5F7554E57A,0xAAB9F06A4EEBA4323A7833DB202E4E35639D93FA3305AF73F0F071D7D284FCFB)产生随机数r:0x033C8616B06704813203DFD00965022ED15975C662337AED648835DC4B1CBE计算群GT中的元素w=gr:(0x81377B8FDBC2839B4FA2D0E0F8AA6853BBBE9E9C4099608F8612C6078ACD7563,0x815AEBA217AD502DA0F48704CC73CABB3C06209BD87142E14CBD99E8BCA1680F,0x30DADC5CD9E207AEE32209F6C3CA3EC0D800A1A42D33C73153DED47C70A39D2E,0x8EAF5D179A1836B359A9D1D9BFC19F2EFCDB829328620962BD3FDF15F2567F58,0xA543D25609AE943920679194ED30328BB33FD15660BDE485C6B79A7B32B01398,0x3F012DB04BA59FE88DB889321CC2373D4C0C35E84F7AB1FF33679BCA575D6765,0x4F8624EB435B838CCA77B2D0347E65D5E46964412A096F4150D8C5EDE5440DDF,0x0656FCB663D24731E80292188A2471B8B68AA993899268499D23C89755A1A897,0x44643CEAD40F0965F28E1CD2895C3D118E4F65C9A0E3E741B6DD52C0EE2D25F5,0x898D60848026B7EFB8FCC1B2442ECF0795F8A81CEE99A6248F294C82C90D26BD,0x6A814AAF475F128AEF43A128E37F80154AE6CB92CAD7D1501BAE30F750B3A9BD,0x1F96B08E97997363911314705BFB9A9DBB97F75553EC90FBB2DDAE53C8F68E42)计算h=H2(M||w,N)M||w:0x4368696E65736520494253207374616E6461726481377B8FDBC2839B4FA2D0E0GB/T38635.2-XXXXF8AA6853BBBE9E9C4099608F8612C6078ACD7563815AEBA217AD502DA0F48704CC73CABB3C06209BD87142E14CBD99E8BCA1680F30DADC5CD9E207AEE32209F6C3CA3EC0D800A1A42D33C73153DED47C70A39D2E8EAF5D179A1836B359A9D1D9BFC19F2EFCDB829328620962BD3FDF15F2567F58A543D25609AE943920679194ED30328BB33FD15660BDE485C6B79A7B32B013983F012DB04BA59FE88DB889321CC2373D4C0C35E84F7AB1FF33679BCA575D67654F8624EB435B838CCA77B2D0347E65D5E46964412A096F4150D8C5EDE5440DDF0656FCB663D24731E80292188A2471B8B68AA993899268499D23C89755A1A89744643CEAD40F0965F28E1CD2895C3D118E4F65C9A0E3E741B6DD52C0EE2D25F5898D60848026B7EFB8FCC1B2442ECF0795F8A81CEE99A6248F294C82C90D26BD6A814AAF475F128AEF43A128E37F80155BFB9A9D4AE6CB92BB97F755CAD7D15053EC90FB1BAE30F7B2DDAE5350B3A9BDC8F68E421F96B08E9799736391131470h:0x823C4B21E4BD2DFE1ED92C606653E996668563152FC33F55D7BFBB9BD9705ADB计算l=(rh)modN:0x3406F1643496DFF8385C82CF5F4442B0123E89ABAF898013FB13AE36D9799108计算群G1中的元素S=[l]dsA=(xS,yS)坐标xS:0x73BF96923CE58B6AD0E13E9643A406D8EB98417C50EF1B29CEF9ADB48B6D598C坐标yS:0x856712F1C2E0968AB7769F42A99586AED139D5B8B3E15891827CC2ACED9BAA05消息M的签名为(h,S)h:0x823C4B21E4BD2DFE1ED92C606653E996668563152FC33F55D7BFBB9BD9705ADBS:(0x73BF96923CE58B6AD0E13E9643A406D8EB98417C50EF1B29CEF9ADB48B6D598C,0x856712F1C2E0968AB7769F42A99586AED139D5B8B3E15891827CC2ACED9BAA05)验证步骤中的相关值:计算群GT中的元素g=e(P1,Ppub-s):(0x4E378FB5561CD0668F906B731AC58FEE25738EDF09CADC7A29C0ABC0177AEA6D,0x28B3404A61908F5D6198815C99AF1990C8AF38655930058C28C21BB539CE0000,0x38BFFE40A22D529A0C66124B2C308DAC9229912656F62B4FACFCED408E02380F,0xA01F2C8BEE81769609462C69C96AA923FD863E209D3CE26DD889B55E2E3873DB,0x67E0E0C2EED7A6993DCE28FE9AA2EF56834307860839677F96685F2B44D0911F,0x5A1AE172102EFD95DF7338DBC577C66D8D6C15E0A0158C7507228EFB078F42A6,0x1604A3FCFA9783E667CE9FCB1062C2A5C6685C316DDA62DE0548BAA6BA30038B,0x93634F44FA13AF76169F3CC8FBEA880ADAFF8475D5FD28A75DEB83C44362B439,0xB3129A75D31D17194675A1BC56947920898FBF390A5BF5D931CE6CBB3340F66D,0x4C744E69C4A2E1C8ED72F796D151A17CE2325B943260FC460B9F73CB57C9014B,0x84B87422330D7936EABA1109FA5A7A7181EE16F2438B0AEB2F38FD5F7554E57A,0xAAB9F06A4EEBA4323A7833DB202E4E35639D93FA3305AF73F0F071D7D284FCFB)计算群GT中的元素t=gh,:(0xB59486D6F3AE4649ADF387C5A22790E42B98051A339B3403B17B1F2B38259EFE,0x1632C30AA86001F52EEFED517AA672D70F03AF3EE9197017EDA431436CFBDACE,0x2F635B5B0243F6F4876A1D9149EAFAB71060EA4352DE6D4A83B5F8F3DF73EFF0,0x3A27F33E024339B83F16E58AE524A5FAA3E7FD009568A9FF23752BC8DD85B704,0x08208E26734BC66731AEE530692B3AE277EA70D6BBAF8F485295D067E67B3B4F,0x1DBDDD78126E962E950CEBB385C3F7A3E0A5597F9C3B9FB3F5DAC3DAA85FD016,0x189E64A3C0A0D87611A83AEC8F3A3688C0ABF2F64860CF331463ACB3A4AABB04,0x6E3FA26F762D1A2371601BE00DA702B1A726273CE843D991CE5C2EABAB2EAC6F,0xA5BCFFD540EE56B5A26CCDA566FD8ABC3615CB7DEA8F240E0BF4615816C2B23E,0xA074A0AA62A26C283F11543CECDEA5242113FE2E982CCBDA2D495EF6C05550A6,0x2E3F160C96C160595A1034B5156920668A7BEE5E82E0B8BE06963FDDBDEB5AAE, 0x0DCF9EA28617B5965313B917D556DA0D3A557C4112CE1C4A06B327D7DC18273D)计算h1=H1(IDA||hid,N)IDA||hid:0x416C69636501h1:0x2ACC468C3926B0BDB2767E99FF26E084DE9CED8DBC7D5FBF418027B667862FAB计算群G2中的元素P=[h1]P2+Ppub-s=(xP,yP)坐标xP:(0x511F2C823C7484DDFC16BBC53AAD33B78D2429AFCF7F8AD8B72261B4E1FFCF79,0x7B234E1D623A172AAA89164AF3E828B4D0E49CE6EC5C7FE92E657272250CBAF6)坐标yP:(0x4831DD313EC39FDA59F3E14FEBCFF7848D11875D805662D26969CF705D46ED70,0x73B542A69058F4601AC19F237203686368FEC436C13C2B0761F9F9B6E14A36E4)计算群GT中的元素u=e(S,,P):(0xA97A171304A0316FC8BA21B911289C4371E73B7D2163AC5B44F3B52588EB69A1,0x1838972BF0CA86E17147468A869A3261FCC27993AA50E36727918ED5ABD71C0C,0x291663C49DF9B4A82B122412B749BF144341F2E22564506145E0B77173496F50,0xABB3B115E006FAE8EC3CB133F411DF05B32CFA157716082DEEDF7BDB188966DF,0x5FCC7DBDFC714FC8989E0331838142275EAE6B6309BAD1DEFE28263AD66E6780,0x48697F5C62EE4342325A9EF03775A52F1C0B9D5FB08D99E8D65A436B8A9AF05E,0x5C53DC7E4D8A0B7557920B21FA5F2E75B38C4445F0CF9153AC4127240530F5D5,0x01BBD7B34565F80CCB4528093CE9FAFDF6AD84FD620F3B5BC324DA19BB665151,0x4AE8D62318D2BA35F9494189100BCD82F1B1399B0B14867700D3D7A243D02D3A,0x701409A66ED452DEC4586735CF3631379501DC756466F6F18E3BC002722531AE,0x7B9A10CEB34F11956A04E3064663D87B844B452C3D81C91A8223938D1A9ABBC4,0x753A274B8E9E35AF503B7C2E39ABB32BC8674FC8EC012D8BEBDFFF2FE0985F85)计算群GT中的元素w'=u.t:(0x81377B8FDBC2839B4FA2D0E0F8AA6853BBBE9E9C4099608F8612C6078ACD7563,0x815AEBA217AD502DA0F48704CC73CABB3C06209BD87142E14CBD99E8BCA1680F,0x30DADC5CD9E207AEE32209F6C3CA3EC0D800A1A42D33C73153DED47C70A39D2E,0x8EAF5D179A1836B359A9D1D9BFC19F2EFCDB829328620962BD3FDF15F2567F58,0xA543D25609AE943920679194ED30328BB33FD15660BDE485C6B79A7B32B01398,0x3F012DB04BA59FE88DB889321CC2373D4C0C35E84F7AB1FF33679BCA575D6765,0x4F8624EB435B838CCA77B2D0347E65D5E46964412A096F4150D8C5EDE5440DDF,0x0656FCB663D24731E80292188A2471B8B68AA993899268499D23C89755A1A897,0x44643CEAD40F0965F28E1CD2895C3D118E4F65C9A0E3E741B6DD52C0EE2D25F5,0x898D60848026B7EFB8FCC1B2442ECF0795F8A81CEE99A6248F294C82C90D26BD,0x6A814AAF475F128AEF43A128E37F80154AE6CB92CAD7D1501BAE30F750B3A9BD,0x1F96B08E97997363911314705BFB9A9DBB97F75553EC90FBB2DDAE53C8F68E42)计算h2=H2(M,||w,,N)0x4368696E65736520494253207374616E6461726481377B8FDBC2839B4FA2D0E0GB/T38635.2-XXXXF8AA6853BBBE9E9C4099608F8612C6078ACD7563815AEBA217AD502DA0F48704CC73CABB3C06209BD87142E14CBD99E8BCA1680F30DADC5CD9E207AEE32209F6C3CA3EC0D800A1A42D33C73153DED47C70A39D2E8EAF5D179A1836B359A9D1D9BFC19F2EFCDB829328620962BD3FDF15F2567F58A543D25609AE943920679194ED30328BB33FD15660BDE485C6B79A7B32B013983F012DB04BA59FE88DB889321CC2373D4C0C35E84F7AB1FF33679BCA575D67654F8624EB435B838CCA77B2D0347E65D5E46964412A096F4150D8C5EDE5440DDF0656FCB663D24731E80292188A2471B8B68AA993899268499D23C89755A1A89744643CEAD40F0965F28E1CD2895C3D118E4F65C9A0E3E741B6DD52C0EE2D25F5898D60848026B7EFB8FCC1B2442ECF0795F8A81CEE99A6248F294C82C90D26BD6A814AAF475F128AEF43A128E37F80155BFB9A9D4AE6CB92BB97F755CAD7D15053EC90FB1BAE30F7B2DDAE5350B3A9BDC8F68E421F96B08E9799736391131470h2:0x823C4B21E4BD2DFE1ED92C606653E996668563152FC33F55D7BFBB9BD9705ADBh2=h,验证通过。C.3密钥交换椭圆曲线方程为:y2=x3+b基域特征q:0xB640000002A3A6F1D603AB4FF58EC74521F2934B1A7AEEDBE56F9B27E351457D方程参数b:05群G1,G2的阶N:0xB640000002A3A6F1D603AB4FF58EC74449F2934B18EA8BEEE56EE19CD69ECF25余因子cf:1嵌入次数k:12扭曲线的参数β:-2群G1的生成元P1=(xP1,yP1)坐标xP1:0x93DE051D62BF718FF5ED0704487D01D6E1E4086909DC3280E8C4E4817C66DDDD坐标yP1:0x21FE8DDA4F21E607631065125C395BBC1C1C00CBFA6024350C464CD70A3EA616群G2的生成元P2=(xP2,yP2)坐标xP2:(0x85AEF3D078640C98597B6027B441A01FF1DD2C190F5E93C454806C11D8806141,0x3722755292130B08D2AAB97FD34EC120EE265948D19C17ABF9B7213BAF82D65B)坐标yP2:(0x17509B092E845C1266BA0D262CBEE6ED0736A96FA347C8BD856DC76B84EBEB96,0xA7CF28D519BE3DA65F3170153D278FF247EFBA98A71A08116215BBA5C999A7C7)双线性对的识别符eid:0x04加密主密钥和用户解密私钥产生过程中的相关值:加密主私钥ke:0x02E65B0762D042F51F0D23542B13ED8CFA2E9A0E7206361E013A283905E31F加密主公钥Ppub-e=[ke]P1=(xPpub-e,yPpub-e)坐标xPpub-e:0x917
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年幼儿教师资格考试《保教知识与能力》真题和答案
- 2026年床头交接班实操培训试卷(含答案)
- 2025中级会计经济法真题题库及答案
- 2026事业单位工勤技能-新疆-新疆兽医防治员四级(中级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广西-广西政务服务办事员三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广东-广东计算机信息处理员五级初级历年参考题库含答案详解
- 2026事业单位工勤技能-广东-广东城管监察员三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-山西-山西热处理工五级(初级工)历年参考题库含答案详解
- 2026事业单位工勤技能-山东-山东公路养护工二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-宁夏-宁夏地图绘制员五级(初级工)历年参考题库含答案详解
- 2026年非公企业党建基础知识考试试题
- 2026年秋季开学新教师校园安全责任入职培训
- 2026年监理员考试题库及答案
- 医院迁建项目高压开关柜安装施工方案
- 中石油俄语水平考试试题及答案
- 2026年浙江省综合性评标专家库评标专家考试在线题库
- 流感预防健康知识
- 替奈普酶治疗急性缺血性卒中共识2026
- 烟花爆竹从业人员安全教育培训计划
- 2025年广东佛山仲裁委员会选聘仲裁员笔试备考题库附答案详解
- 医院后勤服务外包管理规范
评论
0/150
提交评论