摘要:本文档搜集整理SM3测试数据,不仅包括SM3标准文档(GM/T 0004—2012、GB/T 32905—2016)提供的2套测试数,还搜集整理多个标准文档中与SM3相关的测试数据,汇总至本文。文中列出的测试数据来自以下标准:
- GB/T 32905—2016《信息安全技术 SM3密码杂凑算法》
- GB/T 38635.2—2020《信息安全技术 SM9标识密码算法第2部分:算法》
- GB/T 32918.2—2016《信息安全技术 SM2椭圆曲线公钥密码算法第2部分:数字签名算法》
- GB/T 32918.3—2016《信息安全技术 SM2椭圆曲线公钥密码算法第3部分:密钥交换协议》
- GB/T 32918.4—2016《信息安全技术 SM2椭圆曲线公钥密码算法第4部分:公钥加密算法》
- GM/T 0021—2012《动态口令密码应用技术规范》
- GM/T 0130—2023《基于SM2算法的无证书及隐式证书公钥机制》
- 等
关键词:SM3,测试向量
说明:
- 测试向量使用十六进制的大端(左边高位,右边低位)表示。
- 为便于与标准文档提供数据进行核对,下面列出的SM3输入数据并非严格以32字节为一行进行排列,更多依据数据内容排列。以测试向量B.1为例,其第1行数据的“0090”表示ENTL_A,“414C…4D”表示ID_A。
目录
A.1 测试向量1, From GB/T 32905—2016
A.2 测试向量2, From GB/T 32905—2016
B.1 GB/T 32918.2—2016 A.2 测试数据1
B.2 GB/T 32918.2—2016 A.2 测试数据2
B.3 GB/T 32918.2—2016 A.3 测试数据1
B.4 GB/T 32918.2—2016 A.3 测试数据2
B.5 GB/T 32918.3—2016 A.2 测试数据1
B.6 GB/T 32918.3—2016 A.2 测试数据2
B.7 GB/T 32918.3—2016 A.2 测试数据3
B.8 GB/T 32918.3—2016 A.2 测试数据4
B.9 GB/T 32918.3—2016 A.2 测试数据5
B.10 GB/T 32918.3—2016 A.3 测试数据1
B.11 GB/T 32918.3—2016 A.3 测试数据2
B.12 GB/T 32918.3—2016 A.3 测试数据3
B.13 GB/T 32918.3—2016 A.3 测试数据4
B.14 GB/T 32918.4—2016 A.2 测试数据1
B.15 GB/T 32918.4—2016 A.2 测试数据2
B.16 GB/T 32918.4—2016 A.3 测试数据1
B.17 GB/T 32918.4—2016 A.3 测试数据2
C.1 GB/T 38635.2—2020 A.3 测试数据1
C.2 GB/T 38635.2—2020 A.3 测试数据2
C.3 GB/T 38635.2—2020 A.3 测试数据3
C.4 GB/T 38635.2—2020 A.5 测试数据1
C.5 GB/T 38635.2—2020 A.5 测试数据2
C.6 GB/T 38635.2—2020 A.5 测试数据3
F.1 ISO/IEC 10118-3:2018 B.18 测试数据1
F.2 ISO/IEC 10118-3:2018 B.18 测试数据2
F.3 ISO/IEC 10118-3:2018 B.18 测试数据4
F.4 ISO/IEC 10118-3:2018 B.18测试数据5
F.5 ISO/IEC 10118-3:2018 B.18测试数据6
F.6 ISO/IEC 10118-3:2018 B.18 测试数据7
F.7 ISO/IEC 10118-3:2018 B.18测试数据8
F.8 ISO/IEC 10118-3:2018 B.18测试数据10
F.9 ISO/IEC 10118-3:2018 B.18测试数据11
A. 数据来自GB/T 32905—2016
A.1 测试向量1, From GB/T 32905—2016
This is provided by GB/T 32905—2016 to demonstrate hashing of a plaintext that requires padding.
输入:
The input "abc" is represented in hexadecimal form as "616263".
输出:
66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0
A.2 测试向量2, From GB/T 32905—2016
This is provided by GB/T 32905—2016 to demonstrate hashing of a 512-bit plaintext.
输入:
61626364 61626364 61626364 61626364 61626364 61626364 61626364 61626364
61626364 61626364 61626364 61626364 61626364 61626364 61626364 61626364
输出:
debe9ff9 2275b8a1 38604889 c18e5a4d 6fdb70e5 387e5765 293dcba3 9c0c5732
B. 数据来自GB/T 32918
These examples only provide results of hashing, and can be found in the Botan [BOTAN], OpenSSL [OPENSSL] and GmSSL [GMSSL] cryptographic libraries.
B.1 GB/T 32918.2—2016 A.2 测试数据1
参考: GB/T 32918.2—2016 A.2,
Z_A = H_256(ENTL_A || ID_A || a || b ||x_G || y_G || x_A || y_A)
输入:
0090
414C494345313233405941484F4F2E434F4D
787968B4 FA32C3FD 2417842E 73BBFEFF 2F3C848B 6831D7E0 EC65228B 3937E498
63E4C6D3 B23B0C84 9CF84241 484BFE48 F61D59A5 B16BA06E 6E12D1DA 27C5249A
421DEBD6 1B62EAB6 746434EB C3CC315E 32220B3B ADD50BDC 4C4E6C14 7FEDD43D
0680512B CBB42C07 D47349D2 153B70C4 E5D7FDFC BFA36EA1 A85841B9 E46E09A2
0AE4C779 8AA0F119 471BEE11 825BE462 02BB79E2 A5844495 E97C04FF 4DF2548A
7C0240F8 8F1CD4E1 6352A73C 17B7F16F 07353E53 A176D684 A9FE0C6B B798E857
输出:
F4A38489 E32B45B6 F876E3AC 2168CA39 2362DC8F 23459C1D 1146FC3D BFB7BC9A
B.2 GB/T 32918.2—2016 A.2 测试数据2
参考: GB/T 32918.2—2016 A.2,
e = H_256(M)
输入:
F4A38489 E32B45B6 F876E3AC 2168CA39 2362DC8F 23459C1D 1146FC3D BFB7BC9A 6D657373 61676520 64696765 7374
输出:
B524F552 CD82B8B0 28476E00 5C377FB1 9A87E6FC 682D48BB 5D42E3D9 B9EFFE76
B.3 GB/T 32918.2—2016 A.3 测试数据1
参考: GB/T 32918.2—2016 A.3,
Z_A = H_256(ENTL_A || ID_A || a || b || x_G || y_G || x_A || y_A).
输入:
0090
414C494345313233405941484F4F2E434F4D
00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00 E78BCD09 746C2023 78A7E72B 12BCE002 66B9627E CB0B5A25 367AD1AD 4CC6242B
00 CDB9CA7F 1E6B0441 F658343F 4B10297C 0EF9B649 1082400A 62E7A748 5735FADD
01 3DE74DA6 5951C4D7 6DC89220 D5F7777A 611B1C38 BAE260B1 75951DC8 060C2B3E
01 65961645 281A8626 607B917F 657D7E93 82F1EA5C D931F40F 6627F357 542653B2
01 68652213 0D590FB8 DE635D8F CA715CC6 BF3D05BE F3F75DA5 D5434544 48166612
输出:
26352AF8 2EC19F20 7BBC6F94 74E11E90 CE0F7DDA CE03B27F 801817E8 97A81FD5
B.4 GB/T 32918.2—2016 A.3 测试数据2
参考: GB/T 32918.2—2016 A.3,
e = H_256(M)
输入:
26352AF8 2EC19F20 7BBC6F94 74E11E90 CE0F7DDA CE03B27F 801817E8 97A81FD5 6D657373 61676520 64696765 7374
输出:
AD673CBD A3114171 29A9EAA5 F9AB1AA1 633AD477 18A84DFD 46C17C6F A0AA3B12
B.5 GB/T 32918.3—2016 A.2 测试数据1
参考: GB/T 32918.3—2016 A.2,
Z_A = H_256(ENTL_A || ID_A || a || b || x_G || y_G || x_A || y_A).
输入:
0090
414C 49434531 32334059 41484F4F 2E434F4D
787968B4 FA32C3FD 2417842E 73BBFEFF 2F3C848B 6831D7E0 EC65228B 3937E498
63E4C6D3 B23B0C84 9CF84241 484BFE48 F61D59A5 B16BA06E 6E12D1DA 27C5249A
421DEBD6 1B62EAB6 746434EB C3CC315E 32220B3B ADD50BDC 4C4E6C14 7FEDD43D
0680512B CBB42C07 D47349D2 153B70C4 E5D7FDFC BFA36EA1 A85841B9 E46E09A2
3099093B F3C137D8 FCBBCDF4 A2AE50F3 B0F216C3 122D7942 5FE03A45 DBFE1655
3DF79E8D AC1CF0EC BAA2F2B4 9D51A4B3 87F2EFAF 48233908 6A27A8E0 5BAED98B
输出:
E4D1D0C3 CA4C7F11 BC8FF8CB 3F4C02A7 8F108FA0 98E51A66 8487240F 75E20F31
B.6 GB/T 32918.3—2016 A.2 测试数据2
参考: GB/T 32918.3—2016 A.2,
Z_B = H_256(ENTL_B || ID_B || a || b || x_G || y_G || x_B || y_B)
输入:
0088
42 494C4C34 35364059 41484F4F 2E434F4D
787968B4 FA32C3FD 2417842E 73BBFEFF 2F3C848B 6831D7E0 EC65228B 3937E498
63E4C6D3 B23B0C84 9CF84241 484BFE48 F61D59A5 B16BA06E 6E12D1DA 27C5249A
421DEBD6 1B62EAB6 746434EB C3CC315E 32220B3B ADD50BDC 4C4E6C14 7FEDD43D
0680512B CBB42C07 D47349D2 153B70C4 E5D7FDFC BFA36EA1 A85841B9 E46E09A2
245493D4 46C38D8C C0F11837 4690E7DF 633A8A4B FB3329B5 ECE604B2 B4F37F43
53C0869F 4B9E1777 3DE68FEC 45E14904 E0DEA45B F6CECF99 18C85EA0 47C60A4C
输出:
6B4B6D0E 276691BD 4A11BF72 F4FB501A E309FDAC B72FA6CC 336E6656 119ABD67
B.7 GB/T 32918.3—2016 A.2 测试数据3
参考: GB/T 32918.3—2016 A.2,
Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2)
输入:
47C82653 4DC2F6F1 FBF28728 DD658F21 E174F481 79ACEF29 00F8B7F5 66E40905
E4D1D0C3 CA4C7F11 BC8FF8CB 3F4C02A7 8F108FA0 98E51A66 8487240F 75E20F31
6B4B6D0E 276691BD 4A11BF72 F4FB501A E309FDAC B72FA6CC 336E6656 119ABD67
6CB56338 16F4DD56 0B1DEC45 8310CBCC 6856C095 05324A6D 23150C40 8F162BF0
0D6FCF62 F1036C0A 1B6DACCF 57399223 A65F7D7B F2D9637E 5BBBEB85 7961BF1A
1799B2A2 C7782953 00D9A232 5C686129 B8F2B533 7B3DCF45 14E8BBC1 9D900EE5
54C9288C 82733EFD F7808AE7 F27D0E73 2F7C73A7 D9AC98B7 D8740A91 D0DB3CF4
输出:
FF49D95B D45FCE99 ED54A8AD 7A709110 9F513944 42916BD1 54D1DE43 79D97647
B.8 GB/T 32918.3—2016 A.2 测试数据4
参考: GB/T 32918.3—2016 A.2,
S_B = Hash(0x02 || y_V || Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2))
注:Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2)已在前面的测试数据中得到(参见B.7)。
输入:
02
2AF86EFE 732CF12A D0E09A1F 2556CC65 0D9CCCE3 E249866B BB5C6846 A4C4A295
FF49D95B D45FCE99 ED54A8AD 7A709110 9F513944 42916BD1 54D1DE43 79D97647
输出:
284C8F19 8F141B50 2E81250F 1581C7E9 EEB4CA69 90F9E02D F388B454 71F5BC5C
B.9 GB/T 32918.3—2016 A.2 测试数据5
参考: GB/T 32918.3—2016 A.2,
S_A = Hash(0x03 || y_V || Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2))
注:Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2)已在前面的测试数据中得到(参见B.7)。
输入:
03
2AF86EFE 732CF12A D0E09A1F 2556CC65 0D9CCCE3 E249866B BB5C6846 A4C4A295
FF49D95B D45FCE99 ED54A8AD 7A709110 9F513944 42916BD1 54D1DE43 79D97647
输出:
23444DAF 8ED75343 66CB901C 84B3BDBB 63504F40 65C1116C 91A4C006 97E6CF7A
B.10 GB/T 32918.3—2016 A.3 测试数据1
参考: GB/T 32918.3—2016 A.3,
Z_B = H_256(ENTL_B || ID_B || a || b || x_G || y_G || x_B || y_B)
输入:
0088
42 494C4C34 35364059 41484F4F 2E434F4D
00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00 E78BCD09 746C2023 78A7E72B 12BCE002 66B9627E CB0B5A25 367AD1AD 4CC6242B
00 CDB9CA7F 1E6B0441 F658343F 4B10297C 0EF9B649 1082400A 62E7A748 5735FADD
01 3DE74DA6 5951C4D7 6DC89220 D5F7777A 611B1C38 BAE260B1 75951DC8 060C2B3E
00 34297DD8 3AB14D5B 393B6712 F32B2F2E 938D4690 B095424B 89DA880C 52D4A7D9
01 99BBF11A C95A0EA3 4BBD00CA 50B93EC2 4ACB6833 5D20BA5D CFE3B33B DBD2B62D
输出:
557BAD30 E183559A EEC3B225 6E1C7C11 F870D22B 165D015A CF9465B0 9B87B527
B.11 GB/T 32918.3—2016 A.3 测试数据2
参考: GB/T 32918.3—2016 A.3,
Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2)
输入:
00
DADD08 7406221D 657BC3FA 79FF329B B022E9CB 7DDFCFCC FE277BE8 CD4AE9B9 54
ECF008 0215977B 2E5D6D61 B98A9944 2F03E880 3DC39E34 9F8DCA56 21A9ACDF 2B
557BAD 30E18355 9AEEC3B2 256E1C7C 11F870D2 2B165D01 5ACF9465 B09B87B5 27
01 8107 6543ED19 058C38B3 13D73992 1D46B800 94D961A1 3673D4A5 CF8C7159 E304
01 D8 CFFF7CA2 7A01A2E8 8C186737 48FDE9A7 4C1F9B45 646ECA09 97293C15 C34DD8
00 2A4832B4 DCD399BA AB3FFFE7 DD6CE6ED 68CC43FF A5F2623B 9BD04E46 8D322A2A
00 16599B B52ED9EA FAD01CFA 453CF305 2ED60184 D2EECFD4 2B52DB74 110B984C 23
输出:
E05FE287 B73B0CE6 639524CD 86694311 562914F4 F6A34241 01D885F8 8B05369C
B.12 GB/T 32918.3—2016 A.3 测试数据3
参考: GB/T 32918.3—2016 A.3,
S_B = Hash(0x02 || y_V || Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2))
注:Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2)已在前面的测试数据中得到(参见B.11)。
输入:
02
01 F0464B1E 81684E5E D6EF281B 55624EF4 6CAA3B2D 37484372 D91610B6 98252CC9
E05FE287 B73B0CE6 639524CD 86694311 562914F4 F6A34241 01D885F8 8B05369C
输出:
4EB47D28 AD3906D6 244D01E0 F6AEC73B 0B51DE15 74C13798 184E4833 DBAE295A
B.13 GB/T 32918.3—2016 A.3 测试数据4
参考: GB/T 32918.3—2016 A.3,
S_A =Hash( 0x03 || y_V || Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2) )
注:Hash(x_V || Z_A || Z_B || x_1 || y_1 || x_2 || y_2)已在前面的测试数据中得到(参见B.11)。
输入:
03
01 F0464B1E 81684E5E D6EF281B 55624EF4 6CAA3B2D 37484372 D91610B6 98252CC9
E05FE287 B73B0CE6 639524CD 86694311 562914F4 F6A34241 01D885F8 8B05369C
输出:
588AA670 64F24DC2 7CCAA1FA B7E27DFF 811D500A D7EF2FB8 F69DDF48 CC0FECB7
B.14 GB/T 32918.4—2016 A.2 测试数据1
参考: GB/T 32918.4—2016 A.2,
C_3 = Hash(x_2 || M || y_2)
输入:
57E7B636 23FAE5F0 8CDA468E 872A20AF A03DED41 BF140377
656E6372 79707469 6F6E2073 74616E64 617264
0E 040DC83A F31A6799 1F2B01EB F9EFD888 1F0A0493 000603
输出:
6AFB3BCE BD76F82B 252CE5EB 25B57996 86902B8C F2FD8753 6E55EF76 03B09E7C
B.15 GB/T 32918.4—2016 A.2 测试数据2
参考: GB/T 32918.4—2016 A.2,
C_3 = Hash(x_2 || M || y_2)
输入:
64D20D27 D0632957 F8028C1E 024F6B02 EDF23102 A566C932 AE8BD613 A8E865FE
656E6372 79707469 6F6E2073 74616E64 617264
58 D225ECA7 84AE300A 81A2D482 81A828E1 CEDF11C4 21909984 02653750 77BF78
输出:
9C3D7360 C30156FA B7C80A02 76712DA9 D8094A63 4B766D3A 285E0748 0653426D
B.16 GB/T 32918.4—2016 A.3 测试数据1
参考: GB/T 32918.4—2016 A.3,
C_3 = Hash(x_2 || M || y_2)
输入:
01 C6271B 31F6BE39 6A4166C0 616CF4A8 ACDA5BEF 4DCBF2DD 42
656E63 72797074 696F6E20 7374616E 64617264
01 47AF35 DFA1BFE2 F161521B CF59BAB8 3564868D 92958817 35
输出:
F0A41F6F 48AC723C ECFC4B76 7299A5E2 5C064167 9FBD2D4D 20E9FFD5 B9F0DAB8
B.17 GB/T 32918.4—2016 A.3 测试数据2
参考: GB/T 32918.4—2016 A.3,
C_3 = Hash(x_2 || M || y_2)
输入:
00 83E628 CF701EE3 141E8873 FE55936A DF24963F 5DC9C648 0566C80F 8A1D8CC5 1B
656E63 72797074 696F6E20 7374616E 64617264
01 524C64 7F0C0412 DEFD468B DA3AE0E5 A80FCC8F 5C990FEE 11602929 232DCD9F 36
输出:
73A48625 D3758FA3 7B3EAB80 E9CFCABA 665E3199 EA15A1FA 8189D96F 579125E4
C. 数据来自GB/T 38635.2—2020
C.1 GB/T 38635.2—2020 A.3 测试数据1
参考: GB/T 38635.2—2020 A.3,
Hash(g_2 || g_3 || ID_A || ID_B || R_A || R_B)
输入:
1052D6E9 D13E3819 09DFF7B2 B41E13C9 87D0A906 8423B769 480DACCE 6A06F492 5FFEB92A D870F97D C0893114 DA22A44D BC9E7A8B 6CA31A0C F0467265 A1FB48C7 2C5C3B37 E4F2FF83 DB33D98C 0317BCBB BBF4AC6D F6B89ECA 58268B28 0045E612 6CED9E2D 7C9CD3D5 AD630DEF AB0B8315 06218037 EE0F861C F9B43C78 434AEC38 0AE7BF3E 1AEC0CB6 7A034409 06C7DFB3 BCD4B6EE EBB7E371 F0094AD4 A816088D 98DBC791 D0671CAC A12236CD F8F39E15 AEB96FAE B39606D5 B04AC581 746A663D 00DD2B74 16BAA911 72E89D53 09D834F7 8C1E31B4 483BB971 85931BAD 7BE1B9B5 7EBAC034 9F854446 9E60C32F 6075FB04 68A68147 FF013537 DF792FFC E024F857 10CC2B56 1A62B62D A36AEFD6 0850714F 49170FD9 4A0010C6 D4B651B6 4F3A3A5E 58C9687B EDDCD9E4 FEDAB16B 884D1FE6 DFA117B2 AB821F74 E0BF7ACD A2269859 2A430968 F1608606 1904CE20 1847934B 11CA0F9E 9528F5A9 D0CE8F01 5C9AEA79 934FDDA6 D3AB48C8 571CE235 4B79742A A498CB8C DDE6BD1F A5946345 A1A652F6
A76B6777 AD87C912 4C7D7065 F74808DB 2E80371C 70471580 B0C7C457 A79EA5E7 242FA31F F8E139FA E169A169 92F5F029 162664CE 78B33332 4B3BDB4C 682BF9B2 0626D64D CE603F33 2E9593F6 2B67A6B0 02DEB6DD 2E7D4FAD 3F33C38F 202DE204 53274906 11B2AE6F 849CF779 B9B74AD9 BA6CF397 F6132612 0777CE46 92F85DC2 ADC269D1 B6233258 2D823132 A9712754 77A0CF1D CCF4B2BF 096D9110 F74E2A01 B1ED0650 2333B2AB 1AE697EA 34F2EF8C 6E47B043 1831706C B5AFCD75 754FA795 28F65B36 51E184BC ED030661 EE4A8D67 0FBAE267 96E8CDB6 6F388ED6 644AF851 885C7F92 4CC7CB20 968AA50E 8230A3B3 9C2BB5DD 4D753D94 BE5DD9A4 272CF827 0DA649CB 8A63172F 8FB028CD 951E7621 5824A4EE 28405D3C 5E5DFDA6 C7CE293F 4A40AC8F C5B7168F A54AD3D0 B81A0F8F 50C16436 6CCDEC1C 9A40DCE9 F0A31133 35D89EAE B36F4D31 BB671306 4CDA8835 E2AA4529 F4212932 7C6F7E8A B760654D 58D17E44 8F6D5CBC A66BD7E3 3810D270 DD3B9436 B1BF46B9 A17C9D11 A5A6B148
416C6963 65
426F62
767A4BED 09FFBB52 29D9CAA1 65548FFA 8284A315 B15FBA86 4887A9AF A5B755FC 02A4E503 51092133 252BA616 09779B45 5DF9C4A0 109ACE24 1485A955 D5B81726
8168903E 4A56DC41 17387217 C0AA55AB 72A5F6A7 8973E612 A58AABE2 A5BBC828 7E07CE2D 3B285A56 148D66FC 64FE0ED9 28BA902C 1FDA056C 0083AF2C B66528AE
输出:
B6F6F71E FCEA0E02 DF198422 28AD50A9 EFD7A4B2 F12DAFE2 BE354AD0 107547F1
C.2 GB/T 38635.2—2020 A.3 测试数据2
参考: GB/T 38635.2—2020 A.3,
S_B = Hash(0x82 || g_1 || Hash(g_2 || g_3 || ID_A || ID_B || R_A || R_B)
注:Hash(g_2 || g_3 || ID_A || ID_B || R_A || R_B)已在前面的测试数据中得到(参见C.1)。
输入:
82
28542FB6 954C84BE 6A5F2988 A31CB681 7BA07819 66FA83D9 673A9577 D3C0C134 5E27C19F C02ED9AE 37F5BB7B E9C03C2B 87DE0275 39CCF03E 6B7D36DE 4AB45CD1 A1ABFCD3 0C57DB0F 1A838E3A 8F2BF823 479C978B D1372305 06EA6249 C891049E 34974779 13AB89F5 E2960F38 2B1B5C8E E09DE0FA 498BA95C 4409D630 D343DA40 4FEC9347 2DA33A4D B6599095 C0CF895E 3A7B993E E5E4EBE3 B9AB7D7D 5FF2A3D1 647BA154 C3E8E185 DFC33657 C1F128D4 80F3F7E3 F1680120 8029E194 34C733BB 73F21693 C66FC237 24DB2638 0C526223 C705DAF6 BA18B763 A68623C8 6A632B05 0F63A071 A6D62EA4 5B59A194 2DFF5335 D1A232C9 C5664FAD 5D6AF54C 11418B0D 8C8E9D8D 905780D5 0E779067 F2C4B1C8 F83A8B59 D735BB52 AF35F567 30BDE5AC 861CCD99 78617267 CE4AD978 9F77739E 62F2E57B 48C2FF26 D2E90A79 A1D86B93 9B1CA08F 64712E33 AEDA3F44 BD6CB633 E0F72221 1E344D73 EC9BBEBC 92142765 6BA584CE 742A2A3A B41C15D3 EF94EDEB 8EF74A2B DCDAAECC 09ABA567 981F6437
B6F6F71E FCEA0E02 DF198422 28AD50A9 EFD7A4B2 F12DAFE2 BE354AD0 107547F1
输出:
E122B3BF A8965562 AA0A4A92 B671A193 352F2832 8A129BFF 45C4DD26 2EBCB9EE
C.3 GB/T 38635.2—2020 A.3 测试数据3
参考: GB/T 38635.2—2020 A.3,
S_2 = Hash(0x83 || g_1 || Hash(g_2 || g_3 || ID_A || ID_B || R_A || R_B)
注:Hash(g_2 || g_3 || ID_A || ID_B || R_A || R_B)已在前面的测试数据中得到(参见C.1)。
输入:
83
28542FB6 954C84BE 6A5F2988 A31CB681 7BA07819 66FA83D9 673A9577 D3C0C134 5E27C19F C02ED9AE 37F5BB7B E9C03C2B 87DE0275 39CCF03E 6B7D36DE 4AB45CD1 A1ABFCD3 0C57DB0F 1A838E3A 8F2BF823 479C978B D1372305 06EA6249 C891049E 34974779 13AB89F5 E2960F38 2B1B5C8E E09DE0FA 498BA95C 4409D630 D343DA40 4FEC9347 2DA33A4D B6599095 C0CF895E 3A7B993E E5E4EBE3 B9AB7D7D 5FF2A3D1 647BA154 C3E8E185 DFC33657 C1F128D4 80F3F7E3 F1680120 8029E194 34C733BB 73F21693 C66FC237 24DB2638 0C526223 C705DAF6 BA18B763 A68623C8 6A632B05 0F63A071 A6D62EA4 5B59A194 2DFF5335 D1A232C9 C5664FAD 5D6AF54C 11418B0D 8C8E9D8D 905780D5 0E779067 F2C4B1C8 F83A8B59 D735BB52 AF35F567 30BDE5AC 861CCD99 78617267 CE4AD978 9F77739E 62F2E57B 48C2FF26 D2E90A79 A1D86B93 9B1CA08F 64712E33 AEDA3F44 BD6CB633 E0F72221 1E344D73 EC9BBEBC 92142765 6BA584CE 742A2A3A B41C15D3 EF94EDEB 8EF74A2B DCDAAECC 09ABA567 981F6437
B6F6F71E FCEA0E02 DF198422 28AD50A9 EFD7A4B2 F12DAFE2 BE354AD0 107547F1
输出:
6CD52312 17E73D80 548A1A65 DED17849 3F4282E6 E471FE3E F62271EA 758470E6
C.4 GB/T 38635.2—2020 A.5 测试数据1
参考: GB/T 38635.2—2020 A.5,
K = KDF(C_1 || w || ID_B, klen)的第一块杂凑值
= H_256(C_1 || w || ID_B || 00000001)
输入:
24454711 64490618 E1EE2052 8FF1D545 B0F14C8B CAA44544 F03DAB5D AC07D8FF 42FFCA97 D57CDDC0 5EA405F2 E586FEB3 A6930715 532B8000 759F1305 9ED59AC0
63253798 B7535975 A90F2025 61FC5457 0FEE88BF 69E3B7A5 12697069 E59E1F5D 42D54B98 4AF01D71 0BA0030C 18738F6B 14E4DF47 2ACAF893 99228D85 AF117904 B426DFF0 40C49F9A 43BCD7FD 7D757B7D 1D8D7311 C08FC3B5 7616C5EE 137785A3 28D19396 DBDFAC50 EEE62B1C 7F994BB6 F9BD9EFB 2221A1BE 1B6EB3E8 F71485B4 A3EEF46E 1B99F614 D7BD7F57 574BA7EB B502AF0B DABA0787 C5C4DBC5 6A344A25 A06790B6 05CEA0BB AF34776D 6B1FC019 8A02D05B BAAC6F64 A555AB2C A576F0DA B405CBBF 22197B94 FD18D27D A0B0E52C 8754EE94 27963469 1FEA6E13 FFD0584E AA2A94A7 E2259B67 1896302B 4275AE3E 8CF20100 98D5BEAF 19D0A6E6 0354E1C5 5C97E64F 848B06D3 9BA8828F F59502C0 81D3DAE6 8F35F7E6 448DB96D 220A0FBA 02BE03C5 1BF062B6 F564AE0B FB42DCA3 6E71D387 512E3BCC CA3379B7 3EC47176 52BE92FB 9E78BA9E 1D80A156 06580493 5742DBD2 B9675430 11AAC533 33909FBF 5FADEC14 A2FBD152 48E77467 442A6969 8246FB03 14C7A824 6D952219 DD2144ED
426F62
00000001
输出:
58373260 F067EC48 667C21C1 44F8BC33 CD304978 8651FFD5 F738003E 51DF3117
C.5 GB/T 38635.2—2020 A.5 测试数据2
参考: GB/T 38635.2—2020 A.5,
C_3 = MAC(K_2, C_2) = H_256(C_2 || K_2)
注:输入参数的第一行为C_2,第二行为K_2。
输入:
1B5F5B0E 95148968 2F3E64E1 378CDD5D A9513B1C
8651FFD5 F738003E 51DF3117 4D0E4E40 2FD87F45 81B612F7 4259DB57 4F67ECE6
输出:
BA672387 BCD6DE50 16A158A5 2BB2E7FC 429197BC AB70B25A FEE37A2B 9DB9F367
C.6 GB/T 38635.2—2020 A.5 测试数据3
参考: GB/T 38635.2—2020 A.5,
C_3 = MAC(K_2, C_2) = H_256(C_2 || K_2)
注:输入参数的第一行为C_2,第二行为K_2。
输入:
E05B6FAC 6F11B965 268C994F 00DBA7A8 BB00FD60 583546CB DF464925 0863F10A
CD304978 8651FFD5 F738003E 51DF3117 4D0E4E40 2FD87F45 81B612F7 4259DB57
输出:
FD3C98DD 92C44C68 332675A3 70CCEEDE 31E0C5CD 209C2576 01149D12 B394A2BE
D. 数据来自GM/T 0130—2023
D.1 GM/T 0130—2023 A.2 测试数据1
参考: GM/T 0130—2023 A.2,
H_A = H_256(ENTL_A || ID_A || a || b || x_G || y_G || x_Pub || y_Pub)
输入:
0028
416c6963 65
FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC
28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93
32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7
BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E5 2139F0A0
F294B710 601DE1C5 D34420C4 902D81C3 A3064490 3E5799BF E4013E56 C55C864C
5C003EB1 B50B9BBB 2E880778 2AA3C38E A800E23B 30B777FA AD8F0F71 46D66AC1
输出:
CC2DC292 53D9C773 85781813 985D421A 6C6F9CCB CE61FAD3 7EC79D8B 6EFC8F71
D.2 GM/T 0130—2023 A.3 测试数据1
参考: GM/T 0130—2023 A.3,
e = H_256( H_A || x_WA || y_WA || M):
输入:
CC2DC292 53D9C773 85781813 985D421A 6C6F9CCB CE61FAD3 7EC79D8B 6EFC8F71
DB65BF80 F08E3FEA 9758A949 0F2C257A 2D8ADEAA 59DA786C BFAFEF22 1E78ADB4
0728185A 257F64B7 9DFA929C 16C987ED 956FB32D 00B6CAF7 678E56E6 6E01530F
6D657373 61676520 64696765 7374
输出:
F303E917 EAAD2604 7E24E9D7 FB9ADABA A72DC0D2 8A6D217B 06596DBE 344B39F1
D.3 GM/T 0130—2023 A.4 测试数据1
参考: GM/T 0130—2023 A.4,
C_3 = Hash (x_2 || M || y_2)
输入:
2629AB80 DA9141F5 7C3B2BAC B37D7EFF 609AE3D7 03DCD97C B8BFA531 8FFCFA9A
01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101
39A685A9 3BF11374 C5823959 38A5B40A 50381F94 E7A23BF0 921B4EE2 4C5E5A8F
输出:
0705DE4A D1F60968 DE489936 BFD3BE7E B4855084 BF08E739 780701FA B236AC2D
D.4 GM/T 0130—2023 A.5 测试数据1
参考: GM/T 0130—2023 A.5,
H_A = H_256(ENTL_A || ID_A || a || b || x_G || y_G || x_Pub || y_Pub)
输入:
00C8
8000000A 08080808 08080808 08090909 00020023 73008400 C8
FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC
28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93
32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7
BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E5 2139F0A0
F294B710 601DE1C5 D34420C4 902D81C3 A3064490 3E5799BF E4013E56 C55C864C
5C003EB1 B50B9BBB 2E880778 2AA3C38E A800E23B 30B777FA AD8F0F71 46D66AC1
输出:
2138FC2C BF4B591D 156757D9 98A245BA EAD4FFA8 5586342E FFDA6D5F 33BE9384
D.5 GM/T 0130—2023 A.6 测试数据1
参考: GM/T 0130—2023 A.6,
e = H_256(IC_A || M):
输入:
00030183 08212223 24252627 28008000 000a0808 08080808 08080809 09090002 00237300 8400C881 2183DB65 BF80F08E 3FEA9758 A9490F2C 257A2D8A DEAA59DA 786CBFAF EF221E78 ADB4
6D657373 61676520 64696765 7374
输出:
CF308D39 12BFD344 44F7EDB5 379160E7 4D4CEF12 159C974 9C16A391 CE3946A8B
D.6 GM/T 0130—2023 A.7 测试数据1
参考: GM/T 0130—2023 A.7,
C_3 = Hash (x_2 || M || y_2)
输入:
91527074 7E888E0D DA97ED6A A91CF8CA FB9357AC A160C6FC A2768E48 267EEDE7
01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101
75697A80 A3FC9DCB 711E37B4 AD624745 5CD31CC2 AA3C83BB B54A503D 0138DB05
输出:
553B13CD 4FC7153B DC6B3B84 C0E7495A AF085070 B34C2F7B DE80DBF6 0BA636E9
E. 数据来自GM/T 0021—2012
E.1 GM/T 0021—2012 C 测试数据1
参考: GM/T 0021—2012 C
S = F(K, ID) = SM3(K || ID)
输入:
12345678 90abcdef 12345678 90abcdef
00000000 4E4CC8F6 000004D2 35363738
输出:
25e0b00d 750eb012 58ef7db5 37562641 4acfe7fd 826ac07e 3e5eb3e8 d8ebba4b
F. 数据来自ISO/IEC 10118-3:2018
本节测试数据来自ISO/IEC 10118-3:2018 IT Security techniques — Hashfunctions — Part 3: Dedicated hash-functions。删除其中的如下测试向量:
- ISO/IEC 10118-3:2018 B.18 测试数据3:与SM3国标提供的测试向量重复,删除;
- ISO/IEC 10118-3:2018 B.18 测试数据9:过长的测试向量,需一百万字节输入,删除。
此外,按输入数据长度进行了重新排序。
F.1 ISO/IEC 10118-3:2018 B.18 测试数据1
输入:
(空串)
输出:
1AB21D83 55CFA17F 8E611948 31E81A8F 22BEC8C7 28FEFB74 7ED035EB 5082AA2B
F.2 ISO/IEC 10118-3:2018 B.18 测试数据2
输入:
61
输出:
623476AC 18F65A29 09E43C7F EC61B49C 7E764A91 A18CCB82 F1917A29 C86C5E88
F.3 ISO/IEC 10118-3:2018 B.18 测试数据4
输入:
6D657373 61676520 64696765 7374
输出:
C522A942 E89BD80D 97DD666E 7A5531B3 6188C981 7149E9B2 58DFE51E CE98ED77
F.4 ISO/IEC 10118-3:2018 B.18测试数据5
输入:
61626364 65666768 696A6B6C 6D6E6F70 71727374 75767778 797A
输出:
B80FE97A 4DA24AFC 277564F6 6A359EF4 40462AD2 8DCC6D63 ADB24D5C 20A61595
F.5 ISO/IEC 10118-3:2018 B.18测试数据6
输入:
41424344 45464748 494A4B4C 4D4E4F50 51525354 55565758 595A6162 63646566 6768696A 6B6C6D6E 6F707172 73747576 7778797A 30313233 34353637 3839
输出:
2971D10C 8842B70C 979E5506 3480C50B ACFFD90E 98E2E60D 2512AB8A BFDFCEC5
F.6 ISO/IEC 10118-3:2018 B.18 测试数据7
输入:
31323334 35363738 39303132 33343536 37383930 31323334 35363738 39303132 33343536 37383930 31323334 35363738 39303132 33343536 37383930 31323334 35363738 39303132 33343536 37383930 31323334 35363738 39303132 33343536 37383930
输出:
AD818053 21F3E69D 251235BF 886A5648 44873B56 DD7DDE40 0F055B7D DE39307A
F.7 ISO/IEC 10118-3:2018 B.18测试数据8
输入:
61626364 62636465 63646566 64656667 65666768 66676869 6768696A 68696A6B 696A6B6C 6A6B6C6D 6B6C6D6E 6C6D6E6F 6D6E6F70 6E6F7071
输出:
639B6CC5 E64D9E37 A390B192 DF4FA1EA 0720AB74 7FF692B9 F38C4E66 AD7B8C05
F.8 ISO/IEC 10118-3:2018 B.18测试数据10
输入:
61626364 65666768 62636465 66676869 63646566 6768696A 64656667 68696A6B 65666768 696A6B6C 66676869 6A6B6C6D 6768696A 6B6C6D6E 68696A6B 6C6D6E6F 696A6B6C 6D6E6F70 6A6B6C6D 6E6F7071 6B6C6D6E 6F707172 6C6D6E6F 70717273 6D6E6F70 71727374 6E6F7071 72737475
输出:
78BCFB58 6ACD983D 7FAE8E69 30157F15 62019E2C AF68F1C9 8A855F1A 95BB89BB
F.9 ISO/IEC 10118-3:2018 B.18测试数据11
输入:
61626364 62636465 63646566 64656667 65666768 66676869 6768696A 68696A6B
输出:
F6556D8D B8BED431 81A678DA 7F6AFFE4 51DEBA50 115F3150 F19DEBB8 10B9958A