Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

lib/crypto: blake2s: Remove obsolete self-test

Remove the original BLAKE2s self-test, since it will be superseded by
blake2s_kunit.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250827151131.27733-9-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>

-664
-2
include/crypto/internal/blake2s.h
··· 16 16 void blake2s_compress(struct blake2s_state *state, const u8 *block, 17 17 size_t nblocks, const u32 inc); 18 18 19 - bool blake2s_selftest(void); 20 - 21 19 #endif /* _CRYPTO_INTERNAL_BLAKE2S_H */
-1
lib/crypto/Makefile
··· 33 33 obj-y += libblake2s.o 34 34 libblake2s-y := blake2s.o 35 35 libblake2s-$(CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC) += blake2s-generic.o 36 - libblake2s-$(CONFIG_CRYPTO_SELFTESTS) += blake2s-selftest.o 37 36 38 37 ################################################################################ 39 38
-651
lib/crypto/blake2s-selftest.c
··· 1 - // SPDX-License-Identifier: GPL-2.0 OR MIT 2 - /* 3 - * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. 4 - */ 5 - 6 - #include <crypto/internal/blake2s.h> 7 - #include <linux/kernel.h> 8 - #include <linux/random.h> 9 - #include <linux/string.h> 10 - 11 - /* 12 - * blake2s_testvecs[] generated with the program below (using libb2-dev and 13 - * libssl-dev [OpenSSL]) 14 - * 15 - * #include <blake2.h> 16 - * #include <stdint.h> 17 - * #include <stdio.h> 18 - * 19 - * #include <openssl/evp.h> 20 - * 21 - * #define BLAKE2S_TESTVEC_COUNT 256 22 - * 23 - * static void print_vec(const uint8_t vec[], int len) 24 - * { 25 - * int i; 26 - * 27 - * printf(" { "); 28 - * for (i = 0; i < len; i++) { 29 - * if (i && (i % 12) == 0) 30 - * printf("\n "); 31 - * printf("0x%02x, ", vec[i]); 32 - * } 33 - * printf("},\n"); 34 - * } 35 - * 36 - * int main(void) 37 - * { 38 - * uint8_t key[BLAKE2S_KEYBYTES]; 39 - * uint8_t buf[BLAKE2S_TESTVEC_COUNT]; 40 - * uint8_t hash[BLAKE2S_OUTBYTES]; 41 - * int i, j; 42 - * 43 - * key[0] = key[1] = 1; 44 - * for (i = 2; i < BLAKE2S_KEYBYTES; ++i) 45 - * key[i] = key[i - 2] + key[i - 1]; 46 - * 47 - * for (i = 0; i < BLAKE2S_TESTVEC_COUNT; ++i) 48 - * buf[i] = (uint8_t)i; 49 - * 50 - * printf("static const u8 blake2s_testvecs[][BLAKE2S_HASH_SIZE] __initconst = {\n"); 51 - * 52 - * for (i = 0; i < BLAKE2S_TESTVEC_COUNT; ++i) { 53 - * int outlen = 1 + i % BLAKE2S_OUTBYTES; 54 - * int keylen = (13 * i) % (BLAKE2S_KEYBYTES + 1); 55 - * 56 - * blake2s(hash, buf, key + BLAKE2S_KEYBYTES - keylen, outlen, i, 57 - * keylen); 58 - * print_vec(hash, outlen); 59 - * } 60 - * printf("};\n\n"); 61 - * 62 - * return 0; 63 - *} 64 - */ 65 - static const u8 blake2s_testvecs[][BLAKE2S_HASH_SIZE] __initconst = { 66 - { 0xa1, }, 67 - { 0x7c, 0x89, }, 68 - { 0x74, 0x0e, 0xd4, }, 69 - { 0x47, 0x0c, 0x21, 0x15, }, 70 - { 0x18, 0xd6, 0x9c, 0xa6, 0xc4, }, 71 - { 0x13, 0x5d, 0x16, 0x63, 0x2e, 0xf9, }, 72 - { 0x2c, 0xb5, 0x04, 0xb7, 0x99, 0xe2, 0x73, }, 73 - { 0x9a, 0x0f, 0xd2, 0x39, 0xd6, 0x68, 0x1b, 0x92, }, 74 - { 0xc8, 0xde, 0x7a, 0xea, 0x2f, 0xf4, 0xd2, 0xe3, 0x2b, }, 75 - { 0x5b, 0xf9, 0x43, 0x52, 0x0c, 0x12, 0xba, 0xb5, 0x93, 0x9f, }, 76 - { 0xc6, 0x2c, 0x4e, 0x80, 0xfc, 0x32, 0x5b, 0x33, 0xb8, 0xb8, 0x0a, }, 77 - { 0xa7, 0x5c, 0xfd, 0x3a, 0xcc, 0xbf, 0x90, 0xca, 0xb7, 0x97, 0xde, 0xd8, }, 78 - { 0x66, 0xca, 0x3c, 0xc4, 0x19, 0xef, 0x92, 0x66, 0x3f, 0x21, 0x8f, 0xda, 79 - 0xb7, }, 80 - { 0xba, 0xe5, 0xbb, 0x30, 0x25, 0x94, 0x6d, 0xc3, 0x89, 0x09, 0xc4, 0x25, 81 - 0x52, 0x3e, }, 82 - { 0xa2, 0xef, 0x0e, 0x52, 0x0b, 0x5f, 0xa2, 0x01, 0x6d, 0x0a, 0x25, 0xbc, 83 - 0x57, 0xe2, 0x27, }, 84 - { 0x4f, 0xe0, 0xf9, 0x52, 0x12, 0xda, 0x84, 0xb7, 0xab, 0xae, 0xb0, 0xa6, 85 - 0x47, 0x2a, 0xc7, 0xf5, }, 86 - { 0x56, 0xe7, 0xa8, 0x1c, 0x4c, 0xca, 0xed, 0x90, 0x31, 0xec, 0x87, 0x43, 87 - 0xe7, 0x72, 0x08, 0xec, 0xbe, }, 88 - { 0x7e, 0xdf, 0x80, 0x1c, 0x93, 0x33, 0xfd, 0x53, 0x44, 0xba, 0xfd, 0x96, 89 - 0xe1, 0xbb, 0xb5, 0x65, 0xa5, 0x00, }, 90 - { 0xec, 0x6b, 0xed, 0xf7, 0x7b, 0x62, 0x1d, 0x7d, 0xf4, 0x82, 0xf3, 0x1e, 91 - 0x18, 0xff, 0x2b, 0xc4, 0x06, 0x20, 0x2a, }, 92 - { 0x74, 0x98, 0xd7, 0x68, 0x63, 0xed, 0x87, 0xe4, 0x5d, 0x8d, 0x9e, 0x1d, 93 - 0xfd, 0x2a, 0xbb, 0x86, 0xac, 0xe9, 0x2a, 0x89, }, 94 - { 0x89, 0xc3, 0x88, 0xce, 0x2b, 0x33, 0x1e, 0x10, 0xd1, 0x37, 0x20, 0x86, 95 - 0x28, 0x43, 0x70, 0xd9, 0xfb, 0x96, 0xd9, 0xb5, 0xd3, }, 96 - { 0xcb, 0x56, 0x74, 0x41, 0x8d, 0x80, 0x01, 0x9a, 0x6b, 0x38, 0xe1, 0x41, 97 - 0xad, 0x9c, 0x62, 0x74, 0xce, 0x35, 0xd5, 0x6c, 0x89, 0x6e, }, 98 - { 0x79, 0xaf, 0x94, 0x59, 0x99, 0x26, 0xe1, 0xc9, 0x34, 0xfe, 0x7c, 0x22, 99 - 0xf7, 0x43, 0xd7, 0x65, 0xd4, 0x48, 0x18, 0xac, 0x3d, 0xfd, 0x93, }, 100 - { 0x85, 0x0d, 0xff, 0xb8, 0x3e, 0x87, 0x41, 0xb0, 0x95, 0xd3, 0x3d, 0x00, 101 - 0x47, 0x55, 0x9e, 0xd2, 0x69, 0xea, 0xbf, 0xe9, 0x7a, 0x2d, 0x61, 0x45, }, 102 - { 0x03, 0xe0, 0x85, 0xec, 0x54, 0xb5, 0x16, 0x53, 0xa8, 0xc4, 0x71, 0xe9, 103 - 0x6a, 0xe7, 0xcb, 0xc4, 0x15, 0x02, 0xfc, 0x34, 0xa4, 0xa4, 0x28, 0x13, 104 - 0xd1, }, 105 - { 0xe3, 0x34, 0x4b, 0xe1, 0xd0, 0x4b, 0x55, 0x61, 0x8f, 0xc0, 0x24, 0x05, 106 - 0xe6, 0xe0, 0x3d, 0x70, 0x24, 0x4d, 0xda, 0xb8, 0x91, 0x05, 0x29, 0x07, 107 - 0x01, 0x3e, }, 108 - { 0x61, 0xff, 0x01, 0x72, 0xb1, 0x4d, 0xf6, 0xfe, 0xd1, 0xd1, 0x08, 0x74, 109 - 0xe6, 0x91, 0x44, 0xeb, 0x61, 0xda, 0x40, 0xaf, 0xfc, 0x8c, 0x91, 0x6b, 110 - 0xec, 0x13, 0xed, }, 111 - { 0xd4, 0x40, 0xd2, 0xa0, 0x7f, 0xc1, 0x58, 0x0c, 0x85, 0xa0, 0x86, 0xc7, 112 - 0x86, 0xb9, 0x61, 0xc9, 0xea, 0x19, 0x86, 0x1f, 0xab, 0x07, 0xce, 0x37, 113 - 0x72, 0x67, 0x09, 0xfc, }, 114 - { 0x9e, 0xf8, 0x18, 0x67, 0x93, 0x10, 0x9b, 0x39, 0x75, 0xe8, 0x8b, 0x38, 115 - 0x82, 0x7d, 0xb8, 0xb7, 0xa5, 0xaf, 0xe6, 0x6a, 0x22, 0x5e, 0x1f, 0x9c, 116 - 0x95, 0x29, 0x19, 0xf2, 0x4b, }, 117 - { 0xc8, 0x62, 0x25, 0xf5, 0x98, 0xc9, 0xea, 0xe5, 0x29, 0x3a, 0xd3, 0x22, 118 - 0xeb, 0xeb, 0x07, 0x7c, 0x15, 0x07, 0xee, 0x15, 0x61, 0xbb, 0x05, 0x30, 119 - 0x99, 0x7f, 0x11, 0xf6, 0x0a, 0x1d, }, 120 - { 0x68, 0x70, 0xf7, 0x90, 0xa1, 0x8b, 0x1f, 0x0f, 0xbb, 0xce, 0xd2, 0x0e, 121 - 0x33, 0x1f, 0x7f, 0xa9, 0x78, 0xa8, 0xa6, 0x81, 0x66, 0xab, 0x8d, 0xcd, 122 - 0x58, 0x55, 0x3a, 0x0b, 0x7a, 0xdb, 0xb5, }, 123 - { 0xdd, 0x35, 0xd2, 0xb4, 0xf6, 0xc7, 0xea, 0xab, 0x64, 0x24, 0x4e, 0xfe, 124 - 0xe5, 0x3d, 0x4e, 0x95, 0x8b, 0x6d, 0x6c, 0xbc, 0xb0, 0xf8, 0x88, 0x61, 125 - 0x09, 0xb7, 0x78, 0xa3, 0x31, 0xfe, 0xd9, 0x2f, }, 126 - { 0x0a, }, 127 - { 0x6e, 0xd4, }, 128 - { 0x64, 0xe9, 0xd1, }, 129 - { 0x30, 0xdd, 0x71, 0xef, }, 130 - { 0x11, 0xb5, 0x0c, 0x87, 0xc9, }, 131 - { 0x06, 0x1c, 0x6d, 0x04, 0x82, 0xd0, }, 132 - { 0x5c, 0x42, 0x0b, 0xee, 0xc5, 0x9c, 0xb2, }, 133 - { 0xe8, 0x29, 0xd6, 0xb4, 0x5d, 0xf7, 0x2b, 0x93, }, 134 - { 0x18, 0xca, 0x27, 0x72, 0x43, 0x39, 0x16, 0xbc, 0x6a, }, 135 - { 0x39, 0x8f, 0xfd, 0x64, 0xf5, 0x57, 0x23, 0xb0, 0x45, 0xf8, }, 136 - { 0xbb, 0x3a, 0x78, 0x6b, 0x02, 0x1d, 0x0b, 0x16, 0xe3, 0xb2, 0x9a, }, 137 - { 0xb8, 0xb4, 0x0b, 0xe5, 0xd4, 0x1d, 0x0d, 0x85, 0x49, 0x91, 0x35, 0xfa, }, 138 - { 0x6d, 0x48, 0x2a, 0x0c, 0x42, 0x08, 0xbd, 0xa9, 0x78, 0x6f, 0x18, 0xaf, 139 - 0xe2, }, 140 - { 0x10, 0x45, 0xd4, 0x58, 0x88, 0xec, 0x4e, 0x1e, 0xf6, 0x14, 0x92, 0x64, 141 - 0x7e, 0xb0, }, 142 - { 0x8b, 0x0b, 0x95, 0xee, 0x92, 0xc6, 0x3b, 0x91, 0xf1, 0x1e, 0xeb, 0x51, 143 - 0x98, 0x0a, 0x8d, }, 144 - { 0xa3, 0x50, 0x4d, 0xa5, 0x1d, 0x03, 0x68, 0xe9, 0x57, 0x78, 0xd6, 0x04, 145 - 0xf1, 0xc3, 0x94, 0xd8, }, 146 - { 0xb8, 0x66, 0x6e, 0xdd, 0x46, 0x15, 0xae, 0x3d, 0x83, 0x7e, 0xcf, 0xe7, 147 - 0x2c, 0xe8, 0x8f, 0xc7, 0x34, }, 148 - { 0x2e, 0xc0, 0x1f, 0x29, 0xea, 0xf6, 0xb9, 0xe2, 0xc2, 0x93, 0xeb, 0x41, 149 - 0x0d, 0xf0, 0x0a, 0x13, 0x0e, 0xa2, }, 150 - { 0x71, 0xb8, 0x33, 0xa9, 0x1b, 0xac, 0xf1, 0xb5, 0x42, 0x8f, 0x5e, 0x81, 151 - 0x34, 0x43, 0xb7, 0xa4, 0x18, 0x5c, 0x47, }, 152 - { 0xda, 0x45, 0xb8, 0x2e, 0x82, 0x1e, 0xc0, 0x59, 0x77, 0x9d, 0xfa, 0xb4, 153 - 0x1c, 0x5e, 0xa0, 0x2b, 0x33, 0x96, 0x5a, 0x58, }, 154 - { 0xe3, 0x09, 0x05, 0xa9, 0xeb, 0x48, 0x13, 0xad, 0x71, 0x88, 0x81, 0x9a, 155 - 0x3e, 0x2c, 0xe1, 0x23, 0x99, 0x13, 0x35, 0x9f, 0xb5, }, 156 - { 0xb7, 0x86, 0x2d, 0x16, 0xe1, 0x04, 0x00, 0x47, 0x47, 0x61, 0x31, 0xfb, 157 - 0x14, 0xac, 0xd8, 0xe9, 0xe3, 0x49, 0xbd, 0xf7, 0x9c, 0x3f, }, 158 - { 0x7f, 0xd9, 0x95, 0xa8, 0xa7, 0xa0, 0xcc, 0xba, 0xef, 0xb1, 0x0a, 0xa9, 159 - 0x21, 0x62, 0x08, 0x0f, 0x1b, 0xff, 0x7b, 0x9d, 0xae, 0xb2, 0x95, }, 160 - { 0x85, 0x99, 0xea, 0x33, 0xe0, 0x56, 0xff, 0x13, 0xc6, 0x61, 0x8c, 0xf9, 161 - 0x57, 0x05, 0x03, 0x11, 0xf9, 0xfb, 0x3a, 0xf7, 0xce, 0xbb, 0x52, 0x30, }, 162 - { 0xb2, 0x72, 0x9c, 0xf8, 0x77, 0x4e, 0x8f, 0x6b, 0x01, 0x6c, 0xff, 0x4e, 163 - 0x4f, 0x02, 0xd2, 0xbc, 0xeb, 0x51, 0x28, 0x99, 0x50, 0xab, 0xc4, 0x42, 164 - 0xe3, }, 165 - { 0x8b, 0x0a, 0xb5, 0x90, 0x8f, 0xf5, 0x7b, 0xdd, 0xba, 0x47, 0x37, 0xc9, 166 - 0x2a, 0xd5, 0x4b, 0x25, 0x08, 0x8b, 0x02, 0x17, 0xa7, 0x9e, 0x6b, 0x6e, 167 - 0xe3, 0x90, }, 168 - { 0x90, 0xdd, 0xf7, 0x75, 0xa7, 0xa3, 0x99, 0x5e, 0x5b, 0x7d, 0x75, 0xc3, 169 - 0x39, 0x6b, 0xa0, 0xe2, 0x44, 0x53, 0xb1, 0x9e, 0xc8, 0xf1, 0x77, 0x10, 170 - 0x58, 0x06, 0x9a, }, 171 - { 0x99, 0x52, 0xf0, 0x49, 0xa8, 0x8c, 0xec, 0xa6, 0x97, 0x32, 0x13, 0xb5, 172 - 0xf7, 0xa3, 0x8e, 0xfb, 0x4b, 0x59, 0x31, 0x3d, 0x01, 0x59, 0x98, 0x5d, 173 - 0x53, 0x03, 0x1a, 0x39, }, 174 - { 0x9f, 0xe0, 0xc2, 0xe5, 0x5d, 0x93, 0xd6, 0x9b, 0x47, 0x8f, 0x9b, 0xe0, 175 - 0x26, 0x35, 0x84, 0x20, 0x1d, 0xc5, 0x53, 0x10, 0x0f, 0x22, 0xb9, 0xb5, 176 - 0xd4, 0x36, 0xb1, 0xac, 0x73, }, 177 - { 0x30, 0x32, 0x20, 0x3b, 0x10, 0x28, 0xec, 0x1f, 0x4f, 0x9b, 0x47, 0x59, 178 - 0xeb, 0x7b, 0xee, 0x45, 0xfb, 0x0c, 0x49, 0xd8, 0x3d, 0x69, 0xbd, 0x90, 179 - 0x2c, 0xf0, 0x9e, 0x8d, 0xbf, 0xd5, }, 180 - { 0x2a, 0x37, 0x73, 0x7f, 0xf9, 0x96, 0x19, 0xaa, 0x25, 0xd8, 0x13, 0x28, 181 - 0x01, 0x29, 0x89, 0xdf, 0x6e, 0x0c, 0x9b, 0x43, 0x44, 0x51, 0xe9, 0x75, 182 - 0x26, 0x0c, 0xb7, 0x87, 0x66, 0x0b, 0x5f, }, 183 - { 0x23, 0xdf, 0x96, 0x68, 0x91, 0x86, 0xd0, 0x93, 0x55, 0x33, 0x24, 0xf6, 184 - 0xba, 0x08, 0x75, 0x5b, 0x59, 0x11, 0x69, 0xb8, 0xb9, 0xe5, 0x2c, 0x77, 185 - 0x02, 0xf6, 0x47, 0xee, 0x81, 0xdd, 0xb9, 0x06, }, 186 - { 0x9d, }, 187 - { 0x9d, 0x7d, }, 188 - { 0xfd, 0xc3, 0xda, }, 189 - { 0xe8, 0x82, 0xcd, 0x21, }, 190 - { 0xc3, 0x1d, 0x42, 0x4c, 0x74, }, 191 - { 0xe9, 0xda, 0xf1, 0xa2, 0xe5, 0x7c, }, 192 - { 0x52, 0xb8, 0x6f, 0x81, 0x5c, 0x3a, 0x4c, }, 193 - { 0x5b, 0x39, 0x26, 0xfc, 0x92, 0x5e, 0xe0, 0x49, }, 194 - { 0x59, 0xe4, 0x7c, 0x93, 0x1c, 0xf9, 0x28, 0x93, 0xde, }, 195 - { 0xde, 0xdf, 0xb2, 0x43, 0x61, 0x0b, 0x86, 0x16, 0x4c, 0x2e, }, 196 - { 0x14, 0x8f, 0x75, 0x51, 0xaf, 0xb9, 0xee, 0x51, 0x5a, 0xae, 0x23, }, 197 - { 0x43, 0x5f, 0x50, 0xd5, 0x70, 0xb0, 0x5b, 0x87, 0xf5, 0xd9, 0xb3, 0x6d, }, 198 - { 0x66, 0x0a, 0x64, 0x93, 0x79, 0x71, 0x94, 0x40, 0xb7, 0x68, 0x2d, 0xd3, 199 - 0x63, }, 200 - { 0x15, 0x00, 0xc4, 0x0c, 0x7d, 0x1b, 0x10, 0xa9, 0x73, 0x1b, 0x90, 0x6f, 201 - 0xe6, 0xa9, }, 202 - { 0x34, 0x75, 0xf3, 0x86, 0x8f, 0x56, 0xcf, 0x2a, 0x0a, 0xf2, 0x62, 0x0a, 203 - 0xf6, 0x0e, 0x20, }, 204 - { 0xb1, 0xde, 0xc9, 0xf5, 0xdb, 0xf3, 0x2f, 0x4c, 0xd6, 0x41, 0x7d, 0x39, 205 - 0x18, 0x3e, 0xc7, 0xc3, }, 206 - { 0xc5, 0x89, 0xb2, 0xf8, 0xb8, 0xc0, 0xa3, 0xb9, 0x3b, 0x10, 0x6d, 0x7c, 207 - 0x92, 0xfc, 0x7f, 0x34, 0x41, }, 208 - { 0xc4, 0xd8, 0xef, 0xba, 0xef, 0xd2, 0xaa, 0xc5, 0x6c, 0x8e, 0x3e, 0xbb, 209 - 0x12, 0xfc, 0x0f, 0x72, 0xbf, 0x0f, }, 210 - { 0xdd, 0x91, 0xd1, 0x15, 0x9e, 0x7d, 0xf8, 0xc1, 0xb9, 0x14, 0x63, 0x96, 211 - 0xb5, 0xcb, 0x83, 0x1d, 0x35, 0x1c, 0xec, }, 212 - { 0xa9, 0xf8, 0x52, 0xc9, 0x67, 0x76, 0x2b, 0xad, 0xfb, 0xd8, 0x3a, 0xa6, 213 - 0x74, 0x02, 0xae, 0xb8, 0x25, 0x2c, 0x63, 0x49, }, 214 - { 0x77, 0x1f, 0x66, 0x70, 0xfd, 0x50, 0x29, 0xaa, 0xeb, 0xdc, 0xee, 0xba, 215 - 0x75, 0x98, 0xdc, 0x93, 0x12, 0x3f, 0xdc, 0x7c, 0x38, }, 216 - { 0xe2, 0xe1, 0x89, 0x5c, 0x37, 0x38, 0x6a, 0xa3, 0x40, 0xac, 0x3f, 0xb0, 217 - 0xca, 0xfc, 0xa7, 0xf3, 0xea, 0xf9, 0x0f, 0x5d, 0x8e, 0x39, }, 218 - { 0x0f, 0x67, 0xc8, 0x38, 0x01, 0xb1, 0xb7, 0xb8, 0xa2, 0xe7, 0x0a, 0x6d, 219 - 0xd2, 0x63, 0x69, 0x9e, 0xcc, 0xf0, 0xf2, 0xbe, 0x9b, 0x98, 0xdd, }, 220 - { 0x13, 0xe1, 0x36, 0x30, 0xfe, 0xc6, 0x01, 0x8a, 0xa1, 0x63, 0x96, 0x59, 221 - 0xc2, 0xa9, 0x68, 0x3f, 0x58, 0xd4, 0x19, 0x0c, 0x40, 0xf3, 0xde, 0x02, }, 222 - { 0xa3, 0x9e, 0xce, 0xda, 0x42, 0xee, 0x8c, 0x6c, 0x5a, 0x7d, 0xdc, 0x89, 223 - 0x02, 0x77, 0xdd, 0xe7, 0x95, 0xbb, 0xff, 0x0d, 0xa4, 0xb5, 0x38, 0x1e, 224 - 0xaf, }, 225 - { 0x9a, 0xf6, 0xb5, 0x9a, 0x4f, 0xa9, 0x4f, 0x2c, 0x35, 0x3c, 0x24, 0xdc, 226 - 0x97, 0x6f, 0xd9, 0xa1, 0x7d, 0x1a, 0x85, 0x0b, 0xf5, 0xda, 0x2e, 0xe7, 227 - 0xb1, 0x1d, }, 228 - { 0x84, 0x1e, 0x8e, 0x3d, 0x45, 0xa5, 0xf2, 0x27, 0xf3, 0x31, 0xfe, 0xb9, 229 - 0xfb, 0xc5, 0x45, 0x99, 0x99, 0xdd, 0x93, 0x43, 0x02, 0xee, 0x58, 0xaf, 230 - 0xee, 0x6a, 0xbe, }, 231 - { 0x07, 0x2f, 0xc0, 0xa2, 0x04, 0xc4, 0xab, 0x7c, 0x26, 0xbb, 0xa8, 0xd8, 232 - 0xe3, 0x1c, 0x75, 0x15, 0x64, 0x5d, 0x02, 0x6a, 0xf0, 0x86, 0xe9, 0xcd, 233 - 0x5c, 0xef, 0xa3, 0x25, }, 234 - { 0x2f, 0x3b, 0x1f, 0xb5, 0x91, 0x8f, 0x86, 0xe0, 0xdc, 0x31, 0x48, 0xb6, 235 - 0xa1, 0x8c, 0xfd, 0x75, 0xbb, 0x7d, 0x3d, 0xc1, 0xf0, 0x10, 0x9a, 0xd8, 236 - 0x4b, 0x0e, 0xe3, 0x94, 0x9f, }, 237 - { 0x29, 0xbb, 0x8f, 0x6c, 0xd1, 0xf2, 0xb6, 0xaf, 0xe5, 0xe3, 0x2d, 0xdc, 238 - 0x6f, 0xa4, 0x53, 0x88, 0xd8, 0xcf, 0x4d, 0x45, 0x42, 0x62, 0xdb, 0xdf, 239 - 0xf8, 0x45, 0xc2, 0x13, 0xec, 0x35, }, 240 - { 0x06, 0x3c, 0xe3, 0x2c, 0x15, 0xc6, 0x43, 0x03, 0x81, 0xfb, 0x08, 0x76, 241 - 0x33, 0xcb, 0x02, 0xc1, 0xba, 0x33, 0xe5, 0xe0, 0xd1, 0x92, 0xa8, 0x46, 242 - 0x28, 0x3f, 0x3e, 0x9d, 0x2c, 0x44, 0x54, }, 243 - { 0xea, 0xbb, 0x96, 0xf8, 0xd1, 0x8b, 0x04, 0x11, 0x40, 0x78, 0x42, 0x02, 244 - 0x19, 0xd1, 0xbc, 0x65, 0x92, 0xd3, 0xc3, 0xd6, 0xd9, 0x19, 0xe7, 0xc3, 245 - 0x40, 0x97, 0xbd, 0xd4, 0xed, 0xfa, 0x5e, 0x28, }, 246 - { 0x02, }, 247 - { 0x52, 0xa8, }, 248 - { 0x38, 0x25, 0x0d, }, 249 - { 0xe3, 0x04, 0xd4, 0x92, }, 250 - { 0x97, 0xdb, 0xf7, 0x81, 0xca, }, 251 - { 0x8a, 0x56, 0x9d, 0x62, 0x56, 0xcc, }, 252 - { 0xa1, 0x8e, 0x3c, 0x72, 0x8f, 0x63, 0x03, }, 253 - { 0xf7, 0xf3, 0x39, 0x09, 0x0a, 0xa1, 0xbb, 0x23, }, 254 - { 0x6b, 0x03, 0xc0, 0xe9, 0xd9, 0x83, 0x05, 0x22, 0x01, }, 255 - { 0x1b, 0x4b, 0xf5, 0xd6, 0x4f, 0x05, 0x75, 0x91, 0x4c, 0x7f, }, 256 - { 0x4c, 0x8c, 0x25, 0x20, 0x21, 0xcb, 0xc2, 0x4b, 0x3a, 0x5b, 0x8d, }, 257 - { 0x56, 0xe2, 0x77, 0xa0, 0xb6, 0x9f, 0x81, 0xec, 0x83, 0x75, 0xc4, 0xf9, }, 258 - { 0x71, 0x70, 0x0f, 0xad, 0x4d, 0x35, 0x81, 0x9d, 0x88, 0x69, 0xf9, 0xaa, 259 - 0xd3, }, 260 - { 0x50, 0x6e, 0x86, 0x6e, 0x43, 0xc0, 0xc2, 0x44, 0xc2, 0xe2, 0xa0, 0x1c, 261 - 0xb7, 0x9a, }, 262 - { 0xe4, 0x7e, 0x72, 0xc6, 0x12, 0x8e, 0x7c, 0xfc, 0xbd, 0xe2, 0x08, 0x31, 263 - 0x3d, 0x47, 0x3d, }, 264 - { 0x08, 0x97, 0x5b, 0x80, 0xae, 0xc4, 0x1d, 0x50, 0x77, 0xdf, 0x1f, 0xd0, 265 - 0x24, 0xf0, 0x17, 0xc0, }, 266 - { 0x01, 0xb6, 0x29, 0xf4, 0xaf, 0x78, 0x5f, 0xb6, 0x91, 0xdd, 0x76, 0x76, 267 - 0xd2, 0xfd, 0x0c, 0x47, 0x40, }, 268 - { 0xa1, 0xd8, 0x09, 0x97, 0x7a, 0xa6, 0xc8, 0x94, 0xf6, 0x91, 0x7b, 0xae, 269 - 0x2b, 0x9f, 0x0d, 0x83, 0x48, 0xf7, }, 270 - { 0x12, 0xd5, 0x53, 0x7d, 0x9a, 0xb0, 0xbe, 0xd9, 0xed, 0xe9, 0x9e, 0xee, 271 - 0x61, 0x5b, 0x42, 0xf2, 0xc0, 0x73, 0xc0, }, 272 - { 0xd5, 0x77, 0xd6, 0x5c, 0x6e, 0xa5, 0x69, 0x2b, 0x3b, 0x8c, 0xd6, 0x7d, 273 - 0x1d, 0xbe, 0x2c, 0xa1, 0x02, 0x21, 0xcd, 0x29, }, 274 - { 0xa4, 0x98, 0x80, 0xca, 0x22, 0xcf, 0x6a, 0xab, 0x5e, 0x40, 0x0d, 0x61, 275 - 0x08, 0x21, 0xef, 0xc0, 0x6c, 0x52, 0xb4, 0xb0, 0x53, }, 276 - { 0xbf, 0xaf, 0x8f, 0x3b, 0x7a, 0x97, 0x33, 0xe5, 0xca, 0x07, 0x37, 0xfd, 277 - 0x15, 0xdf, 0xce, 0x26, 0x2a, 0xb1, 0xa7, 0x0b, 0xb3, 0xac, }, 278 - { 0x16, 0x22, 0xe1, 0xbc, 0x99, 0x4e, 0x01, 0xf0, 0xfa, 0xff, 0x8f, 0xa5, 279 - 0x0c, 0x61, 0xb0, 0xad, 0xcc, 0xb1, 0xe1, 0x21, 0x46, 0xfa, 0x2e, }, 280 - { 0x11, 0x5b, 0x0b, 0x2b, 0xe6, 0x14, 0xc1, 0xd5, 0x4d, 0x71, 0x5e, 0x17, 281 - 0xea, 0x23, 0xdd, 0x6c, 0xbd, 0x1d, 0xbe, 0x12, 0x1b, 0xee, 0x4c, 0x1a, }, 282 - { 0x40, 0x88, 0x22, 0xf3, 0x20, 0x6c, 0xed, 0xe1, 0x36, 0x34, 0x62, 0x2c, 283 - 0x98, 0x83, 0x52, 0xe2, 0x25, 0xee, 0xe9, 0xf5, 0xe1, 0x17, 0xf0, 0x5c, 284 - 0xae, }, 285 - { 0xc3, 0x76, 0x37, 0xde, 0x95, 0x8c, 0xca, 0x2b, 0x0c, 0x23, 0xe7, 0xb5, 286 - 0x38, 0x70, 0x61, 0xcc, 0xff, 0xd3, 0x95, 0x7b, 0xf3, 0xff, 0x1f, 0x9d, 287 - 0x59, 0x00, }, 288 - { 0x0c, 0x19, 0x52, 0x05, 0x22, 0x53, 0xcb, 0x48, 0xd7, 0x10, 0x0e, 0x7e, 289 - 0x14, 0x69, 0xb5, 0xa2, 0x92, 0x43, 0xa3, 0x9e, 0x4b, 0x8f, 0x51, 0x2c, 290 - 0x5a, 0x2c, 0x3b, }, 291 - { 0xe1, 0x9d, 0x70, 0x70, 0x28, 0xec, 0x86, 0x40, 0x55, 0x33, 0x56, 0xda, 292 - 0x88, 0xca, 0xee, 0xc8, 0x6a, 0x20, 0xb1, 0xe5, 0x3d, 0x57, 0xf8, 0x3c, 293 - 0x10, 0x07, 0x2a, 0xc4, }, 294 - { 0x0b, 0xae, 0xf1, 0xc4, 0x79, 0xee, 0x1b, 0x3d, 0x27, 0x35, 0x8d, 0x14, 295 - 0xd6, 0xae, 0x4e, 0x3c, 0xe9, 0x53, 0x50, 0xb5, 0xcc, 0x0c, 0xf7, 0xdf, 296 - 0xee, 0xa1, 0x74, 0xd6, 0x71, }, 297 - { 0xe6, 0xa4, 0xf4, 0x99, 0x98, 0xb9, 0x80, 0xea, 0x96, 0x7f, 0x4f, 0x33, 298 - 0xcf, 0x74, 0x25, 0x6f, 0x17, 0x6c, 0xbf, 0xf5, 0x5c, 0x38, 0xd0, 0xff, 299 - 0x96, 0xcb, 0x13, 0xf9, 0xdf, 0xfd, }, 300 - { 0xbe, 0x92, 0xeb, 0xba, 0x44, 0x2c, 0x24, 0x74, 0xd4, 0x03, 0x27, 0x3c, 301 - 0x5d, 0x5b, 0x03, 0x30, 0x87, 0x63, 0x69, 0xe0, 0xb8, 0x94, 0xf4, 0x44, 302 - 0x7e, 0xad, 0xcd, 0x20, 0x12, 0x16, 0x79, }, 303 - { 0x30, 0xf1, 0xc4, 0x8e, 0x05, 0x90, 0x2a, 0x97, 0x63, 0x94, 0x46, 0xff, 304 - 0xce, 0xd8, 0x67, 0xa7, 0xac, 0x33, 0x8c, 0x95, 0xb7, 0xcd, 0xa3, 0x23, 305 - 0x98, 0x9d, 0x76, 0x6c, 0x9d, 0xa8, 0xd6, 0x8a, }, 306 - { 0xbe, }, 307 - { 0x17, 0x6c, }, 308 - { 0x1a, 0x42, 0x4f, }, 309 - { 0xba, 0xaf, 0xb7, 0x65, }, 310 - { 0xc2, 0x63, 0x43, 0x6a, 0xea, }, 311 - { 0xe4, 0x4d, 0xad, 0xf2, 0x0b, 0x02, }, 312 - { 0x04, 0xc7, 0xc4, 0x7f, 0xa9, 0x2b, 0xce, }, 313 - { 0x66, 0xf6, 0x67, 0xcb, 0x03, 0x53, 0xc8, 0xf1, }, 314 - { 0x56, 0xa3, 0x60, 0x78, 0xc9, 0x5f, 0x70, 0x1b, 0x5e, }, 315 - { 0x99, 0xff, 0x81, 0x7c, 0x13, 0x3c, 0x29, 0x79, 0x4b, 0x65, }, 316 - { 0x51, 0x10, 0x50, 0x93, 0x01, 0x93, 0xb7, 0x01, 0xc9, 0x18, 0xb7, }, 317 - { 0x8e, 0x3c, 0x42, 0x1e, 0x5e, 0x7d, 0xc1, 0x50, 0x70, 0x1f, 0x00, 0x98, }, 318 - { 0x5f, 0xd9, 0x9b, 0xc8, 0xd7, 0xb2, 0x72, 0x62, 0x1a, 0x1e, 0xba, 0x92, 319 - 0xe9, }, 320 - { 0x70, 0x2b, 0xba, 0xfe, 0xad, 0x5d, 0x96, 0x3f, 0x27, 0xc2, 0x41, 0x6d, 321 - 0xc4, 0xb3, }, 322 - { 0xae, 0xe0, 0xd5, 0xd4, 0xc7, 0xae, 0x15, 0x5e, 0xdc, 0xdd, 0x33, 0x60, 323 - 0xd7, 0xd3, 0x5e, }, 324 - { 0x79, 0x8e, 0xbc, 0x9e, 0x20, 0xb9, 0x19, 0x4b, 0x63, 0x80, 0xf3, 0x16, 325 - 0xaf, 0x39, 0xbd, 0x92, }, 326 - { 0xc2, 0x0e, 0x85, 0xa0, 0x0b, 0x9a, 0xb0, 0xec, 0xde, 0x38, 0xd3, 0x10, 327 - 0xd9, 0xa7, 0x66, 0x27, 0xcf, }, 328 - { 0x0e, 0x3b, 0x75, 0x80, 0x67, 0x14, 0x0c, 0x02, 0x90, 0xd6, 0xb3, 0x02, 329 - 0x81, 0xf6, 0xa6, 0x87, 0xce, 0x58, }, 330 - { 0x79, 0xb5, 0xe9, 0x5d, 0x52, 0x4d, 0xf7, 0x59, 0xf4, 0x2e, 0x27, 0xdd, 331 - 0xb3, 0xed, 0x57, 0x5b, 0x82, 0xea, 0x6f, }, 332 - { 0xa2, 0x97, 0xf5, 0x80, 0x02, 0x3d, 0xde, 0xa3, 0xf9, 0xf6, 0xab, 0xe3, 333 - 0x57, 0x63, 0x7b, 0x9b, 0x10, 0x42, 0x6f, 0xf2, }, 334 - { 0x12, 0x7a, 0xfc, 0xb7, 0x67, 0x06, 0x0c, 0x78, 0x1a, 0xfe, 0x88, 0x4f, 335 - 0xc6, 0xac, 0x52, 0x96, 0x64, 0x28, 0x97, 0x84, 0x06, }, 336 - { 0xc5, 0x04, 0x44, 0x6b, 0xb2, 0xa5, 0xa4, 0x66, 0xe1, 0x76, 0xa2, 0x51, 337 - 0xf9, 0x59, 0x69, 0x97, 0x56, 0x0b, 0xbf, 0x50, 0xb3, 0x34, }, 338 - { 0x21, 0x32, 0x6b, 0x42, 0xb5, 0xed, 0x71, 0x8d, 0xf7, 0x5a, 0x35, 0xe3, 339 - 0x90, 0xe2, 0xee, 0xaa, 0x89, 0xf6, 0xc9, 0x9c, 0x4d, 0x73, 0xf4, }, 340 - { 0x4c, 0xa6, 0x09, 0xf4, 0x48, 0xe7, 0x46, 0xbc, 0x49, 0xfc, 0xe5, 0xda, 341 - 0xd1, 0x87, 0x13, 0x17, 0x4c, 0x59, 0x71, 0x26, 0x5b, 0x2c, 0x42, 0xb7, }, 342 - { 0x13, 0x63, 0xf3, 0x40, 0x02, 0xe5, 0xa3, 0x3a, 0x5e, 0x8e, 0xf8, 0xb6, 343 - 0x8a, 0x49, 0x60, 0x76, 0x34, 0x72, 0x94, 0x73, 0xf6, 0xd9, 0x21, 0x6a, 344 - 0x26, }, 345 - { 0xdf, 0x75, 0x16, 0x10, 0x1b, 0x5e, 0x81, 0xc3, 0xc8, 0xde, 0x34, 0x24, 346 - 0xb0, 0x98, 0xeb, 0x1b, 0x8f, 0xa1, 0x9b, 0x05, 0xee, 0xa5, 0xe9, 0x35, 347 - 0xf4, 0x1d, }, 348 - { 0xcd, 0x21, 0x93, 0x6e, 0x5b, 0xa0, 0x26, 0x2b, 0x21, 0x0e, 0xa0, 0xb9, 349 - 0x1c, 0xb5, 0xbb, 0xb8, 0xf8, 0x1e, 0xff, 0x5c, 0xa8, 0xf9, 0x39, 0x46, 350 - 0x4e, 0x29, 0x26, }, 351 - { 0x73, 0x7f, 0x0e, 0x3b, 0x0b, 0x5c, 0xf9, 0x60, 0xaa, 0x88, 0xa1, 0x09, 352 - 0xb1, 0x5d, 0x38, 0x7b, 0x86, 0x8f, 0x13, 0x7a, 0x8d, 0x72, 0x7a, 0x98, 353 - 0x1a, 0x5b, 0xff, 0xc9, }, 354 - { 0xd3, 0x3c, 0x61, 0x71, 0x44, 0x7e, 0x31, 0x74, 0x98, 0x9d, 0x9a, 0xd2, 355 - 0x27, 0xf3, 0x46, 0x43, 0x42, 0x51, 0xd0, 0x5f, 0xe9, 0x1c, 0x5c, 0x69, 356 - 0xbf, 0xf6, 0xbe, 0x3c, 0x40, }, 357 - { 0x31, 0x99, 0x31, 0x9f, 0xaa, 0x43, 0x2e, 0x77, 0x3e, 0x74, 0x26, 0x31, 358 - 0x5e, 0x61, 0xf1, 0x87, 0xe2, 0xeb, 0x9b, 0xcd, 0xd0, 0x3a, 0xee, 0x20, 359 - 0x7e, 0x10, 0x0a, 0x0b, 0x7e, 0xfa, }, 360 - { 0xa4, 0x27, 0x80, 0x67, 0x81, 0x2a, 0xa7, 0x62, 0xf7, 0x6e, 0xda, 0xd4, 361 - 0x5c, 0x39, 0x74, 0xad, 0x7e, 0xbe, 0xad, 0xa5, 0x84, 0x7f, 0xa9, 0x30, 362 - 0x5d, 0xdb, 0xe2, 0x05, 0x43, 0xf7, 0x1b, }, 363 - { 0x0b, 0x37, 0xd8, 0x02, 0xe1, 0x83, 0xd6, 0x80, 0xf2, 0x35, 0xc2, 0xb0, 364 - 0x37, 0xef, 0xef, 0x5e, 0x43, 0x93, 0xf0, 0x49, 0x45, 0x0a, 0xef, 0xb5, 365 - 0x76, 0x70, 0x12, 0x44, 0xc4, 0xdb, 0xf5, 0x7a, }, 366 - { 0x1f, }, 367 - { 0x82, 0x60, }, 368 - { 0xcc, 0xe3, 0x08, }, 369 - { 0x56, 0x17, 0xe4, 0x59, }, 370 - { 0xe2, 0xd7, 0x9e, 0xc4, 0x4c, }, 371 - { 0xb2, 0xad, 0xd3, 0x78, 0x58, 0x5a, }, 372 - { 0xce, 0x43, 0xb4, 0x02, 0x96, 0xab, 0x3c, }, 373 - { 0xe6, 0x05, 0x1a, 0x73, 0x22, 0x32, 0xbb, 0x77, }, 374 - { 0x23, 0xe7, 0xda, 0xfe, 0x2c, 0xef, 0x8c, 0x22, 0xec, }, 375 - { 0xe9, 0x8e, 0x55, 0x38, 0xd1, 0xd7, 0x35, 0x23, 0x98, 0xc7, }, 376 - { 0xb5, 0x81, 0x1a, 0xe5, 0xb5, 0xa5, 0xd9, 0x4d, 0xca, 0x41, 0xe7, }, 377 - { 0x41, 0x16, 0x16, 0x95, 0x8d, 0x9e, 0x0c, 0xea, 0x8c, 0x71, 0x9a, 0xc1, }, 378 - { 0x7c, 0x33, 0xc0, 0xa4, 0x00, 0x62, 0xea, 0x60, 0x67, 0xe4, 0x20, 0xbc, 379 - 0x5b, }, 380 - { 0xdb, 0xb1, 0xdc, 0xfd, 0x08, 0xc0, 0xde, 0x82, 0xd1, 0xde, 0x38, 0xc0, 381 - 0x90, 0x48, }, 382 - { 0x37, 0x18, 0x2e, 0x0d, 0x61, 0xaa, 0x61, 0xd7, 0x86, 0x20, 0x16, 0x60, 383 - 0x04, 0xd9, 0xd5, }, 384 - { 0xb0, 0xcf, 0x2c, 0x4c, 0x5e, 0x5b, 0x4f, 0x2a, 0x23, 0x25, 0x58, 0x47, 385 - 0xe5, 0x31, 0x06, 0x70, }, 386 - { 0x91, 0xa0, 0xa3, 0x86, 0x4e, 0xe0, 0x72, 0x38, 0x06, 0x67, 0x59, 0x5c, 387 - 0x70, 0x25, 0xdb, 0x33, 0x27, }, 388 - { 0x44, 0x58, 0x66, 0xb8, 0x58, 0xc7, 0x13, 0xed, 0x4c, 0xc0, 0xf4, 0x9a, 389 - 0x1e, 0x67, 0x75, 0x33, 0xb6, 0xb8, }, 390 - { 0x7f, 0x98, 0x4a, 0x8e, 0x50, 0xa2, 0x5c, 0xcd, 0x59, 0xde, 0x72, 0xb3, 391 - 0x9d, 0xc3, 0x09, 0x8a, 0xab, 0x56, 0xf1, }, 392 - { 0x80, 0x96, 0x49, 0x1a, 0x59, 0xa2, 0xc5, 0xd5, 0xa7, 0x20, 0x8a, 0xb7, 393 - 0x27, 0x62, 0x84, 0x43, 0xc6, 0xe1, 0x1b, 0x5d, }, 394 - { 0x6b, 0xb7, 0x2b, 0x26, 0x62, 0x14, 0x70, 0x19, 0x3d, 0x4d, 0xac, 0xac, 395 - 0x63, 0x58, 0x5e, 0x94, 0xb5, 0xb7, 0xe8, 0xe8, 0xa2, }, 396 - { 0x20, 0xa8, 0xc0, 0xfd, 0x63, 0x3d, 0x6e, 0x98, 0xcf, 0x0c, 0x49, 0x98, 397 - 0xe4, 0x5a, 0xfe, 0x8c, 0xaa, 0x70, 0x82, 0x1c, 0x7b, 0x74, }, 398 - { 0xc8, 0xe8, 0xdd, 0xdf, 0x69, 0x30, 0x01, 0xc2, 0x0f, 0x7e, 0x2f, 0x11, 399 - 0xcc, 0x3e, 0x17, 0xa5, 0x69, 0x40, 0x3f, 0x0e, 0x79, 0x7f, 0xcf, }, 400 - { 0xdb, 0x61, 0xc0, 0xe2, 0x2e, 0x49, 0x07, 0x31, 0x1d, 0x91, 0x42, 0x8a, 401 - 0xfc, 0x5e, 0xd3, 0xf8, 0x56, 0x1f, 0x2b, 0x73, 0xfd, 0x9f, 0xb2, 0x8e, }, 402 - { 0x0c, 0x89, 0x55, 0x0c, 0x1f, 0x59, 0x2c, 0x9d, 0x1b, 0x29, 0x1d, 0x41, 403 - 0x1d, 0xe6, 0x47, 0x8f, 0x8c, 0x2b, 0xea, 0x8f, 0xf0, 0xff, 0x21, 0x70, 404 - 0x88, }, 405 - { 0x12, 0x18, 0x95, 0xa6, 0x59, 0xb1, 0x31, 0x24, 0x45, 0x67, 0x55, 0xa4, 406 - 0x1a, 0x2d, 0x48, 0x67, 0x1b, 0x43, 0x88, 0x2d, 0x8e, 0xa0, 0x70, 0xb3, 407 - 0xc6, 0xbb, }, 408 - { 0xe7, 0xb1, 0x1d, 0xb2, 0x76, 0x4d, 0x68, 0x68, 0x68, 0x23, 0x02, 0x55, 409 - 0x3a, 0xe2, 0xe5, 0xd5, 0x4b, 0x43, 0xf9, 0x34, 0x77, 0x5c, 0xa1, 0xf5, 410 - 0x55, 0xfd, 0x4f, }, 411 - { 0x8c, 0x87, 0x5a, 0x08, 0x3a, 0x73, 0xad, 0x61, 0xe1, 0xe7, 0x99, 0x7e, 412 - 0xf0, 0x5d, 0xe9, 0x5d, 0x16, 0x43, 0x80, 0x2f, 0xd0, 0x66, 0x34, 0xe2, 413 - 0x42, 0x64, 0x3b, 0x1a, }, 414 - { 0x39, 0xc1, 0x99, 0xcf, 0x22, 0xbf, 0x16, 0x8f, 0x9f, 0x80, 0x7f, 0x95, 415 - 0x0a, 0x05, 0x67, 0x27, 0xe7, 0x15, 0xdf, 0x9d, 0xb2, 0xfe, 0x1c, 0xb5, 416 - 0x1d, 0x60, 0x8f, 0x8a, 0x1d, }, 417 - { 0x9b, 0x6e, 0x08, 0x09, 0x06, 0x73, 0xab, 0x68, 0x02, 0x62, 0x1a, 0xe4, 418 - 0xd4, 0xdf, 0xc7, 0x02, 0x4c, 0x6a, 0x5f, 0xfd, 0x23, 0xac, 0xae, 0x6d, 419 - 0x43, 0xa4, 0x7a, 0x50, 0x60, 0x3c, }, 420 - { 0x1d, 0xb4, 0xc6, 0xe1, 0xb1, 0x4b, 0xe3, 0xf2, 0xe2, 0x1a, 0x73, 0x1b, 421 - 0xa0, 0x92, 0xa7, 0xf5, 0xff, 0x8f, 0x8b, 0x5d, 0xdf, 0xa8, 0x04, 0xb3, 422 - 0xb0, 0xf7, 0xcc, 0x12, 0xfa, 0x35, 0x46, }, 423 - { 0x49, 0x45, 0x97, 0x11, 0x0f, 0x1c, 0x60, 0x8e, 0xe8, 0x47, 0x30, 0xcf, 424 - 0x60, 0xa8, 0x71, 0xc5, 0x1b, 0xe9, 0x39, 0x4d, 0x49, 0xb6, 0x12, 0x1f, 425 - 0x24, 0xab, 0x37, 0xff, 0x83, 0xc2, 0xe1, 0x3a, }, 426 - { 0x60, }, 427 - { 0x24, 0x26, }, 428 - { 0x47, 0xeb, 0xc9, }, 429 - { 0x4a, 0xd0, 0xbc, 0xf0, }, 430 - { 0x8e, 0x2b, 0xc9, 0x85, 0x3c, }, 431 - { 0xa2, 0x07, 0x15, 0xb8, 0x12, 0x74, }, 432 - { 0x0f, 0xdb, 0x5b, 0x33, 0x69, 0xfe, 0x4b, }, 433 - { 0xa2, 0x86, 0x54, 0xf4, 0xfd, 0xb2, 0xd4, 0xe6, }, 434 - { 0xbb, 0x84, 0x78, 0x49, 0x27, 0x8e, 0x61, 0xda, 0x60, }, 435 - { 0x04, 0xc3, 0xcd, 0xaa, 0x8f, 0xa7, 0x03, 0xc9, 0xf9, 0xb6, }, 436 - { 0xf8, 0x27, 0x1d, 0x61, 0xdc, 0x21, 0x42, 0xdd, 0xad, 0x92, 0x40, }, 437 - { 0x12, 0x87, 0xdf, 0xc2, 0x41, 0x45, 0x5a, 0x36, 0x48, 0x5b, 0x51, 0x2b, }, 438 - { 0xbb, 0x37, 0x5d, 0x1f, 0xf1, 0x68, 0x7a, 0xc4, 0xa5, 0xd2, 0xa4, 0x91, 439 - 0x8d, }, 440 - { 0x5b, 0x27, 0xd1, 0x04, 0x54, 0x52, 0x9f, 0xa3, 0x47, 0x86, 0x33, 0x33, 441 - 0xbf, 0xa0, }, 442 - { 0xcf, 0x04, 0xea, 0xf8, 0x03, 0x2a, 0x43, 0xff, 0xa6, 0x68, 0x21, 0x4c, 443 - 0xd5, 0x4b, 0xed, }, 444 - { 0xaf, 0xb8, 0xbc, 0x63, 0x0f, 0x18, 0x4d, 0xe2, 0x7a, 0xdd, 0x46, 0x44, 445 - 0xc8, 0x24, 0x0a, 0xb7, }, 446 - { 0x3e, 0xdc, 0x36, 0xe4, 0x89, 0xb1, 0xfa, 0xc6, 0x40, 0x93, 0x2e, 0x75, 447 - 0xb2, 0x15, 0xd1, 0xb1, 0x10, }, 448 - { 0x6c, 0xd8, 0x20, 0x3b, 0x82, 0x79, 0xf9, 0xc8, 0xbc, 0x9d, 0xe0, 0x35, 449 - 0xbe, 0x1b, 0x49, 0x1a, 0xbc, 0x3a, }, 450 - { 0x78, 0x65, 0x2c, 0xbe, 0x35, 0x67, 0xdc, 0x78, 0xd4, 0x41, 0xf6, 0xc9, 451 - 0xde, 0xde, 0x1f, 0x18, 0x13, 0x31, 0x11, }, 452 - { 0x8a, 0x7f, 0xb1, 0x33, 0x8f, 0x0c, 0x3c, 0x0a, 0x06, 0x61, 0xf0, 0x47, 453 - 0x29, 0x1b, 0x29, 0xbc, 0x1c, 0x47, 0xef, 0x7a, }, 454 - { 0x65, 0x91, 0xf1, 0xe6, 0xb3, 0x96, 0xd3, 0x8c, 0xc2, 0x4a, 0x59, 0x35, 455 - 0x72, 0x8e, 0x0b, 0x9a, 0x87, 0xca, 0x34, 0x7b, 0x63, }, 456 - { 0x5f, 0x08, 0x87, 0x80, 0x56, 0x25, 0x89, 0x77, 0x61, 0x8c, 0x64, 0xa1, 457 - 0x59, 0x6d, 0x59, 0x62, 0xe8, 0x4a, 0xc8, 0x58, 0x99, 0xd1, }, 458 - { 0x23, 0x87, 0x1d, 0xed, 0x6f, 0xf2, 0x91, 0x90, 0xe2, 0xfe, 0x43, 0x21, 459 - 0xaf, 0x97, 0xc6, 0xbc, 0xd7, 0x15, 0xc7, 0x2d, 0x08, 0x77, 0x91, }, 460 - { 0x90, 0x47, 0x9a, 0x9e, 0x3a, 0xdf, 0xf3, 0xc9, 0x4c, 0x1e, 0xa7, 0xd4, 461 - 0x6a, 0x32, 0x90, 0xfe, 0xb7, 0xb6, 0x7b, 0xfa, 0x96, 0x61, 0xfb, 0xa4, }, 462 - { 0xb1, 0x67, 0x60, 0x45, 0xb0, 0x96, 0xc5, 0x15, 0x9f, 0x4d, 0x26, 0xd7, 463 - 0x9d, 0xf1, 0xf5, 0x6d, 0x21, 0x00, 0x94, 0x31, 0x64, 0x94, 0xd3, 0xa7, 464 - 0xd3, }, 465 - { 0x02, 0x3e, 0xaf, 0xf3, 0x79, 0x73, 0xa5, 0xf5, 0xcc, 0x7a, 0x7f, 0xfb, 466 - 0x79, 0x2b, 0x85, 0x8c, 0x88, 0x72, 0x06, 0xbe, 0xfe, 0xaf, 0xc1, 0x16, 467 - 0xa6, 0xd6, }, 468 - { 0x2a, 0xb0, 0x1a, 0xe5, 0xaa, 0x6e, 0xb3, 0xae, 0x53, 0x85, 0x33, 0x80, 469 - 0x75, 0xae, 0x30, 0xe6, 0xb8, 0x72, 0x42, 0xf6, 0x25, 0x4f, 0x38, 0x88, 470 - 0x55, 0xd1, 0xa9, }, 471 - { 0x90, 0xd8, 0x0c, 0xc0, 0x93, 0x4b, 0x4f, 0x9e, 0x65, 0x6c, 0xa1, 0x54, 472 - 0xa6, 0xf6, 0x6e, 0xca, 0xd2, 0xbb, 0x7e, 0x6a, 0x1c, 0xd3, 0xce, 0x46, 473 - 0xef, 0xb0, 0x00, 0x8d, }, 474 - { 0xed, 0x9c, 0x49, 0xcd, 0xc2, 0xde, 0x38, 0x0e, 0xe9, 0x98, 0x6c, 0xc8, 475 - 0x90, 0x9e, 0x3c, 0xd4, 0xd3, 0xeb, 0x88, 0x32, 0xc7, 0x28, 0xe3, 0x94, 476 - 0x1c, 0x9f, 0x8b, 0xf3, 0xcb, }, 477 - { 0xac, 0xe7, 0x92, 0x16, 0xb4, 0x14, 0xa0, 0xe4, 0x04, 0x79, 0xa2, 0xf4, 478 - 0x31, 0xe6, 0x0c, 0x26, 0xdc, 0xbf, 0x2f, 0x69, 0x1b, 0x55, 0x94, 0x67, 479 - 0xda, 0x0c, 0xd7, 0x32, 0x1f, 0xef, }, 480 - { 0x68, 0x63, 0x85, 0x57, 0x95, 0x9e, 0x42, 0x27, 0x41, 0x43, 0x42, 0x02, 481 - 0xa5, 0x78, 0xa7, 0xc6, 0x43, 0xc1, 0x6a, 0xba, 0x70, 0x80, 0xcd, 0x04, 482 - 0xb6, 0x78, 0x76, 0x29, 0xf3, 0xe8, 0xa0, }, 483 - { 0xe6, 0xac, 0x8d, 0x9d, 0xf0, 0xc0, 0xf7, 0xf7, 0xe3, 0x3e, 0x4e, 0x28, 484 - 0x0f, 0x59, 0xb2, 0x67, 0x9e, 0x84, 0x34, 0x42, 0x96, 0x30, 0x2b, 0xca, 485 - 0x49, 0xb6, 0xc5, 0x9a, 0x84, 0x59, 0xa7, 0x81, }, 486 - { 0x7e, }, 487 - { 0x1e, 0x21, }, 488 - { 0x26, 0xd3, 0xdd, }, 489 - { 0x2c, 0xd4, 0xb3, 0x3d, }, 490 - { 0x86, 0x7b, 0x76, 0x3c, 0xf0, }, 491 - { 0x12, 0xc3, 0x70, 0x1d, 0x55, 0x18, }, 492 - { 0x96, 0xc2, 0xbd, 0x61, 0x55, 0xf4, 0x24, }, 493 - { 0x20, 0x51, 0xf7, 0x86, 0x58, 0x8f, 0x07, 0x2a, }, 494 - { 0x93, 0x15, 0xa8, 0x1d, 0xda, 0x97, 0xee, 0x0e, 0x6c, }, 495 - { 0x39, 0x93, 0xdf, 0xd5, 0x0e, 0xca, 0xdc, 0x7a, 0x92, 0xce, }, 496 - { 0x60, 0xd5, 0xfd, 0xf5, 0x1b, 0x26, 0x82, 0x26, 0x73, 0x02, 0xbc, }, 497 - { 0x98, 0xf2, 0x34, 0xe1, 0xf5, 0xfb, 0x00, 0xac, 0x10, 0x4a, 0x38, 0x9f, }, 498 - { 0xda, 0x3a, 0x92, 0x8a, 0xd0, 0xcd, 0x12, 0xcd, 0x15, 0xbb, 0xab, 0x77, 499 - 0x66, }, 500 - { 0xa2, 0x92, 0x1a, 0xe5, 0xca, 0x0c, 0x30, 0x75, 0xeb, 0xaf, 0x00, 0x31, 501 - 0x55, 0x66, }, 502 - { 0x06, 0xea, 0xfd, 0x3e, 0x86, 0x38, 0x62, 0x4e, 0xa9, 0x12, 0xa4, 0x12, 503 - 0x43, 0xbf, 0xa1, }, 504 - { 0xe4, 0x71, 0x7b, 0x94, 0xdb, 0xa0, 0xd2, 0xff, 0x9b, 0xeb, 0xad, 0x8e, 505 - 0x95, 0x8a, 0xc5, 0xed, }, 506 - { 0x25, 0x5a, 0x77, 0x71, 0x41, 0x0e, 0x7a, 0xe9, 0xed, 0x0c, 0x10, 0xef, 507 - 0xf6, 0x2b, 0x3a, 0xba, 0x60, }, 508 - { 0xee, 0xe2, 0xa3, 0x67, 0x64, 0x1d, 0xc6, 0x04, 0xc4, 0xe1, 0x68, 0xd2, 509 - 0x6e, 0xd2, 0x91, 0x75, 0x53, 0x07, }, 510 - { 0xe0, 0xf6, 0x4d, 0x8f, 0x68, 0xfc, 0x06, 0x7e, 0x18, 0x79, 0x7f, 0x2b, 511 - 0x6d, 0xef, 0x46, 0x7f, 0xab, 0xb2, 0xad, }, 512 - { 0x3d, 0x35, 0x88, 0x9f, 0x2e, 0xcf, 0x96, 0x45, 0x07, 0x60, 0x71, 0x94, 513 - 0x00, 0x8d, 0xbf, 0xf4, 0xef, 0x46, 0x2e, 0x3c, }, 514 - { 0x43, 0xcf, 0x98, 0xf7, 0x2d, 0xf4, 0x17, 0xe7, 0x8c, 0x05, 0x2d, 0x9b, 515 - 0x24, 0xfb, 0x4d, 0xea, 0x4a, 0xec, 0x01, 0x25, 0x29, }, 516 - { 0x8e, 0x73, 0x9a, 0x78, 0x11, 0xfe, 0x48, 0xa0, 0x3b, 0x1a, 0x26, 0xdf, 517 - 0x25, 0xe9, 0x59, 0x1c, 0x70, 0x07, 0x9f, 0xdc, 0xa0, 0xa6, }, 518 - { 0xe8, 0x47, 0x71, 0xc7, 0x3e, 0xdf, 0xb5, 0x13, 0xb9, 0x85, 0x13, 0xa8, 519 - 0x54, 0x47, 0x6e, 0x59, 0x96, 0x09, 0x13, 0x5f, 0x82, 0x16, 0x0b, }, 520 - { 0xfb, 0xc0, 0x8c, 0x03, 0x21, 0xb3, 0xc4, 0xb5, 0x43, 0x32, 0x6c, 0xea, 521 - 0x7f, 0xa8, 0x43, 0x91, 0xe8, 0x4e, 0x3f, 0xbf, 0x45, 0x58, 0x6a, 0xa3, }, 522 - { 0x55, 0xf8, 0xf3, 0x00, 0x76, 0x09, 0xef, 0x69, 0x5d, 0xd2, 0x8a, 0xf2, 523 - 0x65, 0xc3, 0xcb, 0x9b, 0x43, 0xfd, 0xb1, 0x7e, 0x7f, 0xa1, 0x94, 0xb0, 524 - 0xd7, }, 525 - { 0xaa, 0x13, 0xc1, 0x51, 0x40, 0x6d, 0x8d, 0x4c, 0x0a, 0x95, 0x64, 0x7b, 526 - 0xd1, 0x96, 0xb6, 0x56, 0xb4, 0x5b, 0xcf, 0xd6, 0xd9, 0x15, 0x97, 0xdd, 527 - 0xb6, 0xef, }, 528 - { 0xaf, 0xb7, 0x36, 0xb0, 0x04, 0xdb, 0xd7, 0x9c, 0x9a, 0x44, 0xc4, 0xf6, 529 - 0x1f, 0x12, 0x21, 0x2d, 0x59, 0x30, 0x54, 0xab, 0x27, 0x61, 0xa3, 0x57, 530 - 0xef, 0xf8, 0x53, }, 531 - { 0x97, 0x34, 0x45, 0x3e, 0xce, 0x7c, 0x35, 0xa2, 0xda, 0x9f, 0x4b, 0x46, 532 - 0x6c, 0x11, 0x67, 0xff, 0x2f, 0x76, 0x58, 0x15, 0x71, 0xfa, 0x44, 0x89, 533 - 0x89, 0xfd, 0xf7, 0x99, }, 534 - { 0x1f, 0xb1, 0x62, 0xeb, 0x83, 0xc5, 0x9c, 0x89, 0xf9, 0x2c, 0xd2, 0x03, 535 - 0x61, 0xbc, 0xbb, 0xa5, 0x74, 0x0e, 0x9b, 0x7e, 0x82, 0x3e, 0x70, 0x0a, 536 - 0xa9, 0x8f, 0x2b, 0x59, 0xfb, }, 537 - { 0xf8, 0xca, 0x5e, 0x3a, 0x4f, 0x9e, 0x10, 0x69, 0x10, 0xd5, 0x4c, 0xeb, 538 - 0x1a, 0x0f, 0x3c, 0x6a, 0x98, 0xf5, 0xb0, 0x97, 0x5b, 0x37, 0x2f, 0x0d, 539 - 0xbd, 0x42, 0x4b, 0x69, 0xa1, 0x82, }, 540 - { 0x12, 0x8c, 0x6d, 0x52, 0x08, 0xef, 0x74, 0xb2, 0xe6, 0xaa, 0xd3, 0xb0, 541 - 0x26, 0xb0, 0xd9, 0x94, 0xb6, 0x11, 0x45, 0x0e, 0x36, 0x71, 0x14, 0x2d, 542 - 0x41, 0x8c, 0x21, 0x53, 0x31, 0xe9, 0x68, }, 543 - { 0xee, 0xea, 0x0d, 0x89, 0x47, 0x7e, 0x72, 0xd1, 0xd8, 0xce, 0x58, 0x4c, 544 - 0x94, 0x1f, 0x0d, 0x51, 0x08, 0xa3, 0xb6, 0x3d, 0xe7, 0x82, 0x46, 0x92, 545 - 0xd6, 0x98, 0x6b, 0x07, 0x10, 0x65, 0x52, 0x65, }, 546 - }; 547 - 548 - static bool __init noinline_for_stack blake2s_digest_test(void) 549 - { 550 - u8 key[BLAKE2S_KEY_SIZE]; 551 - u8 buf[ARRAY_SIZE(blake2s_testvecs)]; 552 - u8 hash[BLAKE2S_HASH_SIZE]; 553 - struct blake2s_state state; 554 - bool success = true; 555 - int i, l; 556 - 557 - key[0] = key[1] = 1; 558 - for (i = 2; i < sizeof(key); ++i) 559 - key[i] = key[i - 2] + key[i - 1]; 560 - 561 - for (i = 0; i < sizeof(buf); ++i) 562 - buf[i] = (u8)i; 563 - 564 - for (i = l = 0; i < ARRAY_SIZE(blake2s_testvecs); l = (l + 37) % ++i) { 565 - int outlen = 1 + i % BLAKE2S_HASH_SIZE; 566 - int keylen = (13 * i) % (BLAKE2S_KEY_SIZE + 1); 567 - 568 - blake2s(hash, buf, key + BLAKE2S_KEY_SIZE - keylen, outlen, i, 569 - keylen); 570 - if (memcmp(hash, blake2s_testvecs[i], outlen)) { 571 - pr_err("blake2s self-test %d: FAIL\n", i + 1); 572 - success = false; 573 - } 574 - 575 - if (!keylen) 576 - blake2s_init(&state, outlen); 577 - else 578 - blake2s_init_key(&state, outlen, 579 - key + BLAKE2S_KEY_SIZE - keylen, 580 - keylen); 581 - 582 - blake2s_update(&state, buf, l); 583 - blake2s_update(&state, buf + l, i - l); 584 - blake2s_final(&state, hash); 585 - if (memcmp(hash, blake2s_testvecs[i], outlen)) { 586 - pr_err("blake2s init/update/final self-test %d: FAIL\n", 587 - i + 1); 588 - success = false; 589 - } 590 - } 591 - 592 - return success; 593 - } 594 - 595 - static bool __init noinline_for_stack blake2s_random_test(void) 596 - { 597 - struct blake2s_state state; 598 - bool success = true; 599 - int i, l; 600 - 601 - for (i = 0; i < 32; ++i) { 602 - enum { TEST_ALIGNMENT = 16 }; 603 - u8 blocks[BLAKE2S_BLOCK_SIZE * 2 + TEST_ALIGNMENT - 1] 604 - __aligned(TEST_ALIGNMENT); 605 - u8 *unaligned_block = blocks + BLAKE2S_BLOCK_SIZE; 606 - struct blake2s_state state1, state2; 607 - 608 - get_random_bytes(blocks, sizeof(blocks)); 609 - get_random_bytes(&state, sizeof(state)); 610 - 611 - #if defined(CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC) && \ 612 - defined(CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S) 613 - memcpy(&state1, &state, sizeof(state1)); 614 - memcpy(&state2, &state, sizeof(state2)); 615 - blake2s_compress(&state1, blocks, 2, BLAKE2S_BLOCK_SIZE); 616 - blake2s_compress_generic(&state2, blocks, 2, BLAKE2S_BLOCK_SIZE); 617 - if (memcmp(&state1, &state2, sizeof(state1))) { 618 - pr_err("blake2s random compress self-test %d: FAIL\n", 619 - i + 1); 620 - success = false; 621 - } 622 - #endif 623 - 624 - memcpy(&state1, &state, sizeof(state1)); 625 - blake2s_compress(&state1, blocks, 1, BLAKE2S_BLOCK_SIZE); 626 - for (l = 1; l < TEST_ALIGNMENT; ++l) { 627 - memcpy(unaligned_block + l, blocks, 628 - BLAKE2S_BLOCK_SIZE); 629 - memcpy(&state2, &state, sizeof(state2)); 630 - blake2s_compress(&state2, unaligned_block + l, 1, 631 - BLAKE2S_BLOCK_SIZE); 632 - if (memcmp(&state1, &state2, sizeof(state1))) { 633 - pr_err("blake2s random compress align %d self-test %d: FAIL\n", 634 - l, i + 1); 635 - success = false; 636 - } 637 - } 638 - } 639 - 640 - return success; 641 - } 642 - 643 - bool __init blake2s_selftest(void) 644 - { 645 - bool success; 646 - 647 - success = blake2s_digest_test(); 648 - success &= blake2s_random_test(); 649 - 650 - return success; 651 - }
-10
lib/crypto/blake2s.c
··· 11 11 #include <crypto/internal/blake2s.h> 12 12 #include <linux/bug.h> 13 13 #include <linux/export.h> 14 - #include <linux/init.h> 15 14 #include <linux/kernel.h> 16 15 #include <linux/module.h> 17 16 #include <linux/string.h> ··· 58 59 } 59 60 EXPORT_SYMBOL(blake2s_final); 60 61 61 - static int __init blake2s_mod_init(void) 62 - { 63 - if (IS_ENABLED(CONFIG_CRYPTO_SELFTESTS) && 64 - WARN_ON(!blake2s_selftest())) 65 - return -ENODEV; 66 - return 0; 67 - } 68 - 69 - module_init(blake2s_mod_init); 70 62 MODULE_DESCRIPTION("BLAKE2s hash function"); 71 63 MODULE_AUTHOR("Jason A. Donenfeld <Jason@zx2c4.com>");