文章预览
SM2 算法 ASN.1编码 - 签名长度 一、常规理解 SM2算法正常不做编码的签名长度为64个字节 ,即 r + s,各32个字节; 即使经过了ASN.1 DER编码,通常理解签名长度只有3种可能性,即: 70字节、71字节、72个字节 ,分别对应: 70个字节: 3044 + 0220 + 32个字节r + 0220 + 32个字节s 比如: 3044 0220 2f 7b7727784ba1ab963985ad577bd712026fa451421b07dff07eef11162cc733 0220 1f 206f192175577f9cccce8377d7233c177b39bcced3717a1a83f54d677134cb 如果r和s的第一个字节的最高位为1时, 需要分别前导补0 ,即产生71个字节和72个字节编码 71个字节: 3045 + 022100 + 32个字节r + 0220 + 32个字节s 3045 + 0220 + 32个字节r + 0221 00 + 32个字节s 比如: 3045 0220 038a7e7fcadb57d3509e689abea97af39e7cc3c9435acd545f7191d272b8ae57 022100 cb4c0d66bd68d74538320c969e7564a40c7a08627d136992f440a549030
………………………………