原文:
http://bbs.pediy.com/showthread.php?t=152615
部分原文引用:
下面,演示 113, 163, 239 bits的ECDSA签名一段最简单的文本,
msg: "123"
sha hash:40BD001563085FC35165329EA1FF5C5ECBDBBEEF
#define LM_SEED1 0x47d381a0
#define LM_SEED2 0x4fadf97c
#define LM_SEED3 0xc4ae244c
l_genkeys: seed[3]=A081D3477CF9AD4F4C24AEC4
LM_PUBKEY_CURVE163BIT
prvlen=21, prv=03DC603CB1683D43FF5631BBEEC5396D7BD4067300
publen=22, pub=0300368FE93082E1ACDD35222AD76782DBA8237B66EC
>> l_prikey_sign_dbg start >>
signing "123"
hash=40BD001563085FC35165329EA1FF5C5ECBDBBEEF
>> l_prikey_sign_dbg done >>
siglen=42
sig.r=039283F2FEA664BE7628F89BBA9D014E89E3868D2C
sig.s=017DA34A68C3FC64CB6EBE2B13676B04BE97EB5C20
我用ECC Tool 1.05计算结果,与原文不一样呢?
用私钥“prvlen=21, prv=03DC603CB1683D43FF5631BBEEC5396D7BD4067300”
我计算 的公钥是:368FE93082E1ACDD35222AD76782DBA8237B66EC
与作者不一样呢:“publen=22, pub=0300368FE93082E1ACDD35222AD76782DBA8237B66EC”,他多了个03
原作者的pubkey,用flexlm SDK 跟踪,确实是publen=22, pub=0300368FE93082E1ACDD35222AD76782DBA8237B66EC
我认为原作者的ecc tools 计算结果是正确的,G.x是21个字节,计算的公钥也应该是21个字节,但flexlm里确实0x16=22个字节。
有知道是什么原因计算结果不一样吗?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!