版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ICS35.040
L80
中华人民共和国国家标准
GB/TXXXXX.3—XXXX
信息安全技术SM2椭圆曲线公钥密码算法
第3部分:密钥交换协议
Informationsecuritytechnology-PublickeycryptographicalgorithmSM2basedon
ellipticcurves-
Part3:Keyexchangeprotocol
点击此处添加与国际标准一致性程度的标识
(征求意见稿)
在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上
XXXX-XX-XX发布XXXX-XX-XX实施
GB/TXXXXX.4—XXXX
目 次
前言.................................................................错误!未定义书签。
引言.................................................................................II
1范围................................................................................1
2规范性引用文件......................................................................1
3术语和定义..........................................................................1
4符号................................................................................1
5算法参数与辅助函数..................................................................2
5.1总则...........................................................错误!未定义书签。
5.2椭圆曲线系统参数................................................................2
5.3用户密钥对......................................................................2
5.4辅助函数........................................................................3
5.5用户其它信息....................................................................3
6密钥交换协议及流程..................................................................3
6.1密钥交换协......................................................................3
6.2密钥交换协议流程...............................................................5
附录A(资料性附录)密钥交换及验证示例...............................................7
A.1一般要求.........................................................错误!未定义书签。
A.2Fp上椭圆曲线密钥交换协议..........................................................7
A.3上椭圆曲线密钥交换协议........................................................10
F2m
I
GB/TXXXXX.4—XXXX
引言
N.Koblitz和V.Miller在1985年各自独立地提出将椭圆曲线应用于公钥密码系统。椭圆曲线公钥
密码所基于的曲线性质如下:
──有限域上椭圆曲线在点加运算下构成有限交换群,且其阶与基域规模相近;
──类似于有限域乘法群中的乘幂运算,椭圆曲线多倍点运算构成一个单向函数。
在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题。对于一般椭圆
曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。与大数分解问题及有限域上离散对数
问题相比,椭圆曲线离散对数问题的求解难度要大得多。因此,在相同安全程度要求下,椭圆曲线密码
较其它公钥密码所需的密钥规模要小得多。
SM2是国家密码管理局组织制定并提出的椭圆曲线密码算法标准。GB/TXXXXX—XXXX的主要
目标如下:
——GB/TXXXXX.1—XXXX定义和描述了SM2椭圆曲线密码算法的相关概念及数学基础知识,
并概述了该部分同其它部分的关系。
——GB/TXXXXX.2—XXXX描述了一种基于椭圆曲线的签名算法,即SM2签名算法。
——GB/TXXXXX.3—XXXX描述了一种基于椭圆曲线的密钥交换协议,即SM2密钥交换协议。
——GB/TXXXXX.4—XXXX描述了一种基于椭圆曲线的公钥加密算法,即SM2加密算法,该算
法需使用GB/TAAAAA—AAAA定义的SM3密码杂凑算法。
——GB/TXXXXX.5—XXXX给出了SM2算法使用的椭圆曲线参数,以及使用椭圆曲线参数进行
SM2运算的示例结果。
本部分为GB/TXXXXX—XXXX第三部分,规定了SM2椭圆曲线密码系统的密钥交换过程。
II
GB/TXXXXX.4—XXXX
信息安全技术SM2椭圆曲线公钥密码算法
第3部分:密钥交换协议
1范围
GB/TXXXXX的本部分规定了SM2椭圆曲线公钥密码算法的密钥交换协议,并给出了密钥交换与
验证示例及其相应的流程。
本部分适用于商用密码应用中的密钥交换,可满足通信双方经过两次或可选三次信息传递过程,计
算获取一个由双方共同决定的共享秘密密钥(会话密钥)。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/TXXXXX.1-XXXXSM2椭圆曲线公钥密码算法第1部分:总则
3术语和定义
下列术语和定义适用于本文件。
3.1
从A到B的密钥确认keyconfirmationfromAtoB
使用户B确信用户A拥有特定秘密密钥的保证。
3.2
密钥派生函数keyderivationfunction
通过作用于共享秘密和双方都知道的其它参数,产生一个或多个共享秘密密钥的函数。
3.3
发起方initiator
在一个协议的操作过程中发送首轮交换信息的用户。
3.4
响应方responder
在一个协议的操作过程中不是发送首轮交换信息的用户。
3.5
可辨别标识distinguishingidentifier
可以无歧义辨别某一实体身份的信息。
4符号
下列符号适用于本文件。
A,B使用公钥密码系统的两个用户。
a,bFq中的元素,它们定义Fq上的一条椭圆曲线E。
1
GB/TXXXXX.4—XXXX
dA用户A的私钥。
dB用户B的私钥。
E(Fq)Fq上椭圆曲线E的所有有理点(包括无穷远点O)组成的集合。
Fq包含q个元素的有限域。
G椭圆曲线的一个基点,其阶为素数。
Hash()密码杂凑算法。
Hv()消息摘要长度为v比特的密码杂凑算法。
h余因子,h=#E(Fq)/n,其中n是基点G的阶。
IDA,IDB用户A和用户B的可辨别标识。
K,KA,KB密钥交换协议商定的共享秘密密钥。
KDF()密钥派生函数。
modn模n运算。例如,23mod7=2。
n基点G的阶(n是#E(Fq)的素因子)。
O椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。
PA用户A的公钥。
PB用户B的公钥。
q有限域Fq中元素的数目。
rA密钥交换中用户A产生的临时密钥值。
rB密钥交换中用户B产生的临时密钥值。
x||yx与y的拼接,其中x、y可以是比特串或字节串。
ZA关于用户A的可辨别标识、部分椭圆曲线系统参数和用户A公钥的杂凑值。
ZB关于用户B的可辨别标识、部分椭圆曲线系统参数和用户B公钥的杂凑值。
#E(Fq)E(Fq)上点的数目,称为椭圆曲线E(Fq)的阶。
椭圆曲线上点的倍点,即,,是正整数。
[k]PPk[k]PPP...Pk
k个
[x,y]大于或等于x且小于或等于y的整数的集合。
x顶函数,大于或等于x的最小整数。例如,77,8.39。
x底函数,小于或等于x的最大整数。例如,77,8.38。
&两个整数的按比特与运算。
5算法参数与辅助函数
5.1综述
密钥交换协议是两个用户A和B通过交互的信息传递,用各自的私钥和对方的公钥来商定一个只有他
们知道的秘密密钥。这个共享的秘密密钥通常用在某个对称密码算法中。该密钥交换协议能够用于密钥
管理和协商。
5.2椭圆曲线系统参数
m
椭圆曲线系统参数包括有限域Fq的规模q(当q=2时,还包括元素表示法的标识和约化多项式);
定义椭圆曲线E(Fq)的方程的两个元素a、bFq;E(Fq)上的基点G=(xG,yG)(G≠O),其中xG和yG是Fq
中的两个元素;G的阶n及其它可选项(如n的余因子h等)。
椭圆曲线系统参数及其验证应符合GB/TXXXXX.1-XXXX第5章的规定。
5.3用户密钥对
用户A的密钥对包括其私钥dA和公钥PA=[dA]G=(xA,yA),用户B的密钥对包括其私钥dB和公钥
PB=[dB]G=(xB,yB)。
2
GB/TXXXXX.4—XXXX
用户密钥对的生成算法与公钥验证算法应符合GB/TXXXXX.1-XXXX第6章的规定。
5.4辅助函数
5.4.1概述
在本部分规定的椭圆曲线密钥交换协议中,涉及到三类辅助函数:密码杂凑算法,密钥派生函数与
随机数发生器。这三类辅助函数的强弱直接影响密钥交换协议的安全性。
5.4.2密码杂凑算法
本部分规定使用国家密码管理局批准的密码杂凑算法,如SM3密码杂凑算法。
5.4.3密钥派生函数
密钥派生函数的作用是从一个共享的秘密比特串中派生出密钥数据。在密钥协商过程中,密钥派生
函数作用在密钥交换所获共享的秘密比特串上,从中产生所需的会话密钥或进一步加密所需的密钥数
据。
密钥派生函数需要调用密码杂凑算法。
设密码杂凑算法为Hv(),其输出是长度恰为v比特的杂凑值。
密钥派生函数KDF(Z,klen):
输入:比特串Z,整数klen(表示要获得的密钥数据的比特长度,要求该值小于(232-1)v)。
输出:长度为klen的密钥数据比特串K。
a)初始化一个32比特构成的计数器ct=0x00000001;
b)对i从1到klen/v执行:
b.1)计算Hai=Hv(Z||ct);
b.2)ct++;
若是整数,令,
c)klen/vHa!klen/vHaklen/v
否则令为最左边的比特;
Ha!klen/vHaklen/v(klen(vklen/v))
令。
d)KHa1||Ha2||||Haklen/v1||Ha!klen/v
5.4.4随机数发生器
本部分规定使用国家密码管理局批准的随机数发生器。
5.5用户其它信息
用户A具有长度为entlenA比特的可辨别标识IDA,记ENTLA是由整数entlenA转换而成的两个字节;
用户B具有长度为entlenB比特的可辨别标识IDB,记ENTLB是由整数entlenB转换而成的两个字节。在
本部分规定的椭圆曲线密钥交换协议中,参与密钥协商的A、B双方都需要用密码杂凑算法求得用户A
的杂凑值ZA和用户B的杂凑值ZB。按GB/TXXXXX.1-XXXX中的4.2.5和4.2.6给出的方法,将椭圆
曲线方程参数a、b、G的坐标xG、yG和PA的坐标xA、yA的数据类型转换为比特串,ZA=
H256(ENTLA||IDA||a||b||xG||yG||xA||yA);按GB/TXXXXX.1-XXXX4.2.5和4.2.6给出的方法,将椭圆曲线方
程参数a、b、G的坐标xG、yG和PB的坐标xB、yB的数据类型转换为比特串,ZB=
H256(ENTLB||IDB||a||b||xG||yG||xB||yB)。
6密钥交换协议及流程
6.1密钥交换协
设用户A和B协商获得密钥数据的长度为klen比特,用户A为发起方,用户B为响应方。
用户A和B双方为了获得相同的密钥,应实现如下运算步骤:
3
GB/TXXXXX.4—XXXX
记w(log2(n)/2)1。
用户A:
A1:用随机数发生器产生随机数rA∈[1,n-1];
A2:计算椭圆曲线点RA=[rA]G=(x1,y1);
A3:将RA发送给用户B;
用户B:
B1:用随机数发生器产生随机数rB∈[1,n-1];
B2:计算椭圆曲线点RB=[rB]G=(x2,y2);
B3:从RB中取出域元素x2,按GB/TXXXXX.1-XXXX4.2.8给出的方法将x2的数据类型转换为
整数,计算ww;
x22(x2&(21))
:计算;
B4tB(dBx2rB)modn
B5:验证RA是否满足椭圆曲线方程,若不满足则协商失败;否则从RA中取出域元素x1,按GB/T
ww
XXXXX.1-XXXX4.2.8给出的方法将x1的数据类型转换为整数,计算x12(x1&(21));
:计算椭圆曲线点,若是无穷远点,则协商失败;否则
B6V[htB](PA[x1]RA)(xV,yV)VB
按GB/TXXXXX.1-XXXX4.2.6和4.2.5给出的方法将xV、yV的数据类型转换为比特串;
B7:计算KB=KDF(xV||yV||ZA||ZB,klen);
B8:(选项)按GB/TXXXXX.1-XXXX4.2.6和4.2.5给出的方法将RA的坐标x1、y1和RB的坐标x2、
y2的数据类型转换为比特串,计算SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2));
B9:将RB、(选项SB)发送给用户A;
用户A:
A4:从RA中取出域元素x1,按GB/TXXXXX.1-XXXX4.2.8给出的方法将x1的数据类型转换为
整数,计算ww;
x12(x1&(21))
:计算;
A5tA(dAx1rA)modn
A6:验证RB是否满足椭圆曲线方程,若不满足则协商失败;否则从RB中取出域元素x2,按GB/T
XXXXX.1-XXXX4.2.8给出的方法将x2的数据类型转换为整数,计算
ww;
x22(x2&(21))
:计算椭圆曲线点,若是无穷远点,则协商失败;否
A7U[htA](PB[x2]RB)(xU,yU)UA
则按GB/TXXXXX.1-XXXX4.2.6和4.2.5给出的方法将xU、yU的数据类型转换为比特串;
A8:计算KA=KDF(xU||yU||ZA||ZB,klen);
A9:(选项)按GB/TXXXXX.1-XXXX4.2.6和4.2.5给出的方法将RA的坐标x1、y1和RB的坐标x2、
y2的数据类型转换为比特串,计算S1=Hash(0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)),并检验S1=SB
是否成立,若等式不成立则从B到A的密钥确认失败;
A10:(选项)计算SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)),并将SA发送给用户B。
用户B:
B10:(选项)计算S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)),并检验S2=SA是否成立,若等式不
4
GB/TXXXXX.4—XXXX
成立则从A到B的密钥确认失败。
注:如果ZA、ZB不是用户A和B所对应的杂凑值,则自然不能达成一致的共享秘密值。密钥交换协议过程的示例参见
附录A。
6.2密钥交换协议流程
密钥交换协议流程见图1。
5
GB/TXXXXX.4—XXXX
发起方用户A的原始数据响应方用户B的原始数据
(椭圆曲线系统参数、ZA、ZB、dA、PA、PB)(椭圆曲线系统参数、ZA、ZB、dB、PB、PA)
第1步:产生随机数rA∈[1,n-1]第1步:产生随机数rB∈[1,n-1]
第2步:计算RA=[rA]G=(x1,y1)第2步:计算RB=[rB]G=(x2,y2)
第步:将发送给用户第步:取ww
3RAB3x22(x2&(21))
第步:计算
4tB(dBx2rB)modn
第步:取ww
4x12(x1&(21))
第步:计算否
5tA(dAx1rA)modn
RA是否满足曲线方程?
否
是
RB是否满足曲线方程?
第5步:计算ww
是x12(x1&(21))
第6步:计算椭圆曲线点
第步:计算ww
6x22(x2&(21))
V[htB](PA[x1]RA)(xV,yV)
第7步:计算椭圆曲线点
是
U[htA](PB[x2]RB)(xU,yU)
V=O?
是否
U=O?
第7步:计算KB=KDF(x||y||ZA||ZB,klen)
否VV
第8步:(选项)计算
第步:计算
8KA=KDF(xU||yU||ZA||ZB,klen)SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2))
第步:选项计算
9()第9步:将RB、(选项SB)发送给用户A
S1=Hash(0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2))
否第10步:(选项)计算
S1=SB?S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2))
是否
第10步:(选项)计算S2=SA?
SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2))
是
并将SA发送给用户B。
从A到B的密钥确认成功
A协商失败B协商失败
协商失败
图1密钥交换协议流程
6
GB/TXXXXX.4—XXXX
附录A
(资料性附录)
密钥交换及验证示例
A.1综述
本附录选用GB/TAAAAA-AAAA《SM3密码杂凑算法》给出的密码杂凑算法,其输入是长度小于
64
2的消息比特串,输出是长度为256比特的杂凑值,记为H256()。
本附录中,所有用16进制表示的数,左边为高位,右边为低位。
设用户A的身份是:ALICE123@YAHOO.COM。用GB/T1988编码记IDA:414C4943453132334059
41484F4F2E434F4D。ENTLA=0090。
设用户B的身份是:BILL456@YAHOO.COM。用GB/T1988编码记IDB:42494C4C343536405941484F4F
2E434F4D。ENTLB=0088。
A.2Fp上椭圆曲线密钥交换协议
椭圆曲线方程为:y2=x3+ax+b
示例1:Fp-256
素数p:8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFC3
系数a:787968B4FA32C3FD2417842E73BBFEFF2F3C848B6831D7E0EC65228B3937E498
系数b:63E4C6D3B23B0C849CF84241484BFE48F61D59A5B16BA06E6E12D1DA27C5249A
余因子h:1
基点G=(xG,yG),其阶记为n。
坐标xG:421DEBD61B62EAB6746434EBC3CC315E32220B3BADD50BDC4C4E6C147FEDD43D
坐标yG:0680512BCBB42C07D47349D2153B70C4E5D7FDFCBFA36EA1A85841B9E46E09A2
阶n:8542D69E4C044F18E8B92435BF6FF7DD297720630485628D5AE74EE7C32E79B7
用户A的私钥dA:6FCBA2EF9AE0AB902BC3BDE3FF915D44BA4CC78F88E2F8E7F8996D3B8CCEEDEE
用户A的公钥PA=(xA,yA):
坐标xA:3099093BF3C137D8FCBBCDF4A2AE50F3B0F216C3122D79425FE03A45DBFE1655
坐标yA:3DF79E8DAC1CF0ECBAA2F2B49D51A4B387F2EFAF482339086A27A8E05BAED98B
用户B的私钥dB:5E35D7D3F3C54DBAC72E61819E730B019A84208CA3A35E4C2E353DFCCB2A3B53
用户B的公钥PB=(xB,yB):
坐标xB:245493D446C38D8CC0F118374690E7DF633A8A4BFB3329B5ECE604B2B4F37F43
坐标yB:53C0869F4B9E17773DE68FEC45E14904E0DEA45BF6CECF9918C85EA047C60A4C
杂凑值ZA=H256(ENTLA||IDA||a||b||xG||yG||xA||yA)。
ZA:E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F31
杂凑值ZB=H256(ENTLB||IDB||a||b||xG||yG||xB||yB)。
ZB:6B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD67
密钥交换A1-A3步骤中的有关值:
产生随机数rA:83A2C9C8B96E5AF70BD480B472409A9A327257F1EBB73F5B073354B248668563
计算椭圆曲线点RA=[rA]G=(x1,y1):
坐标x1:6CB5633816F4DD560B1DEC458310CBCC6856C09505324A6D23150C408F162BF0
坐标y1:0D6FCF62F1036C0A1B6DACCF57399223A65F7D7BF2D9637E5BBBEB857961BF1A
密钥交换B1-B9步骤中的有关值:
产生随机数rB:33FE21940342161C55619C4A0C060293D543C80AF19748CE176D83477DE71C80
7
GB/TXXXXX.4—XXXX
计算椭圆曲线点RB=[rB]G=(x2,y2):
坐标x2:1799B2A2C778295300D9A2325C686129B8F2B5337B3DCF4514E8BBC19D900EE5
坐标y2:54C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7D8740A91D0DB3CF4
取127127:B8F2B5337B3DCF4514E8BBC19D900EE5
x22(x2&(21))
计算:
tB(dBx2rB)modn
2B2E11CBF03641FC3D939262FC0B652A70ACAA25B5369AD38B375C0265490C9F
取127127:E856C09505324A6D23150C408F162BF0
x12(x1&(21))
计算椭圆曲线点:
[x1]RA=(xA0,yA0)
坐标xA0:2079015F1A2A3C132B67CA9075BB28031D6F22398DD8331E72529555204B495B
坐标yA0:6B3FE6FB0F5D5664DCA16128B5E7FCFDAFA5456C1E5A914D1300DB61F37888ED
计算椭圆曲线点:
PA+[x1]RA=(xA1,yA1)
坐标xA1:1C006A3BFF97C651B7F70D0DE0FC09D23AA2BE7A8E9FF7DAF32673B416349B92
坐标yA1:5DC74F8ACC114FC6F1A75CB286864F347F9B2CF29326A27079B7D37AFC1C145B
计算:
V[htB](PA[x1]RA)(xV,yV)
坐标xV:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905
坐标yV:2AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295
计算KB=KDF(xV||yV||ZA||ZB,klen):
xV||yV||ZA||ZB:
47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E409052AF86EFE
732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295E4D1D0C3CA4C7F11
BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72
F4FB501AE309FDACB72FA6CC336E6656119ABD67
klen=128
共享密钥KB:55B0AC62A6B927BA23703832C853DED4
计算选项SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)):
xV||ZA||ZB||x1||y1||x2||y2:
47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3
CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD
4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC45
8310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223
A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B533
7B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7
D8740A91D0DB3CF4
Hash(xV||ZA||ZB||x1||y1||x2||y2):
FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647
0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2):
022AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295
8
GB/TXXXXX.4—XXXX
FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647
选项SB:284C8F198F141B502E81250F1581C7E9EEB4CA6990F9E02DF388B45471F5BC5C
密钥交换A4-A10步骤中的有关值:
取127127:E856C09505324A6D23150C408F162BF0
x12(x1&(21))
计算:236CF0C7A177C65C7D55E12D361F7A6C174A78698AC099C0
tA(dAx1rA)modn
874AD0658A4743DC
取127127:B8F2B5337B3DCF4514E8BBC19D900EE5
x22(x2&(21))
计算椭圆曲线点:
[x2]RB=(xB0,yB0)
坐标xB0:668642746BFC066A1E731ECFFF51131BDC81CF609701CB8C657B25BF55B7015D
坐标yB0:1988A7C681CE1B509AC69F49D72AE60E8B71DB6CE087AF8499FEEF4CCD523064
计算椭圆曲线点:
PB+[x2]RB=(xB1,yB1)
坐标xB1:7D2B443510886AD7CA3911CF2019EC07078AFF116E0FC409A9F75A3901F306CD
坐标yB1:331F0C6C0FE08D405FFEDB307BC255D68198653BDCA68B9CBA100E73197E5D24
计算:
U[htA](PB[x2]RB)(xU,yU)
坐标xU:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905
坐标yU:2AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295
计算KA=KDF(xU||yU||ZA||ZB,klen):
xU||yU||ZA||ZB:
47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E409052AF86EFE
732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295E4D1D0C3CA4C7F11
BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72
F4FB501AE309FDACB72FA6CC336E6656119ABD67
klen=128
共享密钥KA:55B0AC62A6B927BA23703832C853DED4
计算选项S1=Hash(0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)):
xU||ZA||ZB||x1||y1||x2||y2:
47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3
CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD
4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC45
8310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223
A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B533
7B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7
D8740A91D0DB3CF4
Hash(xU||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD1
54D1DE4379D97647
0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2):
022AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295
9
GB/TXXXXX.4—XXXX
FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647
选项S1:284C8F198F141B502E81250F1581C7E9EEB4CA6990F9E02DF388B45471F5BC5C
计算选项SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)):
xU||ZA||ZB||x1||y1||x2||y2:
47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3
CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD
4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC45
8310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223
A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B533
7B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7
D8740A91D0DB3CF4
Hash(xU||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD1
54D1DE4379D97647
0x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2):
032AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295
FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647
选项SA:23444DAF8ED7534366CB901C84B3BDBB63504F4065C1116C91A4C00697E6CF7A
密钥交换B10步骤中的有关值:
计算选项S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)):
xV||ZA||ZB||x1||y1||x2||y2:
47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3
CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD
4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC45
8310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223
A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B533
7B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7
D8740A91D0DB3CF4
Hash(xV||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD1
54D1DE4379D97647
0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2):
032AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295
FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647
选项S2:23444DAF8ED7534366CB901C84B3BDBB63504F4065C1116C91A4C00697E6CF7A
A.3上椭圆曲线密钥交换协议
F2m
椭圆曲线方程为:y2+xy=x3+ax2+b
示例2:F2m-257
基域生成多项式:x257+x12+1
系数a:0
系数b:00E78BCD09746C202378A7E72B12BCE00266B9627ECB0B5A25367AD1AD4CC6242B
余因子h:4
基点G=(xG,yG),其阶记为n。
10
GB/TXXXXX.4—XXXX
坐标xG:00CDB9CA7F1E6B0441F658343F4B10297C0EF9B6491082400A62E7A7485735FADD
坐标yG:013DE74DA65951C4D76DC89220D5F7777A611B1C38BAE260B175951DC8060C2B3E
阶n:7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC972CF7E6B6F900945B3C6A0CF6161D
用户A的私钥dA:4813903D254F2C20A94BC5704238496954BB5279F861952EF2C5298E84D2CEAA
用户A的公钥PA=(xA,yA):
坐标xA:008E3BDB2E11F9193388F1F901CCC857BF49CFC065FB38B9069CAAE6D5AFC3592F
坐标yA:004555122AAC0075F42E0A8BBD2C0665C789120DF19D77B4E3EE4712F598040415
用户B的私钥dB:08F41BAE0922F47C212803FE681AD52B9BF28A35E1CD0EC273A2CF813E8FD1DC
用户B的公钥PB=(xB,yB):
坐标xB:0034297DD83AB14D5B393B6712F32B2F2E938D4690B095424B89DA880C52D4A7D9
坐标yB:0199BBF11AC95A0EA34BBD00CA50B93EC24ACB68335D20BA5DCFE3B33BDBD2B62
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汛期防汛抢险应急预案(6篇)
- 2024年耐火土石类项目合作计划书
- 2024年BYDBYE并条自调匀整系统合作协议书
- 有关新学期新计划模板十篇
- 2024年医药级纤维素醚项目发展计划
- 2024年动物皮胶项目合作计划书
- 龙岩市上杭县2024年五年级数学第二学期期末检测模拟试题含解析
- 2024年法律服务项目建议书
- 2024年谷物加工品质测试仪项目建议书
- 临沂市苍山县2024年数学五年级第二学期期末学业质量监测模拟试题含解析
- 融合真情境的排球教学中动作组合的运用策略
- 牛津译林版_小学五年级英语上册教学计划(精编版)
- 北师大八年级数学上册第一、二单元检测题及答案
- 安阳中学蔬菜基地检查评比细则文档
- 采购人员任职资格标准
- 科学课教学与培养创新型人才
- 产万吨高纯异丁烯项目
- 班主任班级管理“小妙招”PPT
- 洁净室施工组织设计方案方案范本
- [最新文档] 病危通知书模板
- 与采购人配合沟通方案
评论
0/150
提交评论