《信息安全技术 SM2椭圆曲线公钥密码算法第3部分密钥交换协议-GB》_第1页
《信息安全技术 SM2椭圆曲线公钥密码算法第3部分密钥交换协议-GB》_第2页
《信息安全技术 SM2椭圆曲线公钥密码算法第3部分密钥交换协议-GB》_第3页
《信息安全技术 SM2椭圆曲线公钥密码算法第3部分密钥交换协议-GB》_第4页
《信息安全技术 SM2椭圆曲线公钥密码算法第3部分密钥交换协议-GB》_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论