SM2椭圆曲线公钥密码算法第3部分密钥交换协议_第1页
SM2椭圆曲线公钥密码算法第3部分密钥交换协议_第2页
SM2椭圆曲线公钥密码算法第3部分密钥交换协议_第3页
SM2椭圆曲线公钥密码算法第3部分密钥交换协议_第4页
SM2椭圆曲线公钥密码算法第3部分密钥交换协议_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

ICS FORMTEXT35.040FORMTEXTL80中华人民共和国国家标准GB/TFORMTEXTXXXXX.3—FORMTEXTXXXXFORMTEXT     FORMTEXT信息安全技术SM2椭圆曲线公钥密码算法第3部分:密钥交换协议FORMTEXTInformationsecuritytechnology-PublickeycryptographicalgorithmSM2basedonellipticcurves-Part3:KeyexchangeprotocolFORMTEXT点击此处添加与国际标准一致性程度的标识FORMDROPDOWNFORMTEXT在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上FORMTEXTXXXX-FORMTEXTXX-FORMTEXTXX发布FORMTEXTXXXX-FORMTEXTXX-FORMTEXTXX实施GB/TXXXXX.4—XXXXPAGE1信息安全技术SM2椭圆曲线公钥密码算法

第3部分:密钥交换协议范围GB/TXXXXX的本部分规定了SM2椭圆曲线公钥密码算法的密钥交换协议,并给出了密钥交换与验证示例及其相应的流程。本部分适用于商用密码应用中的密钥交换,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话密钥)。规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/TXXXXX.1-XXXXSM2椭圆曲线公钥密码算法第1部分:总则术语和定义下列术语和定义适用于本文件。从A到B的密钥确认keyconfirmationfromAtoB使用户B确信用户A拥有特定秘密密钥的保证。密钥派生函数keyderivationfunction通过作用于共享秘密和双方都知道的其它参数,产生一个或多个共享秘密密钥的函数。发起方initiator在一个协议的操作过程中发送首轮交换信息的用户。响应方responder在一个协议的操作过程中不是发送首轮交换信息的用户。可辨别标识distinguishingidentifier可以无歧义辨别某一实体身份的信息。符号下列符号适用于本文件。A,B使用公钥密码系统的两个用户。a,bFq中的元素,它们定义Fq上的一条椭圆曲线E。dA用户A的私钥。dB用户B的私钥。E(Fq)Fq上椭圆曲线E的所有有理点(包括无穷远点O)组成的集合。Fq包含个元素的有限域。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||y与的拼接,其中、可以是比特串或字节串。ZA关于用户A的可辨别标识、部分椭圆曲线系统参数和用户A公钥的杂凑值。ZB关于用户B的可辨别标识、部分椭圆曲线系统参数和用户B公钥的杂凑值。#E(Fq)E(Fq)上点的数目,称为椭圆曲线E(Fq)的阶。[k]P椭圆曲线上点的k倍点,即,,k是正整数。[x,y]大于或等于x且小于或等于y的整数的集合。顶函数,大于或等于x的最小整数。例如,。底函数,小于或等于x的最大整数。例如,。&两个整数的按比特与运算。算法参数与辅助函数综述密钥交换协议是两个用户A和B通过交互的信息传递,用各自的私钥和对方的公钥来商定一个只有他们知道的秘密密钥。这个共享的秘密密钥通常用在某个对称密码算法中。该密钥交换协议能够用于密钥管理和协商。椭圆曲线系统参数椭圆曲线系统参数包括有限域Fq的规模q(当q=2m时,还包括元素表示法的标识和约化多项式);定义椭圆曲线E(Fq)的方程的两个元素a、bFq;E(Fq)上的基点G=(xG,yG)(G≠O),其中xG和yG是Fq中的两个元素;G的阶n及其它可选项(如n的余因子等)。 椭圆曲线系统参数及其验证应符合GB/TXXXXX.1-XXXX第5章的规定。用户密钥对用户A的密钥对包括其私钥dA和公钥PA=[dA]G=(xA,yA),用户B的密钥对包括其私钥dB和公钥PB=[dB]G=(xB,yB)。用户密钥对的生成算法与公钥验证算法应符合GB/TXXXXX.1-XXXX第6章的规定。辅助函数概述在本部分规定的椭圆曲线密钥交换协议中,涉及到三类辅助函数:密码杂凑算法,密钥派生函数与随机数发生器。这三类辅助函数的强弱直接影响密钥交换协议的安全性。密码杂凑算法本部分规定使用国家密码管理局批准的密码杂凑算法,如SM3密码杂凑算法。密钥派生函数密钥派生函数的作用是从一个共享的秘密比特串中派生出密钥数据。在密钥协商过程中,密钥派生函数作用在密钥交换所获共享的秘密比特串上,从中产生所需的会话密钥或进一步加密所需的密钥数据。密钥派生函数需要调用密码杂凑算法。设密码杂凑算法为Hv(),其输出是长度恰为v比特的杂凑值。密钥派生函数KDF(Z,klen):输入:比特串Z,整数klen(表示要获得的密钥数据的比特长度,要求该值小于(232-1)v)。输出:长度为klen的密钥数据比特串K。a)初始化一个32比特构成的计数器ct=0x00000001;b)对i从1到执行:b.1)计算Hai=Hv(Z||ct);b.2)ct++; c)若klen/v是整数,令,否则令为最左边的比特;d)令。随机数发生器本部分规定使用国家密码管理局批准的随机数发生器。用户其它信息用户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)。密钥交换协议及流程密钥交换协设用户A和B协商获得密钥数据的长度为比特,用户A为发起方,用户B为响应方。用户A和B双方为了获得相同的密钥,应实现如下运算步骤:记。用户A:用随机数发生器产生随机数rA∈[1,n-1];计算椭圆曲线点RA=[rA]G=(x1,y1);将RA发送给用户B;用户B:用随机数发生器产生随机数rB∈[1,n-1];计算椭圆曲线点RB=[rB]G=(x2,y2);从RB中取出域元素x2,按GB/TXXXXX.1-XXXX4.2.8给出的方法将x2的数据类型转换为整数,计算;计算;验证RA是否满足椭圆曲线方程,若不满足则协商失败;否则从RA中取出域元素x1,按GB/TXXXXX.1-XXXX4.2.8给出的方法将x1的数据类型转换为整数,计算;计算椭圆曲线点,若V是无穷远点,则B协商失败;否则按GB/TXXXXX.1-XXXX4.2.6和4.2.5给出的方法将xV、yV的数据类型转换为比特串;计算KB=KDF(xV||yV||ZA||ZB,klen);(选项)按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));将RB、(选项SB)发送给用户A;用户A:从RA中取出域元素x1,按GB/TXXXXX.1-XXXX4.2.8给出的方法将x1的数据类型转换为整数,计算;计算;验证RB是否满足椭圆曲线方程,若不满足则协商失败;否则从RB中取出域元素x2,按GB/TXXXXX.1-XXXX4.2.8给出的方法将x2的数据类型转换为整数,计算;计算椭圆曲线点,若U是无穷远点,则A协商失败;否则按GB/TXXXXX.1-XXXX4.2.6和4.2.5给出的方法将xU、yU的数据类型转换为比特串;计算KA=KDF(xU||yU||ZA||ZB,klen);(选项)按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:(选项)计算S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)),并检验S2=SA是否成立,若等式不成立则从A到B的密钥确认失败。注:如果ZA、ZB不是用户A和B所对应的杂凑值,则自然不能达成一致的共享秘密值。密钥交换协议过程的示例参见附录A。6.2密钥交换协议流程密钥交换协议流程见图1。是是是是是是是是是是是是否否否第6步:计算第7步:计算椭圆曲线点第4步:取第5步:计算发起方用户A的原始数据PB)第1步:产生随机数rA∈[1,n-1]第2步:计算RA=[rA]G=(x1,y1)第3步:将RA发送给用户B第7步:计算KB=KDF(xV||yV||,klen)第8步:(选项)计算第9步:将RB、(选项SB)发送给用户A第1步:产生随机数rB∈[1,n-1]第2步:计算RB=[rB]G=(x2,y2)第3步:取第4步:计算第5步:计算第6步:计算椭圆曲线点响应方用户B的原始数据(PA)第8步:计算KA=KDF(xU||yU||,klen)第9步:(选项)计算第10步:(选项)计算并将SA发送给用户B。第10步:(选项)计算||x1||y1||x2||y2))U=O?RB是否满足曲线方程?V=O?A协商失败RA是否满足曲线方程?S1=SB?否S2=SA?从A到B的密钥确认成功否否B协商失败协商失败图1密钥交换协议流程

(资料性附录)

密钥交换及验证示例综述本附录选用GB/TAAAAA-AAAA《SM3密码杂凑算法》给出的密码杂凑算法,其输入是长度小于264的消息比特串,输出是长度为256比特的杂凑值,记为H256()。本附录中,所有用16进制表示的数,左边为高位,右边为低位。设用户A的身份是:ALICE123@YAHOO.COM。用GB/T1988编码记IDA:414C494345313233405941484F4F2E434F4D。ENTLA=0090。设用户B的身份是:BILL456@YAHOO.COM。用GB/T1988编码记IDB:42494C4C343536405941484F4F2E434F4D。ENTLB=0088。Fp上椭圆曲线密钥交换协议椭圆曲线方程为: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计算椭圆曲线点RB=[rB]G=(x2,y2):坐标x2:1799B2A2C778295300D9A2325C686129B8F2B5337B3DCF4514E8BBC19D900EE5坐标y2:54C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7D8740A91D0DB3CF4取:B8F2B5337B3DCF4514E8BBC19D900EE5计算:2B2E11CBF03641FC3D939262FC0B652A70ACAA25B5369AD38B375C0265490C9F取:E856C09505324A6D23150C408F162BF0计算椭圆曲线点[]RA=(xA0,yA0):坐标xA0:2079015F1A2A3C132B67CA9075BB28031D6F22398DD8331E72529555204B495B坐标yA0:6B3FE6FB0F5D5664DCA16128B5E7FCFDAFA5456C1E5A914D1300DB61F37888ED计算椭圆曲线点PA+[]RA=(xA1,yA1):坐标xA1:1C006A3BFF97C651B7F70D0DE0FC09D23AA2BE7A8E9FF7DAF32673B416349B92坐标yA1:5DC74F8ACC114FC6F1A75CB286864F347F9B2CF29326A27079B7D37AFC1C145B计算:坐标xV:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905坐标yV:2AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295计算KB=KDF(xV||yV||ZA||ZB,klen):xV||yV||ZA||ZB:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E409052AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD67klen=128共享密钥KB:55B0AC62A6B927BA23703832C853DED4计算选项SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)):xV||ZA||ZB||x1||y1||x2||y2:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC458310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B5337B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7D8740A91D0DB3CF4Hash(xV||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D976470x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2):022AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647选项SB:284C8F198F141B502E81250F1581C7E9EEB4CA6990F9E02DF388B45471F5BC5C密钥交换A4-A10步骤中的有关值:取:E856C09505324A6D23150C408F162BF0计算:236CF0C7A177C65C7D55E12D361F7A6C174A78698AC099C0874AD0658A4743DC取:B8F2B5337B3DCF4514E8BBC19D900EE5计算椭圆曲线点[]RB=(xB0,yB0):坐标xB0:668642746BFC066A1E731ECFFF51131BDC81CF609701CB8C657B25BF55B7015D坐标yB0:1988A7C681CE1B509AC69F49D72AE60E8B71DB6CE087AF8499FEEF4CCD523064计算椭圆曲线点PB+[]RB=(xB1,yB1):坐标xB1:7D2B443510886AD7CA3911CF2019EC07078AFF116E0FC409A9F75A3901F306CD坐标yB1:331F0C6C0FE08D405FFEDB307BC255D68198653BDCA68B9CBA100E73197E5D24计算:坐标xU:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905坐标yU:2AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295计算KA=KDF(xU||yU||ZA||ZB,klen):xU||yU||ZA||ZB:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E409052AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD67klen=128共享密钥KA:55B0AC62A6B927BA23703832C853DED4计算选项S1=Hash(0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)):xU||ZA||ZB||x1||y1||x2||y2:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC458310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B5337B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7D8740A91D0DB3CF4Hash(xU||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D976470x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2):022AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647选项S1:284C8F198F141B502E81250F1581C7E9EEB4CA6990F9E02DF388B45471F5BC5C计算选项SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)):xU||ZA||ZB||x1||y1||x2||y2:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC458310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B5337B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7D8740A91D0DB3CF4Hash(xU||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D976470x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2):032AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647选项SA:23444DAF8ED7534366CB901C84B3BDBB63504F4065C1116C91A4C00697E6CF7A密钥交换B10步骤中的有关值:计算选项S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)):xV||ZA||ZB||x1||y1||x2||y2:47C826534DC2F6F1FBF28728DD658F21E174F48179ACEF2900F8B7F566E40905E4D1D0C3CA4C7F11BC8FF8CB3F4C02A78F108FA098E51A668487240F75E20F316B4B6D0E276691BD4A11BF72F4FB501AE309FDACB72FA6CC336E6656119ABD676CB5633816F4DD560B1DEC458310CBCC6856C09505324A6D23150C408F162BF00D6FCF62F1036C0A1B6DACCF57399223A65F7D7BF2D9637E5BBBEB857961BF1A1799B2A2C778295300D9A2325C686129B8F2B5337B3DCF4514E8BBC19D900EE554C9288C82733EFDF7808AE7F27D0E732F7C73A7D9AC98B7D8740A91D0DB3CF4Hash(xV||ZA||ZB||x1||y1||x2||y2):FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D976470x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2):032AF86EFE732CF12AD0E09A1F2556CC650D9CCCE3E249866BBB5C6846A4C4A295FF49D95BD45FCE99ED54A8AD7A7091109F51394442916BD154D1DE4379D97647选项S2:23444DAF8ED7534366CB901C84B3BDBB63504F4065C1116C91A4C00697E6CF7A上椭圆曲线密钥交换协议椭圆曲线方程为:y2+xy=x3+ax2+b示例2:F2m-257基域生成多项式:x257+x12+1系数a:0系数b:00E78BCD09746C202378A7E72B12BCE00266B9627ECB0B5A25367AD1AD4CC6242B余因子h:4基点G=(xG,yG),其阶记为n。坐标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:0199BBF11AC95A0EA34BBD00CA50B93EC24ACB68335D20BA5DCFE3B33BDBD2B62D杂凑值ZA=H256(ENTLA||IDA||a||b||xG||yG||xA||yA)。ZA:ECF0080215977B2E5D6D61B98A99442F03E8803DC39E349F8DCA5621A9ACDF2B杂凑值ZB=H256(ENTLB||IDB||a||b||xG||yG||xB||yB)。ZB:557BAD30E183559AEEC3B2256E1C7C11F870D22B165D015ACF9465B09B87B527密钥交换A1-A3步骤中的有关值:产生随机数rA:54A3D6673FF3A6BD6B02EBB164C2A3AF6D4A4906229D9BFCE68CC366A2E64BA4计算椭圆曲线点RA=[rA]G=(x1,y1):坐标x1:0181076543ED19058C38B313D739921D46B80094D961A13673D4A5CF8C7159E304坐标y1:01D8CFFF7CA27A01A2E88C18673748FDE9A74C1F9B45646ECA0997293C15C34DD8密钥交换B1-B9步骤中的有关值:产生随机数rB:1F21933387BEF781D0A8F7FD708C5AE0A56EE3F423DBC2FE5BDF6F068C53F7AD计算椭圆曲线点RB=[rB]G=(x2,y2):坐标x2:002A4832B4DCD399BAAB3FFFE7DD6CE6ED68CC43FFA5F2623B9BD04E468D322A2A坐标y2:0016599BB52ED9EAFAD01CFA453CF3052ED60184D2EECFD42B52DB74110B984C23取:E8CC43FFA5F2623B9BD04E468D322A2A计算:3D51D33114A453A05791DB635B45F8DBC54686D7E2212D49E4A717C6B10DEDB0计算:75474CC452914E815E476D8D6D17E36F5882EE67A1CDBC26FE4122B0B741A0A3取:B80094D961A13673D4A5CF8C7159E304计算椭圆曲线点[]RA=(xA0,yA0):坐标xA0:0198AB5F14349B6A46F77FBFCBDDBFCD34320DC1F4C546D13C3A9F0E830C39B579坐标yA0:00BFB49224ACCE2E5104CD4519C0CBE3AD0C19BF11805BE10859069AA69317A2B7计算椭圆曲线点PA+[]RA=(xA1,yA1):坐标xA1:0024A92F6466A37C5C12A2C68D58BFB0F032F2B97660957CB05E63F961F160FE57坐标yA1:00F74A4F17DC560A55FDE0F1AB168BCBF76502E240BA2D6BD6BE6E5D7916B288FC计算:坐标xV:00DADD087406221D657BC3FA79FF329BB022E9CB7DDFCFCCFE277BE8CD4AE9B954坐标yV:01F0464B1E81684E5ED6EF281B55624EF46CAA3B2D37484372D91610B698252CC9计算KB=KDF(xV||yV||ZA||ZB,klen):xV||yV||ZA||ZB:00DADD087406221D657BC3FA79FF329BB022E9CB7DDFCFCCFE277BE8CD4AE9B95401F0464B1E81684E5ED6EF281B55624EF46CAA3B2D37484372D91610B698252CC9ECF0080215977B2E5D6D61B98A99442F03E8803DC39E349F8DCA5621A9ACDF2B557BAD30E183559AEEC3B2256E1C7C11F870D22B165D015ACF9465B09B87B527klen=128共享密钥KB:4E587E5C66634F22D973A7D98BF8BE23计算选项SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)):xV||ZA||ZB||x1||y1||x2||y2:00DADD087406221D657BC3FA79FF329BB022E9CB7DDFCFCCFE277BE8CD4AE9B954ECF0080215977B2E5D6D61B98A99442F03E8803DC39E349F8DCA5621A9ACDF2B557BAD30E183559AEEC3B2256E1C7C11F870D22B165D015ACF9465B09B87B5270181076543ED19058C38B313D739921D46B80094D961A13673D4A5CF8C7159E30401D8CFFF7CA27A01A2E88C18673748FDE9A74C1F9B45646ECA0997293C15C34DD8002A4832B4DCD399BAAB3FFFE7DD6CE6ED68CC43FFA5F2623B9BD04E468D322A2A0016599BB52ED9EAFAD01CFA453CF3052ED60184D2EECFD42B52DB74110B984C23Hash(xV||ZA||ZB||x1||y1||x2||y2):E05FE287B73B0CE6639524CD86694311562914F4F6A3424101D885F88B05369C0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2):0201F0464B1E81684E5ED6EF281B55624EF46CAA3B2D37484372D91610B698252CC9E05FE287B73B0CE6639524CD86694311562914F4F6A3424101D885F88B05369C选项SB:4EB47D28AD3906D6244D01E0F6AEC73B0B51DE1574C13798184E4833DBAE295A密钥交换A4-A10步骤中的有关值:取:B80094D961A13673D4A5CF8C7159E304计算:18A1C649B94044DF16DC8634993F1A4AEE3F6426DFE14AC13644306AA5A94187计算:62871926E501137C5B7218D264FC692BB8FD909B7F852B04D910C1AA96A5061C取:E8CC43FFA5F2623B9BD04E468D322A2A计算椭圆曲线点[]RB=(xB0,yB0):坐标xB0:010AA3BAC97786B62922F9341457AC64F72552AA15D9321677A10C702133B16735坐标yB0:00C10837F48F53C46B714BCFBFAA1AD62711FCB03C0C25B366BF176A2DC7B8E62E计算椭圆曲线点PB+[]RB=(xB1,yB1):坐标xB1:00C7A446E198DB427860C3BB50ED2197DEB81619739141CA61037450359FAD9A99坐标yB1:00602E5A4217427EABC5E3917DE81BFFA1D806591AF949DD7C97EF90FD4CF0A42D计算:坐标xU:00DADD087406221D657BC3FA79FF329BB022E9CB7DDFCFCCFE277BE8CD4AE9B954坐标yU:01F0464B1E81684E5ED6EF281B55624EF46CAA3B2D37484372D91610B698252CC9计算KA=KDF(xU||yU||ZA||ZB,klen):xU||yU||ZA||ZB:00DADD087406221D657BC3FA79FF329BB022E9CB7DDFCFCCFE277BE8CD4AE9B95401F0464B1E81684E5ED6EF281B55624EF46CAA3B2D37484372D91610B698252CC9ECF0080215977B2E5D6D61B98A99442F03E8803DC39E349F8DCA5621A9ACDF2B557BAD30E183559AEEC3B2256E1C7C11F870D22B165D015ACF9465B09B87B527klen=128共享密钥KA:4E587E5C66634F22D973A7D98BF8BE23计算选项S1=Hash(0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)):xU||ZA||ZB||x1||y1||x2||y2:00DADD087406221D657BC3FA79FF329BB022E9CB7DDFCFCCFE277BE8CD4AE9B954ECF0080215977B2E5D6D61B98A99442F03E8803DC39E349F8DCA5621A9ACDF2B557BAD30E183559AEEC3B2256E1C7C11F870D22B165D015ACF9465B09B87B5270181076543ED19058C38B313D739921D46B80094D961A13673D4A5CF8C7159E30401D8CFFF7CA27A01A2E88C18673748FDE9A74C1F9B45646ECA0997293C15C34DD8002A4832B4DCD399BAAB3FFFE7DD6CE6ED68CC43FFA5F2623B9BD04E468D322A2A0016599BB52ED9EAFAD01CFA453CF3052ED60184D2EECFD42B52DB74110B984C23Hash(xU||ZA||ZB||x1||y1||x2||y2):E05FE287B73B0CE6639524CD86694311562914F4F6A3424101D885F88B05369C0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2):0201F0464B1E81684E5ED6EF281B55624EF46CAA3B2D37484372D91610B698252C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论