1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* This file was generated by: ./scripts/crypto/gen-hash-testvecs.py sha3 */ 3 4 /* SHA3-256 test vectors */ 5 6 static const struct { 7 size_t data_len; 8 u8 digest[SHA3_256_DIGEST_SIZE]; 9 } hash_testvecs[] = { 10 { 11 .data_len = 0, 12 .digest = { 13 0xa7, 0xff, 0xc6, 0xf8, 0xbf, 0x1e, 0xd7, 0x66, 14 0x51, 0xc1, 0x47, 0x56, 0xa0, 0x61, 0xd6, 0x62, 15 0xf5, 0x80, 0xff, 0x4d, 0xe4, 0x3b, 0x49, 0xfa, 16 0x82, 0xd8, 0x0a, 0x4b, 0x80, 0xf8, 0x43, 0x4a, 17 }, 18 }, 19 { 20 .data_len = 1, 21 .digest = { 22 0x11, 0x03, 0xe7, 0x84, 0x51, 0x50, 0x86, 0x35, 23 0x71, 0x8a, 0x70, 0xe3, 0xc4, 0x26, 0x7b, 0x21, 24 0x02, 0x13, 0xa0, 0x81, 0xe8, 0xe6, 0x14, 0x25, 25 0x07, 0x34, 0xe5, 0xc5, 0x40, 0x06, 0xf2, 0x8b, 26 }, 27 }, 28 { 29 .data_len = 2, 30 .digest = { 31 0x2f, 0x6f, 0x6d, 0x47, 0x48, 0x52, 0x11, 0xb9, 32 0xe4, 0x3d, 0xc8, 0x71, 0xcf, 0xb2, 0xee, 0xae, 33 0x5b, 0xf4, 0x12, 0x84, 0x5b, 0x1c, 0xec, 0x6c, 34 0xc1, 0x66, 0x88, 0xaa, 0xc3, 0x40, 0xbd, 0x7e, 35 }, 36 }, 37 { 38 .data_len = 3, 39 .digest = { 40 0xec, 0x02, 0xe8, 0x81, 0x4f, 0x84, 0x41, 0x69, 41 0x06, 0xd8, 0xdc, 0x1d, 0x01, 0x78, 0xd7, 0xcb, 42 0x39, 0xdf, 0xd3, 0x12, 0x1c, 0x99, 0xfd, 0xf3, 43 0x5c, 0x83, 0xc9, 0xc2, 0x7a, 0x7b, 0x6a, 0x05, 44 }, 45 }, 46 { 47 .data_len = 16, 48 .digest = { 49 0xff, 0x6f, 0xc3, 0x41, 0xc3, 0x5f, 0x34, 0x6d, 50 0xa7, 0xdf, 0x3e, 0xc2, 0x8b, 0x29, 0xb6, 0xf1, 51 0xf8, 0x67, 0xfd, 0xcd, 0xb1, 0x9f, 0x38, 0x08, 52 0x1d, 0x8d, 0xd9, 0xc2, 0x43, 0x66, 0x18, 0x6c, 53 }, 54 }, 55 { 56 .data_len = 32, 57 .digest = { 58 0xe4, 0xb1, 0x06, 0x17, 0xf8, 0x8b, 0x91, 0x95, 59 0xe7, 0x57, 0x66, 0xac, 0x08, 0xb2, 0x03, 0x3e, 60 0xf7, 0x84, 0x1f, 0xe3, 0x25, 0xa3, 0x11, 0xd2, 61 0x11, 0xa4, 0x78, 0x74, 0x2a, 0x43, 0x20, 0xa5, 62 }, 63 }, 64 { 65 .data_len = 48, 66 .digest = { 67 0xeb, 0x57, 0x5f, 0x20, 0xa3, 0x6b, 0xc7, 0xb4, 68 0x66, 0x2a, 0xa0, 0x30, 0x3b, 0x52, 0x00, 0xc9, 69 0xce, 0x6a, 0xd8, 0x1e, 0xbe, 0xed, 0xa1, 0xd1, 70 0xbe, 0x63, 0xc7, 0xe1, 0xe2, 0x66, 0x67, 0x0c, 71 }, 72 }, 73 { 74 .data_len = 49, 75 .digest = { 76 0xf0, 0x67, 0xad, 0x66, 0xbe, 0xec, 0x5a, 0xfd, 77 0x29, 0xd2, 0x4f, 0x1d, 0xb2, 0x24, 0xb8, 0x90, 78 0x05, 0x28, 0x0e, 0x66, 0x67, 0x74, 0x2d, 0xee, 79 0x66, 0x25, 0x11, 0xd1, 0x76, 0xa2, 0xfc, 0x3a, 80 }, 81 }, 82 { 83 .data_len = 63, 84 .digest = { 85 0x57, 0x56, 0x21, 0xb3, 0x2d, 0x2d, 0xe1, 0x9d, 86 0xbf, 0x2c, 0x82, 0xa8, 0xad, 0x7e, 0x6c, 0x46, 87 0xfb, 0x30, 0xeb, 0xce, 0xcf, 0xed, 0x2d, 0x65, 88 0xe7, 0xe4, 0x96, 0x69, 0xe0, 0x48, 0xd2, 0xb6, 89 }, 90 }, 91 { 92 .data_len = 64, 93 .digest = { 94 0x7b, 0xba, 0x67, 0x15, 0xe5, 0x21, 0xc4, 0x69, 95 0xd3, 0xef, 0x5c, 0x97, 0x9f, 0x5b, 0xba, 0x9c, 96 0xfa, 0x55, 0x64, 0xec, 0xb5, 0x37, 0x53, 0x1b, 97 0x3f, 0x4c, 0x0a, 0xed, 0x51, 0x98, 0x2b, 0x52, 98 }, 99 }, 100 { 101 .data_len = 65, 102 .digest = { 103 0x44, 0xb6, 0x6b, 0x83, 0x09, 0x83, 0x55, 0x83, 104 0xde, 0x1f, 0xcc, 0x33, 0xef, 0xdc, 0x05, 0xbb, 105 0x3b, 0x63, 0x76, 0x45, 0xe4, 0x8e, 0x14, 0x7a, 106 0x2d, 0xae, 0x90, 0xce, 0x68, 0xc3, 0xa4, 0xf2, 107 }, 108 }, 109 { 110 .data_len = 127, 111 .digest = { 112 0x50, 0x3e, 0x99, 0x4e, 0x28, 0x2b, 0xc9, 0xf4, 113 0xf5, 0xeb, 0x2b, 0x16, 0x04, 0x2d, 0xf5, 0xbe, 114 0xc0, 0x91, 0x41, 0x2a, 0x8e, 0x69, 0x5e, 0x39, 115 0x53, 0x2c, 0xc1, 0x18, 0xa5, 0xeb, 0xd8, 0xda, 116 }, 117 }, 118 { 119 .data_len = 128, 120 .digest = { 121 0x90, 0x0b, 0xa6, 0x92, 0x84, 0x30, 0xaf, 0xee, 122 0x38, 0x59, 0x83, 0x83, 0xe9, 0xfe, 0xab, 0x86, 123 0x79, 0x1b, 0xcd, 0xe7, 0x0a, 0x0f, 0x58, 0x53, 124 0x36, 0xab, 0x12, 0xe1, 0x5c, 0x97, 0xc1, 0xfb, 125 }, 126 }, 127 { 128 .data_len = 129, 129 .digest = { 130 0x2b, 0x52, 0x1e, 0x54, 0xbe, 0x38, 0x4c, 0x3e, 131 0x73, 0x37, 0x18, 0xf5, 0x25, 0x2c, 0xc8, 0xc7, 132 0xda, 0x7e, 0xb6, 0x47, 0x9d, 0xf4, 0x46, 0xce, 133 0xfa, 0x80, 0x20, 0x6b, 0xbd, 0xfd, 0x2a, 0xd8, 134 }, 135 }, 136 { 137 .data_len = 256, 138 .digest = { 139 0x45, 0xf0, 0xf5, 0x9b, 0xd9, 0x91, 0x26, 0xd5, 140 0x91, 0x3b, 0xf8, 0x87, 0x8b, 0x34, 0x02, 0x31, 141 0x64, 0xab, 0xf4, 0x1c, 0x6e, 0x34, 0x72, 0xdf, 142 0x32, 0x6d, 0xe5, 0xd2, 0x67, 0x5e, 0x86, 0x93, 143 }, 144 }, 145 { 146 .data_len = 511, 147 .digest = { 148 0xb3, 0xaf, 0x71, 0x64, 0xfa, 0xd4, 0xf1, 0x07, 149 0x38, 0xef, 0x04, 0x8e, 0x89, 0xf4, 0x02, 0xd2, 150 0xa5, 0xaf, 0x3b, 0xf5, 0x67, 0x56, 0xcf, 0xa9, 151 0x8e, 0x43, 0xf5, 0xb5, 0xe3, 0x91, 0x8e, 0xe7, 152 }, 153 }, 154 { 155 .data_len = 513, 156 .digest = { 157 0x51, 0xac, 0x0a, 0x65, 0xb7, 0x96, 0x20, 0xcf, 158 0x88, 0xf6, 0x97, 0x35, 0x89, 0x0d, 0x31, 0x0f, 159 0xbe, 0x17, 0xbe, 0x62, 0x03, 0x67, 0xc0, 0xee, 160 0x4f, 0xc1, 0xe3, 0x7f, 0x6f, 0xab, 0xac, 0xb4, 161 }, 162 }, 163 { 164 .data_len = 1000, 165 .digest = { 166 0x7e, 0xea, 0xa8, 0xd7, 0xde, 0x20, 0x1b, 0x58, 167 0x24, 0xd8, 0x26, 0x40, 0x36, 0x5f, 0x3f, 0xaa, 168 0xe5, 0x5a, 0xea, 0x98, 0x58, 0xd4, 0xd6, 0xfc, 169 0x20, 0x4c, 0x5c, 0x4f, 0xaf, 0x56, 0xc7, 0xc3, 170 }, 171 }, 172 { 173 .data_len = 3333, 174 .digest = { 175 0x61, 0xb1, 0xb1, 0x3e, 0x0e, 0x7e, 0x90, 0x3d, 176 0x31, 0x54, 0xbd, 0xc9, 0x0d, 0x53, 0x62, 0xf1, 177 0xcd, 0x18, 0x80, 0xf9, 0x91, 0x75, 0x41, 0xb3, 178 0x51, 0x39, 0x57, 0xa7, 0xa8, 0x1e, 0xfb, 0xc9, 179 }, 180 }, 181 { 182 .data_len = 4096, 183 .digest = { 184 0xab, 0x29, 0xda, 0x10, 0xc4, 0x11, 0x2d, 0x5c, 185 0xd1, 0xce, 0x1c, 0x95, 0xfa, 0xc6, 0xc7, 0xb0, 186 0x1b, 0xd1, 0xdc, 0x6f, 0xa0, 0x9d, 0x1b, 0x23, 187 0xfb, 0x6e, 0x90, 0x97, 0xd0, 0x75, 0x44, 0x7a, 188 }, 189 }, 190 { 191 .data_len = 4128, 192 .digest = { 193 0x02, 0x45, 0x95, 0xf4, 0x19, 0xb5, 0x93, 0x29, 194 0x90, 0xf2, 0x63, 0x3f, 0x89, 0xe8, 0xa5, 0x31, 195 0x76, 0xf2, 0x89, 0x79, 0x66, 0xd3, 0x96, 0xdf, 196 0x33, 0xd1, 0xa6, 0x17, 0x73, 0xb1, 0xd0, 0x45, 197 }, 198 }, 199 { 200 .data_len = 4160, 201 .digest = { 202 0xd1, 0x8e, 0x22, 0xea, 0x44, 0x87, 0x6e, 0x9d, 203 0xfb, 0x36, 0x02, 0x20, 0x63, 0xb7, 0x69, 0x45, 204 0x25, 0x41, 0x69, 0xe0, 0x9b, 0x87, 0xcf, 0xa3, 205 0x51, 0xbb, 0xfc, 0x8d, 0xf7, 0x29, 0xa7, 0xea, 206 }, 207 }, 208 { 209 .data_len = 4224, 210 .digest = { 211 0x11, 0x86, 0x7d, 0x84, 0xf9, 0x8c, 0x6e, 0xc4, 212 0x64, 0x36, 0xc6, 0xf3, 0x42, 0x92, 0x31, 0x2b, 213 0x1e, 0x12, 0xe6, 0x4d, 0xbe, 0xfa, 0x77, 0x3f, 214 0x89, 0x41, 0x33, 0x58, 0x1c, 0x98, 0x16, 0x0a, 215 }, 216 }, 217 { 218 .data_len = 16384, 219 .digest = { 220 0xb2, 0xba, 0x0c, 0x8c, 0x9d, 0xbb, 0x1e, 0xb0, 221 0x03, 0xb5, 0xdf, 0x4f, 0xf5, 0x35, 0xdb, 0xec, 222 0x60, 0xf2, 0x5b, 0xb6, 0xd0, 0x49, 0xd3, 0xed, 223 0x55, 0xc0, 0x7a, 0xd7, 0xaf, 0xa1, 0xea, 0x53, 224 }, 225 }, 226 }; 227 228 static const u8 hash_testvec_consolidated[SHA3_256_DIGEST_SIZE] = { 229 0x3b, 0x33, 0x67, 0xf8, 0xea, 0x92, 0x78, 0x62, 230 0xdd, 0xbe, 0x72, 0x15, 0xbd, 0x6f, 0xfa, 0xe5, 231 0x5e, 0xab, 0x9f, 0xb1, 0xe4, 0x23, 0x7c, 0x2c, 232 0x80, 0xcf, 0x09, 0x75, 0xf8, 0xe2, 0xfa, 0x30, 233 }; 234 235 /* SHAKE test vectors */ 236 237 static const u8 shake128_testvec_consolidated[SHA3_256_DIGEST_SIZE] = { 238 0x89, 0x88, 0x3a, 0x44, 0xec, 0xfe, 0x3c, 0xeb, 239 0x2f, 0x1c, 0x1d, 0xda, 0x9e, 0x36, 0x64, 0xf0, 240 0x85, 0x4c, 0x49, 0x12, 0x76, 0x5a, 0x4d, 0xe7, 241 0xa8, 0xfd, 0xcd, 0xbe, 0x45, 0xb4, 0x6f, 0xb0, 242 }; 243 244 static const u8 shake256_testvec_consolidated[SHA3_256_DIGEST_SIZE] = { 245 0x5a, 0xfd, 0x66, 0x62, 0x5c, 0x37, 0x2b, 0x41, 246 0x77, 0x1c, 0x01, 0x5d, 0x64, 0x7c, 0x63, 0x7a, 247 0x7c, 0x76, 0x9e, 0xa8, 0xd1, 0xb0, 0x8e, 0x02, 248 0x16, 0x9b, 0xfe, 0x0e, 0xb5, 0xd8, 0x6a, 0xb5, 249 }; 250