1.系统参数
椭圆曲线方程:y=x+ax+b
素数p:
FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF 系数a:
FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC 系数b:
28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93 基点G=G(x,y),其阶为n。 坐标Gx:
32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7 坐标Gy:
BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0 阶n :
FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123
2
3
2.签名数据
待签名的消息M:
message digest
代签名消息的ASCII码表示为:6D65737361676520646967657374 私钥:
3945208F7B2144B13F36E38AC6D39F95889393692860B51A42FB81EF4DF7C5B8 公钥PA=(xA,yA): 坐标xA:
09F9DF311E5421A150DD7D161E4BC5C672179FAD1833FC076BB08FF356F35020 坐标yA:
CCEA490CE26775A52DC6EA718CC1AA600AED05FBF35E084A6632F6072DA9AD13 ENTLA||IDA||a||b||Gx||Gy||xA||yA:(212字节) 0090424C494345313233405941484F4F2E434F11FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E9332C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A009F9DF311E5421A150DD7D161E4BC5C672179FAD1833FC076BB08FF356F35020CCEA490CE26775A52DC6EA718CC1AA600AED05FBF35E084A6632F6072DA9AD13 ZA=H256:(ENTLA||IDA||a||b||Gx||Gy||xA||yA) A1B3BF46C00676136EC79F124686B768E2426C838C27CE8F73B54A661FAD3195
消息M:
6D65737361676520646967657374
2.1签名各步骤中的有关值
M=ZA||M:
A1B3BF46C00676136EC79F124686B768E2426C838C27CE8F73B54A661FAD31956D65737361676520646967657374
密码函数杂凑值e=H256(M):
2d1035bcb377b8a0254d5815211bedd0688821f0d37ea2090e87a00ca1b7437b 产生随机数k:
59276E27D506861A16680F3AD9C02DCCEF3CC1FA3CDBE4CE6D54B80DEAC1BC21 计算椭圆曲线点(x1,x2)=[k]G: 坐标x1:
04EBFC718E8D1798620432268E77FEB6415E2EDE0E073C0F4F640ECD2E149A73 坐标x2;
E858F9D81E5430A57B36DAAB8F950A3C64E6EE6A63094D99283AFF767E124DF0 计算r=(e+x1)mod n:
31FC322E4204D03887518A3BAF93EC86A9E650CEE185DE185DEBAED9CFCBDDEE 计算s=((1+dA)-1.(k-r.dA))mod n
C0D84E8FD1248B7BAC3811C8F1DCE83745E85E03976069082DD322D25BF7CF14 消息M的签名值(r,s): r:
31FC322E4204D03887518A3BAF93EC86A9E650CEE185DE185DEBAED9CFCBDDEE s:
C0D84E8FD1248B7BAC3811C8F1DCE83745E85E03976069082DD322D25BF7CF14
2.2验证各步骤中的有关值
密码杂凑函数值e’= H256(M’):
2d1035bcb377b8a0254d5815211bedd0688821f0d37ea2090e87a00ca1b7437b 计算t=(r’+s’)mod n:
F2D480BE13295BB433899C04A170D4BDEFCEAED278E647208BBED1AC2BC3AD02 计算椭圆曲线点(x0’,y0’)=[s’]G 坐标x0’:
A61120E872314CB3C1861644018264C9F2F6428890147581292080A7F63F8825 坐标y0’:
38FAF89B02FD5DE559EA74534BCF91E45205C6E371D912E2AA1E98F68589193B 计算椭圆曲线点(x00’,y00’)=[t]PA 坐标x00’:
422A40A93BC7B84737F8CEBF49C10A2CEB7A6F209F3C134B612FA8B5A1F9B331
坐标y00’:
264C7EC0D62E1A942078CEDF1A15EDD1AA3AF962A3B442FF6E0C4BFEB711CA01 计算椭圆曲线点(x1’,y1’)=[s’]G+[t]PA 坐标x1’:
04EBFC718E8D1798620432268E77FEB6415E2EDE0E073C0F4F640ECD2E149A73 坐标y1’:
E858F9D81E5430A57B36DAAB8F950A3C64E6EE6A63094D99283AFF767E124DF0 计算R=(e’+x1’)mod n
31FC322E4204D03887518A3BAF93EC86A9E650CEE185DE185DEBAED9CFCBDDEE
3.加密数据
待加密的消息M:encryption standard
消息M的16进制表示:656E6372797074696F6E207374616E64617264 私钥dB:
3945208F7B2144B13F36E38AC6D39F95889393692860B51A42FB81EF4DF7C5B8 公钥PB=(xB,yB): 坐标xB:
09F9DF311E5421A150DD7D161E4BC5C672179FAD1833FC076BB08FF356F35020 坐标yB:
CCEA490CE26775A52DC6EA718CC1AA600AED05FBF35E084A6632F6072DA9AD13
3.1加密各步骤中的有关值
产生随机数k:
59276E27D506861A16680F3AD9C02DCCEF3CC1FA3CDBE4CE6D54B80DEAC1BC21 计算椭圆曲线点C1=[k]G=(x1,y1): 坐标x1:
04EBFC718E8D1798620432268E77FEB6415E2EDE0E073C0F4F640ECD2E149A73 坐标y1:
E858F9D81E5430A57B36DAAB8F950A3C64E6EE6A63094D99283AFF767E124DF0 计算椭圆曲线点[k]PB=(x2,y2): 坐标x2:
335E18D751E51F040E27D468138B7AB1DC86AD7F981D7D416222FD6AB3ED230D 坐标y2:
AB743EBCFB22D64F7B6AB791F70658F25B48FA93E54064FDBFBED3F0BD847AC9
计算t=KDF(x2∥y2, klen):
44e60fdbf0bae81437665374bef26749046c9e 计算C2=M⊕t:
21886ca989ca9c7d58087307ca93092d651efa
计算C3=Hash(x2 ∥ M ∥ y2): x2 ∥ M ∥ y2:
335E18D751E51F040E27D468138B7AB1DC86AD7F981D7D416222FD6AB3ED230D656E6372797074696F6E207374616E64617264AB743EBCFB22D64F7B6AB791F70658F25B48FA93E54064FDBFBED3F0BD847AC9
C3:
59983C18F809E262923C53AEC295D30383B54E39D609D160AFCB1908D0BD8766 输出密文C = C1∥C2∥C3:
04EBFC718E8D1798620432268E77FEB6415E2EDE0E073C0F4F640ECD2E149A73E858F9D81E5430A57B36DAAB8F950A3C64E6EE6A63094D99283AFF767E124DF021886CA989CA9C7D58087307CA93092D651EFA59983C18F809E262923C53AEC295D30383B54E39D609D160AFCB1908D0BD8766
3.2解密各步骤中的有关值
计算椭圆曲线点[dB]C1=(x2, y2): 坐标x2:
335E18D751E51F040E27D468138B7AB1DC86AD7F981D7D416222FD6AB3ED230D 坐标y2:
AB743EBCFB22D64F7B6AB791F70658F25B48FA93E54064FDBFBED3F0BD847AC9 计算t = KDF(x2∥y2,klen):
44e60fdbf0bae81437665374bef26749046c9e 计算M′ = C2 ⊕ t:
656e6372797074696f6e207374616e64617264
计算u =Hash(x2∥M′∥y2):
59983C18F809E262923C53AEC295D30383B54E39D609D160AFCB1908D0BD8766
明文M′:656e6372797074696f6e207374616e64617264,即为:encryption standard