天天看點

國密SM2 SM3 SM4 算法記錄

SM2加密結果有兩種資料組織方式,最常見的是C1|C2|C3,另一種C1|C3|C2,具體解釋:

國密局推薦的SM2橢圓曲線參數(下圖右側輸出的曲線參數);

首先生成C1(随機生成SM2橢圓曲線上的一個點),2個32byte的BigInteger大數,即為SM2加密結果的第1部分,固定64B。

第2部分C2則是真正的密文,是對明文的加密結果,長度和明文一樣。

第3部分C3是雜湊值,用來效驗資料,固定32B。

SM2算法加密密文長度=明文長度+96B;

國密SM2 SM3 SM4 算法記錄

SM2簽名驗簽測試資料:

HEX格式的資料,适合直接拷貝到算法工具中:SK:18D581D798DDC9B18EA5BD7A70A664342A483FC80CCF40A6D6DEDCBD9F9555F3

PK:E1DA11ACFD9577EC1359D26FD9F68CC8117442D1D7ED0C29A124CC49DEC14C52                              23A9A80F6AF3E1597C38E0BDE2F6944D0B506EBD8C6982EE9CD60C70197ADD63

ida  :31323334353637383132333435363738

msg:1234567890ABCDEF1234567890ABCDEF

sig:FB0868E76F33DFEAEE709E9128FD13F9776829F06016244DCB56B4C207CCD885         89053F7D3E8AF62FBEF554BF441CB0509E690DFF584488EEEBA229C7CCBBA1CF

C語言數組表示法,友善編寫C類型測試代碼:

SK:0x18,0xD5,0x81,0xD7,0x98,0xDD,0xC9,0xB1,0x8E,0xA5,0xBD,0x7A,0x70,0xA6,0x64,0x34,0x2A,0x48,0x3F,0xC8,0x0C,0xCF,0x40,0xA6,0xD6,0xDE,0xDC,0xBD,0x9F,0x95,0x55,0xF3

PK:0xE1,0xDA,0x11,0xAC,0xFD,0x95,0x77,0xEC,0x13,0x59,0xD2,0x6F,0xD9,0xF6,0x8C,0xC8,0x11,0x74,0x42,0xD1,0xD7,0xED,0x0C,0x29,0xA1,0x24,0xCC,0x49,0xDE,0xC1,0x4C,0x52    0x23,0xA9,0xA8,0x0F,0x6A,0xF3,0xE1,0x59,0x7C,0x38,0xE0,0xBD,0xE2,0xF6,0x94,0x4D,0x0B,0x50,0x6E,0xBD,0x8C,0x69,0x82,0xEE,0x9C,0xD6,0x0C,0x70,0x19,0x7A,0xDD,0x63

msg:0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF,0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF

sig:0xFB,0x08,0x68,0xE7,0x6F,0x33,0xDF,0xEA,0xEE,0x70,0x9E,0x91,0x28,0xFD,0x13,0xF9,0x77,0x68,0x29,0xF0,0x60,0x16,0x24,0x4D,0xCB,0x56,0xB4,0xC2,0x07,0xCC,0xD8,0x85

0x89,0x05,0x3F,0x7D,0x3E,0x8A,0xF6,0x2F,0xBE,0xF5,0x54,0xBF,0x44,0x1C,0xB0,0x50,0x9E,0x69,0x0D,0xFF,0x58,0x44,0x88,0xEE,0xEB,0xA2,0x29,0xC7,0xCC,0xBB,0xA1,0xCF

繼續閱讀