博客专栏

EEPW首页>博客> ECC签名格式

ECC签名格式

发布人:电子禅石 时间:2023-03-17 来源:工程师 发布文章

image.png

30 46 02 21 00 B8 BC E6 7F 6F 98 36 37 D7 AD 24 C0 68 FC A7 33 9B 7F 8D 83 C1 B4 66 63 27 AE 82 7C 66 09 CF 5F 02 21 00 EC F4 13 35 FC 9B 0E 8D 18 1A 9F 6E 5F 6A DC 70 4B D2 92 0C 43 F6 48 B6 79 9E C2 50 15 50 8B 69


之前进行ECC的签名验证,发现签名的长度总是不同,查了不少资料才找到相应格式。


签名格式为TLV嵌套格式,签名的主体分为R和S两部分。R(或S)的长度等于ECC私钥长度。R(或S)前的T为0x02,签名T为0x30。总体格式如下:


30 + LEN1 + 02 + LEN2 + 00 (optional) + r + 02 + LEN3 + 00(optional) + s


当r或s的第1字节大于0x80时,需要在r或s前加1字节0x00。


LEN3为,0x00(optional) + s 的字节长度。


LEN2为,0x00(optional) + r 的字节长度。


LEN1为,LEN2+LEN3+4字节长度。



示例使用ECC密钥的长度为128bit,即16字节。



示例1:


R:


“55C963A8DF3E04D0065BD95AA97AE758F1A550683238978500ED8A77C0BBA438”


S:


“A7ED11F41861833CAC4FBD0CD6F2AF7E682512EA4135F66315F52D76E651CD2D”


Sign:


“3044”+ “0220” + “2025FB2BFE02547D366274D3EE5DB985FE278343D985D195A710D6D6C5F62770” + “0220” + “2ADA9ED4260F0686D098016ACC29369A55760222A071DE2E3A9A739EC0A1E4D4”



示例2:


R:


“55C963A8DF3E04D0065BD95AA97AE758F1A550683238978500ED8A77C0BBA438”


S:


“A7ED11F41861833CAC4FBD0CD6F2AF7E682512EA4135F66315F52D76E651CD2D”


Sign:


“3045” + “0220” + “55C963A8DF3E04D0065BD95AA97AE758F1A550683238978500ED8A77C0BBA438” + “0221” + “00” + “A7ED11F41861833CAC4FBD0CD6F2AF7E682512EA4135F66315F52D76E651CD2D”



示例3:


R:


“B66E81C0C6E0981CF24F4785A7DC853562D025EDB7407247FD7D29BDA4CFD9BF”


S:


“FA53841387568477283FF104952599582E24BB5EDA7B3318B8AC3661D63E29F3”


Sign:


“3046” + “0221” + “00” + “B66E81C0C6E0981CF24F4785A7DC853562D025EDB7407247FD7D29BDA4CFD9BF” + “0221” + “00” + “FA53841387568477283FF104952599582E24BB5EDA7B3318B8AC3661D63E29F3”

————————————————


原文链接:https://blog.csdn.net/daihuimaozideren/article/details/81072738


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:ECC

相关推荐

技术专区

关闭