2019-11-08 13:22:28 +01:00
// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
* Copyright ( C ) 2015 - 2019 Jason A . Donenfeld < Jason @ zx2c4 . com > . All Rights Reserved .
*/
2020-11-27 16:43:18 +11:00
# include <crypto/internal/blake2s.h>
2022-05-28 21:44:07 +02:00
# include <linux/kernel.h>
# include <linux/random.h>
2019-11-08 13:22:28 +01:00
# include <linux/string.h>
/*
* blake2s_testvecs [ ] generated with the program below ( using libb2 - dev and
* libssl - dev [ OpenSSL ] )
*
* # include < blake2 . h >
* # include < stdint . h >
* # include < stdio . h >
*
* # include < openssl / evp . h >
*
* # define BLAKE2S_TESTVEC_COUNT 256
*
* static void print_vec ( const uint8_t vec [ ] , int len )
* {
* int i ;
*
* printf ( " { " ) ;
* for ( i = 0 ; i < len ; i + + ) {
* if ( i & & ( i % 12 ) = = 0 )
* printf ( " \n " ) ;
* printf ( " 0x%02x, " , vec [ i ] ) ;
* }
* printf ( " }, \n " ) ;
* }
*
* int main ( void )
* {
* uint8_t key [ BLAKE2S_KEYBYTES ] ;
* uint8_t buf [ BLAKE2S_TESTVEC_COUNT ] ;
* uint8_t hash [ BLAKE2S_OUTBYTES ] ;
* int i , j ;
*
* key [ 0 ] = key [ 1 ] = 1 ;
* for ( i = 2 ; i < BLAKE2S_KEYBYTES ; + + i )
* key [ i ] = key [ i - 2 ] + key [ i - 1 ] ;
*
* for ( i = 0 ; i < BLAKE2S_TESTVEC_COUNT ; + + i )
* buf [ i ] = ( uint8_t ) i ;
*
* printf ( " static const u8 blake2s_testvecs[][BLAKE2S_HASH_SIZE] __initconst = { \n " ) ;
*
* for ( i = 0 ; i < BLAKE2S_TESTVEC_COUNT ; + + i ) {
* int outlen = 1 + i % BLAKE2S_OUTBYTES ;
* int keylen = ( 13 * i ) % ( BLAKE2S_KEYBYTES + 1 ) ;
*
* blake2s ( hash , buf , key + BLAKE2S_KEYBYTES - keylen , outlen , i ,
* keylen ) ;
* print_vec ( hash , outlen ) ;
* }
* printf ( " }; \n \n " ) ;
*
* return 0 ;
* }
*/
static const u8 blake2s_testvecs [ ] [ BLAKE2S_HASH_SIZE ] __initconst = {
{ 0xa1 , } ,
{ 0x7c , 0x89 , } ,
{ 0x74 , 0x0e , 0xd4 , } ,
{ 0x47 , 0x0c , 0x21 , 0x15 , } ,
{ 0x18 , 0xd6 , 0x9c , 0xa6 , 0xc4 , } ,
{ 0x13 , 0x5d , 0x16 , 0x63 , 0x2e , 0xf9 , } ,
{ 0x2c , 0xb5 , 0x04 , 0xb7 , 0x99 , 0xe2 , 0x73 , } ,
{ 0x9a , 0x0f , 0xd2 , 0x39 , 0xd6 , 0x68 , 0x1b , 0x92 , } ,
{ 0xc8 , 0xde , 0x7a , 0xea , 0x2f , 0xf4 , 0xd2 , 0xe3 , 0x2b , } ,
{ 0x5b , 0xf9 , 0x43 , 0x52 , 0x0c , 0x12 , 0xba , 0xb5 , 0x93 , 0x9f , } ,
{ 0xc6 , 0x2c , 0x4e , 0x80 , 0xfc , 0x32 , 0x5b , 0x33 , 0xb8 , 0xb8 , 0x0a , } ,
{ 0xa7 , 0x5c , 0xfd , 0x3a , 0xcc , 0xbf , 0x90 , 0xca , 0xb7 , 0x97 , 0xde , 0xd8 , } ,
{ 0x66 , 0xca , 0x3c , 0xc4 , 0x19 , 0xef , 0x92 , 0x66 , 0x3f , 0x21 , 0x8f , 0xda ,
0xb7 , } ,
{ 0xba , 0xe5 , 0xbb , 0x30 , 0x25 , 0x94 , 0x6d , 0xc3 , 0x89 , 0x09 , 0xc4 , 0x25 ,
0x52 , 0x3e , } ,
{ 0xa2 , 0xef , 0x0e , 0x52 , 0x0b , 0x5f , 0xa2 , 0x01 , 0x6d , 0x0a , 0x25 , 0xbc ,
0x57 , 0xe2 , 0x27 , } ,
{ 0x4f , 0xe0 , 0xf9 , 0x52 , 0x12 , 0xda , 0x84 , 0xb7 , 0xab , 0xae , 0xb0 , 0xa6 ,
0x47 , 0x2a , 0xc7 , 0xf5 , } ,
{ 0x56 , 0xe7 , 0xa8 , 0x1c , 0x4c , 0xca , 0xed , 0x90 , 0x31 , 0xec , 0x87 , 0x43 ,
0xe7 , 0x72 , 0x08 , 0xec , 0xbe , } ,
{ 0x7e , 0xdf , 0x80 , 0x1c , 0x93 , 0x33 , 0xfd , 0x53 , 0x44 , 0xba , 0xfd , 0x96 ,
0xe1 , 0xbb , 0xb5 , 0x65 , 0xa5 , 0x00 , } ,
{ 0xec , 0x6b , 0xed , 0xf7 , 0x7b , 0x62 , 0x1d , 0x7d , 0xf4 , 0x82 , 0xf3 , 0x1e ,
0x18 , 0xff , 0x2b , 0xc4 , 0x06 , 0x20 , 0x2a , } ,
{ 0x74 , 0x98 , 0xd7 , 0x68 , 0x63 , 0xed , 0x87 , 0xe4 , 0x5d , 0x8d , 0x9e , 0x1d ,
0xfd , 0x2a , 0xbb , 0x86 , 0xac , 0xe9 , 0x2a , 0x89 , } ,
{ 0x89 , 0xc3 , 0x88 , 0xce , 0x2b , 0x33 , 0x1e , 0x10 , 0xd1 , 0x37 , 0x20 , 0x86 ,
0x28 , 0x43 , 0x70 , 0xd9 , 0xfb , 0x96 , 0xd9 , 0xb5 , 0xd3 , } ,
{ 0xcb , 0x56 , 0x74 , 0x41 , 0x8d , 0x80 , 0x01 , 0x9a , 0x6b , 0x38 , 0xe1 , 0x41 ,
0xad , 0x9c , 0x62 , 0x74 , 0xce , 0x35 , 0xd5 , 0x6c , 0x89 , 0x6e , } ,
{ 0x79 , 0xaf , 0x94 , 0x59 , 0x99 , 0x26 , 0xe1 , 0xc9 , 0x34 , 0xfe , 0x7c , 0x22 ,
0xf7 , 0x43 , 0xd7 , 0x65 , 0xd4 , 0x48 , 0x18 , 0xac , 0x3d , 0xfd , 0x93 , } ,
{ 0x85 , 0x0d , 0xff , 0xb8 , 0x3e , 0x87 , 0x41 , 0xb0 , 0x95 , 0xd3 , 0x3d , 0x00 ,
0x47 , 0x55 , 0x9e , 0xd2 , 0x69 , 0xea , 0xbf , 0xe9 , 0x7a , 0x2d , 0x61 , 0x45 , } ,
{ 0x03 , 0xe0 , 0x85 , 0xec , 0x54 , 0xb5 , 0x16 , 0x53 , 0xa8 , 0xc4 , 0x71 , 0xe9 ,
0x6a , 0xe7 , 0xcb , 0xc4 , 0x15 , 0x02 , 0xfc , 0x34 , 0xa4 , 0xa4 , 0x28 , 0x13 ,
0xd1 , } ,
{ 0xe3 , 0x34 , 0x4b , 0xe1 , 0xd0 , 0x4b , 0x55 , 0x61 , 0x8f , 0xc0 , 0x24 , 0x05 ,
0xe6 , 0xe0 , 0x3d , 0x70 , 0x24 , 0x4d , 0xda , 0xb8 , 0x91 , 0x05 , 0x29 , 0x07 ,
0x01 , 0x3e , } ,
{ 0x61 , 0xff , 0x01 , 0x72 , 0xb1 , 0x4d , 0xf6 , 0xfe , 0xd1 , 0xd1 , 0x08 , 0x74 ,
0xe6 , 0x91 , 0x44 , 0xeb , 0x61 , 0xda , 0x40 , 0xaf , 0xfc , 0x8c , 0x91 , 0x6b ,
0xec , 0x13 , 0xed , } ,
{ 0xd4 , 0x40 , 0xd2 , 0xa0 , 0x7f , 0xc1 , 0x58 , 0x0c , 0x85 , 0xa0 , 0x86 , 0xc7 ,
0x86 , 0xb9 , 0x61 , 0xc9 , 0xea , 0x19 , 0x86 , 0x1f , 0xab , 0x07 , 0xce , 0x37 ,
0x72 , 0x67 , 0x09 , 0xfc , } ,
{ 0x9e , 0xf8 , 0x18 , 0x67 , 0x93 , 0x10 , 0x9b , 0x39 , 0x75 , 0xe8 , 0x8b , 0x38 ,
0x82 , 0x7d , 0xb8 , 0xb7 , 0xa5 , 0xaf , 0xe6 , 0x6a , 0x22 , 0x5e , 0x1f , 0x9c ,
0x95 , 0x29 , 0x19 , 0xf2 , 0x4b , } ,
{ 0xc8 , 0x62 , 0x25 , 0xf5 , 0x98 , 0xc9 , 0xea , 0xe5 , 0x29 , 0x3a , 0xd3 , 0x22 ,
0xeb , 0xeb , 0x07 , 0x7c , 0x15 , 0x07 , 0xee , 0x15 , 0x61 , 0xbb , 0x05 , 0x30 ,
0x99 , 0x7f , 0x11 , 0xf6 , 0x0a , 0x1d , } ,
{ 0x68 , 0x70 , 0xf7 , 0x90 , 0xa1 , 0x8b , 0x1f , 0x0f , 0xbb , 0xce , 0xd2 , 0x0e ,
0x33 , 0x1f , 0x7f , 0xa9 , 0x78 , 0xa8 , 0xa6 , 0x81 , 0x66 , 0xab , 0x8d , 0xcd ,
0x58 , 0x55 , 0x3a , 0x0b , 0x7a , 0xdb , 0xb5 , } ,
{ 0xdd , 0x35 , 0xd2 , 0xb4 , 0xf6 , 0xc7 , 0xea , 0xab , 0x64 , 0x24 , 0x4e , 0xfe ,
0xe5 , 0x3d , 0x4e , 0x95 , 0x8b , 0x6d , 0x6c , 0xbc , 0xb0 , 0xf8 , 0x88 , 0x61 ,
0x09 , 0xb7 , 0x78 , 0xa3 , 0x31 , 0xfe , 0xd9 , 0x2f , } ,
{ 0x0a , } ,
{ 0x6e , 0xd4 , } ,
{ 0x64 , 0xe9 , 0xd1 , } ,
{ 0x30 , 0xdd , 0x71 , 0xef , } ,
{ 0x11 , 0xb5 , 0x0c , 0x87 , 0xc9 , } ,
{ 0x06 , 0x1c , 0x6d , 0x04 , 0x82 , 0xd0 , } ,
{ 0x5c , 0x42 , 0x0b , 0xee , 0xc5 , 0x9c , 0xb2 , } ,
{ 0xe8 , 0x29 , 0xd6 , 0xb4 , 0x5d , 0xf7 , 0x2b , 0x93 , } ,
{ 0x18 , 0xca , 0x27 , 0x72 , 0x43 , 0x39 , 0x16 , 0xbc , 0x6a , } ,
{ 0x39 , 0x8f , 0xfd , 0x64 , 0xf5 , 0x57 , 0x23 , 0xb0 , 0x45 , 0xf8 , } ,
{ 0xbb , 0x3a , 0x78 , 0x6b , 0x02 , 0x1d , 0x0b , 0x16 , 0xe3 , 0xb2 , 0x9a , } ,
{ 0xb8 , 0xb4 , 0x0b , 0xe5 , 0xd4 , 0x1d , 0x0d , 0x85 , 0x49 , 0x91 , 0x35 , 0xfa , } ,
{ 0x6d , 0x48 , 0x2a , 0x0c , 0x42 , 0x08 , 0xbd , 0xa9 , 0x78 , 0x6f , 0x18 , 0xaf ,
0xe2 , } ,
{ 0x10 , 0x45 , 0xd4 , 0x58 , 0x88 , 0xec , 0x4e , 0x1e , 0xf6 , 0x14 , 0x92 , 0x64 ,
0x7e , 0xb0 , } ,
{ 0x8b , 0x0b , 0x95 , 0xee , 0x92 , 0xc6 , 0x3b , 0x91 , 0xf1 , 0x1e , 0xeb , 0x51 ,
0x98 , 0x0a , 0x8d , } ,
{ 0xa3 , 0x50 , 0x4d , 0xa5 , 0x1d , 0x03 , 0x68 , 0xe9 , 0x57 , 0x78 , 0xd6 , 0x04 ,
0xf1 , 0xc3 , 0x94 , 0xd8 , } ,
{ 0xb8 , 0x66 , 0x6e , 0xdd , 0x46 , 0x15 , 0xae , 0x3d , 0x83 , 0x7e , 0xcf , 0xe7 ,
0x2c , 0xe8 , 0x8f , 0xc7 , 0x34 , } ,
{ 0x2e , 0xc0 , 0x1f , 0x29 , 0xea , 0xf6 , 0xb9 , 0xe2 , 0xc2 , 0x93 , 0xeb , 0x41 ,
0x0d , 0xf0 , 0x0a , 0x13 , 0x0e , 0xa2 , } ,
{ 0x71 , 0xb8 , 0x33 , 0xa9 , 0x1b , 0xac , 0xf1 , 0xb5 , 0x42 , 0x8f , 0x5e , 0x81 ,
0x34 , 0x43 , 0xb7 , 0xa4 , 0x18 , 0x5c , 0x47 , } ,
{ 0xda , 0x45 , 0xb8 , 0x2e , 0x82 , 0x1e , 0xc0 , 0x59 , 0x77 , 0x9d , 0xfa , 0xb4 ,
0x1c , 0x5e , 0xa0 , 0x2b , 0x33 , 0x96 , 0x5a , 0x58 , } ,
{ 0xe3 , 0x09 , 0x05 , 0xa9 , 0xeb , 0x48 , 0x13 , 0xad , 0x71 , 0x88 , 0x81 , 0x9a ,
0x3e , 0x2c , 0xe1 , 0x23 , 0x99 , 0x13 , 0x35 , 0x9f , 0xb5 , } ,
{ 0xb7 , 0x86 , 0x2d , 0x16 , 0xe1 , 0x04 , 0x00 , 0x47 , 0x47 , 0x61 , 0x31 , 0xfb ,
0x14 , 0xac , 0xd8 , 0xe9 , 0xe3 , 0x49 , 0xbd , 0xf7 , 0x9c , 0x3f , } ,
{ 0x7f , 0xd9 , 0x95 , 0xa8 , 0xa7 , 0xa0 , 0xcc , 0xba , 0xef , 0xb1 , 0x0a , 0xa9 ,
0x21 , 0x62 , 0x08 , 0x0f , 0x1b , 0xff , 0x7b , 0x9d , 0xae , 0xb2 , 0x95 , } ,
{ 0x85 , 0x99 , 0xea , 0x33 , 0xe0 , 0x56 , 0xff , 0x13 , 0xc6 , 0x61 , 0x8c , 0xf9 ,
0x57 , 0x05 , 0x03 , 0x11 , 0xf9 , 0xfb , 0x3a , 0xf7 , 0xce , 0xbb , 0x52 , 0x30 , } ,
{ 0xb2 , 0x72 , 0x9c , 0xf8 , 0x77 , 0x4e , 0x8f , 0x6b , 0x01 , 0x6c , 0xff , 0x4e ,
0x4f , 0x02 , 0xd2 , 0xbc , 0xeb , 0x51 , 0x28 , 0x99 , 0x50 , 0xab , 0xc4 , 0x42 ,
0xe3 , } ,
{ 0x8b , 0x0a , 0xb5 , 0x90 , 0x8f , 0xf5 , 0x7b , 0xdd , 0xba , 0x47 , 0x37 , 0xc9 ,
0x2a , 0xd5 , 0x4b , 0x25 , 0x08 , 0x8b , 0x02 , 0x17 , 0xa7 , 0x9e , 0x6b , 0x6e ,
0xe3 , 0x90 , } ,
{ 0x90 , 0xdd , 0xf7 , 0x75 , 0xa7 , 0xa3 , 0x99 , 0x5e , 0x5b , 0x7d , 0x75 , 0xc3 ,
0x39 , 0x6b , 0xa0 , 0xe2 , 0x44 , 0x53 , 0xb1 , 0x9e , 0xc8 , 0xf1 , 0x77 , 0x10 ,
0x58 , 0x06 , 0x9a , } ,
{ 0x99 , 0x52 , 0xf0 , 0x49 , 0xa8 , 0x8c , 0xec , 0xa6 , 0x97 , 0x32 , 0x13 , 0xb5 ,
0xf7 , 0xa3 , 0x8e , 0xfb , 0x4b , 0x59 , 0x31 , 0x3d , 0x01 , 0x59 , 0x98 , 0x5d ,
0x53 , 0x03 , 0x1a , 0x39 , } ,
{ 0x9f , 0xe0 , 0xc2 , 0xe5 , 0x5d , 0x93 , 0xd6 , 0x9b , 0x47 , 0x8f , 0x9b , 0xe0 ,
0x26 , 0x35 , 0x84 , 0x20 , 0x1d , 0xc5 , 0x53 , 0x10 , 0x0f , 0x22 , 0xb9 , 0xb5 ,
0xd4 , 0x36 , 0xb1 , 0xac , 0x73 , } ,
{ 0x30 , 0x32 , 0x20 , 0x3b , 0x10 , 0x28 , 0xec , 0x1f , 0x4f , 0x9b , 0x47 , 0x59 ,
0xeb , 0x7b , 0xee , 0x45 , 0xfb , 0x0c , 0x49 , 0xd8 , 0x3d , 0x69 , 0xbd , 0x90 ,
0x2c , 0xf0 , 0x9e , 0x8d , 0xbf , 0xd5 , } ,
{ 0x2a , 0x37 , 0x73 , 0x7f , 0xf9 , 0x96 , 0x19 , 0xaa , 0x25 , 0xd8 , 0x13 , 0x28 ,
0x01 , 0x29 , 0x89 , 0xdf , 0x6e , 0x0c , 0x9b , 0x43 , 0x44 , 0x51 , 0xe9 , 0x75 ,
0x26 , 0x0c , 0xb7 , 0x87 , 0x66 , 0x0b , 0x5f , } ,
{ 0x23 , 0xdf , 0x96 , 0x68 , 0x91 , 0x86 , 0xd0 , 0x93 , 0x55 , 0x33 , 0x24 , 0xf6 ,
0xba , 0x08 , 0x75 , 0x5b , 0x59 , 0x11 , 0x69 , 0xb8 , 0xb9 , 0xe5 , 0x2c , 0x77 ,
0x02 , 0xf6 , 0x47 , 0xee , 0x81 , 0xdd , 0xb9 , 0x06 , } ,
{ 0x9d , } ,
{ 0x9d , 0x7d , } ,
{ 0xfd , 0xc3 , 0xda , } ,
{ 0xe8 , 0x82 , 0xcd , 0x21 , } ,
{ 0xc3 , 0x1d , 0x42 , 0x4c , 0x74 , } ,
{ 0xe9 , 0xda , 0xf1 , 0xa2 , 0xe5 , 0x7c , } ,
{ 0x52 , 0xb8 , 0x6f , 0x81 , 0x5c , 0x3a , 0x4c , } ,
{ 0x5b , 0x39 , 0x26 , 0xfc , 0x92 , 0x5e , 0xe0 , 0x49 , } ,
{ 0x59 , 0xe4 , 0x7c , 0x93 , 0x1c , 0xf9 , 0x28 , 0x93 , 0xde , } ,
{ 0xde , 0xdf , 0xb2 , 0x43 , 0x61 , 0x0b , 0x86 , 0x16 , 0x4c , 0x2e , } ,
{ 0x14 , 0x8f , 0x75 , 0x51 , 0xaf , 0xb9 , 0xee , 0x51 , 0x5a , 0xae , 0x23 , } ,
{ 0x43 , 0x5f , 0x50 , 0xd5 , 0x70 , 0xb0 , 0x5b , 0x87 , 0xf5 , 0xd9 , 0xb3 , 0x6d , } ,
{ 0x66 , 0x0a , 0x64 , 0x93 , 0x79 , 0x71 , 0x94 , 0x40 , 0xb7 , 0x68 , 0x2d , 0xd3 ,
0x63 , } ,
{ 0x15 , 0x00 , 0xc4 , 0x0c , 0x7d , 0x1b , 0x10 , 0xa9 , 0x73 , 0x1b , 0x90 , 0x6f ,
0xe6 , 0xa9 , } ,
{ 0x34 , 0x75 , 0xf3 , 0x86 , 0x8f , 0x56 , 0xcf , 0x2a , 0x0a , 0xf2 , 0x62 , 0x0a ,
0xf6 , 0x0e , 0x20 , } ,
{ 0xb1 , 0xde , 0xc9 , 0xf5 , 0xdb , 0xf3 , 0x2f , 0x4c , 0xd6 , 0x41 , 0x7d , 0x39 ,
0x18 , 0x3e , 0xc7 , 0xc3 , } ,
{ 0xc5 , 0x89 , 0xb2 , 0xf8 , 0xb8 , 0xc0 , 0xa3 , 0xb9 , 0x3b , 0x10 , 0x6d , 0x7c ,
0x92 , 0xfc , 0x7f , 0x34 , 0x41 , } ,
{ 0xc4 , 0xd8 , 0xef , 0xba , 0xef , 0xd2 , 0xaa , 0xc5 , 0x6c , 0x8e , 0x3e , 0xbb ,
0x12 , 0xfc , 0x0f , 0x72 , 0xbf , 0x0f , } ,
{ 0xdd , 0x91 , 0xd1 , 0x15 , 0x9e , 0x7d , 0xf8 , 0xc1 , 0xb9 , 0x14 , 0x63 , 0x96 ,
0xb5 , 0xcb , 0x83 , 0x1d , 0x35 , 0x1c , 0xec , } ,
{ 0xa9 , 0xf8 , 0x52 , 0xc9 , 0x67 , 0x76 , 0x2b , 0xad , 0xfb , 0xd8 , 0x3a , 0xa6 ,
0x74 , 0x02 , 0xae , 0xb8 , 0x25 , 0x2c , 0x63 , 0x49 , } ,
{ 0x77 , 0x1f , 0x66 , 0x70 , 0xfd , 0x50 , 0x29 , 0xaa , 0xeb , 0xdc , 0xee , 0xba ,
0x75 , 0x98 , 0xdc , 0x93 , 0x12 , 0x3f , 0xdc , 0x7c , 0x38 , } ,
{ 0xe2 , 0xe1 , 0x89 , 0x5c , 0x37 , 0x38 , 0x6a , 0xa3 , 0x40 , 0xac , 0x3f , 0xb0 ,
0xca , 0xfc , 0xa7 , 0xf3 , 0xea , 0xf9 , 0x0f , 0x5d , 0x8e , 0x39 , } ,
{ 0x0f , 0x67 , 0xc8 , 0x38 , 0x01 , 0xb1 , 0xb7 , 0xb8 , 0xa2 , 0xe7 , 0x0a , 0x6d ,
0xd2 , 0x63 , 0x69 , 0x9e , 0xcc , 0xf0 , 0xf2 , 0xbe , 0x9b , 0x98 , 0xdd , } ,
{ 0x13 , 0xe1 , 0x36 , 0x30 , 0xfe , 0xc6 , 0x01 , 0x8a , 0xa1 , 0x63 , 0x96 , 0x59 ,
0xc2 , 0xa9 , 0x68 , 0x3f , 0x58 , 0xd4 , 0x19 , 0x0c , 0x40 , 0xf3 , 0xde , 0x02 , } ,
{ 0xa3 , 0x9e , 0xce , 0xda , 0x42 , 0xee , 0x8c , 0x6c , 0x5a , 0x7d , 0xdc , 0x89 ,
0x02 , 0x77 , 0xdd , 0xe7 , 0x95 , 0xbb , 0xff , 0x0d , 0xa4 , 0xb5 , 0x38 , 0x1e ,
0xaf , } ,
{ 0x9a , 0xf6 , 0xb5 , 0x9a , 0x4f , 0xa9 , 0x4f , 0x2c , 0x35 , 0x3c , 0x24 , 0xdc ,
0x97 , 0x6f , 0xd9 , 0xa1 , 0x7d , 0x1a , 0x85 , 0x0b , 0xf5 , 0xda , 0x2e , 0xe7 ,
0xb1 , 0x1d , } ,
{ 0x84 , 0x1e , 0x8e , 0x3d , 0x45 , 0xa5 , 0xf2 , 0x27 , 0xf3 , 0x31 , 0xfe , 0xb9 ,
0xfb , 0xc5 , 0x45 , 0x99 , 0x99 , 0xdd , 0x93 , 0x43 , 0x02 , 0xee , 0x58 , 0xaf ,
0xee , 0x6a , 0xbe , } ,
{ 0x07 , 0x2f , 0xc0 , 0xa2 , 0x04 , 0xc4 , 0xab , 0x7c , 0x26 , 0xbb , 0xa8 , 0xd8 ,
0xe3 , 0x1c , 0x75 , 0x15 , 0x64 , 0x5d , 0x02 , 0x6a , 0xf0 , 0x86 , 0xe9 , 0xcd ,
0x5c , 0xef , 0xa3 , 0x25 , } ,
{ 0x2f , 0x3b , 0x1f , 0xb5 , 0x91 , 0x8f , 0x86 , 0xe0 , 0xdc , 0x31 , 0x48 , 0xb6 ,
0xa1 , 0x8c , 0xfd , 0x75 , 0xbb , 0x7d , 0x3d , 0xc1 , 0xf0 , 0x10 , 0x9a , 0xd8 ,
0x4b , 0x0e , 0xe3 , 0x94 , 0x9f , } ,
{ 0x29 , 0xbb , 0x8f , 0x6c , 0xd1 , 0xf2 , 0xb6 , 0xaf , 0xe5 , 0xe3 , 0x2d , 0xdc ,
0x6f , 0xa4 , 0x53 , 0x88 , 0xd8 , 0xcf , 0x4d , 0x45 , 0x42 , 0x62 , 0xdb , 0xdf ,
0xf8 , 0x45 , 0xc2 , 0x13 , 0xec , 0x35 , } ,
{ 0x06 , 0x3c , 0xe3 , 0x2c , 0x15 , 0xc6 , 0x43 , 0x03 , 0x81 , 0xfb , 0x08 , 0x76 ,
0x33 , 0xcb , 0x02 , 0xc1 , 0xba , 0x33 , 0xe5 , 0xe0 , 0xd1 , 0x92 , 0xa8 , 0x46 ,
0x28 , 0x3f , 0x3e , 0x9d , 0x2c , 0x44 , 0x54 , } ,
{ 0xea , 0xbb , 0x96 , 0xf8 , 0xd1 , 0x8b , 0x04 , 0x11 , 0x40 , 0x78 , 0x42 , 0x02 ,
0x19 , 0xd1 , 0xbc , 0x65 , 0x92 , 0xd3 , 0xc3 , 0xd6 , 0xd9 , 0x19 , 0xe7 , 0xc3 ,
0x40 , 0x97 , 0xbd , 0xd4 , 0xed , 0xfa , 0x5e , 0x28 , } ,
{ 0x02 , } ,
{ 0x52 , 0xa8 , } ,
{ 0x38 , 0x25 , 0x0d , } ,
{ 0xe3 , 0x04 , 0xd4 , 0x92 , } ,
{ 0x97 , 0xdb , 0xf7 , 0x81 , 0xca , } ,
{ 0x8a , 0x56 , 0x9d , 0x62 , 0x56 , 0xcc , } ,
{ 0xa1 , 0x8e , 0x3c , 0x72 , 0x8f , 0x63 , 0x03 , } ,
{ 0xf7 , 0xf3 , 0x39 , 0x09 , 0x0a , 0xa1 , 0xbb , 0x23 , } ,
{ 0x6b , 0x03 , 0xc0 , 0xe9 , 0xd9 , 0x83 , 0x05 , 0x22 , 0x01 , } ,
{ 0x1b , 0x4b , 0xf5 , 0xd6 , 0x4f , 0x05 , 0x75 , 0x91 , 0x4c , 0x7f , } ,
{ 0x4c , 0x8c , 0x25 , 0x20 , 0x21 , 0xcb , 0xc2 , 0x4b , 0x3a , 0x5b , 0x8d , } ,
{ 0x56 , 0xe2 , 0x77 , 0xa0 , 0xb6 , 0x9f , 0x81 , 0xec , 0x83 , 0x75 , 0xc4 , 0xf9 , } ,
{ 0x71 , 0x70 , 0x0f , 0xad , 0x4d , 0x35 , 0x81 , 0x9d , 0x88 , 0x69 , 0xf9 , 0xaa ,
0xd3 , } ,
{ 0x50 , 0x6e , 0x86 , 0x6e , 0x43 , 0xc0 , 0xc2 , 0x44 , 0xc2 , 0xe2 , 0xa0 , 0x1c ,
0xb7 , 0x9a , } ,
{ 0xe4 , 0x7e , 0x72 , 0xc6 , 0x12 , 0x8e , 0x7c , 0xfc , 0xbd , 0xe2 , 0x08 , 0x31 ,
0x3d , 0x47 , 0x3d , } ,
{ 0x08 , 0x97 , 0x5b , 0x80 , 0xae , 0xc4 , 0x1d , 0x50 , 0x77 , 0xdf , 0x1f , 0xd0 ,
0x24 , 0xf0 , 0x17 , 0xc0 , } ,
{ 0x01 , 0xb6 , 0x29 , 0xf4 , 0xaf , 0x78 , 0x5f , 0xb6 , 0x91 , 0xdd , 0x76 , 0x76 ,
0xd2 , 0xfd , 0x0c , 0x47 , 0x40 , } ,
{ 0xa1 , 0xd8 , 0x09 , 0x97 , 0x7a , 0xa6 , 0xc8 , 0x94 , 0xf6 , 0x91 , 0x7b , 0xae ,
0x2b , 0x9f , 0x0d , 0x83 , 0x48 , 0xf7 , } ,
{ 0x12 , 0xd5 , 0x53 , 0x7d , 0x9a , 0xb0 , 0xbe , 0xd9 , 0xed , 0xe9 , 0x9e , 0xee ,
0x61 , 0x5b , 0x42 , 0xf2 , 0xc0 , 0x73 , 0xc0 , } ,
{ 0xd5 , 0x77 , 0xd6 , 0x5c , 0x6e , 0xa5 , 0x69 , 0x2b , 0x3b , 0x8c , 0xd6 , 0x7d ,
0x1d , 0xbe , 0x2c , 0xa1 , 0x02 , 0x21 , 0xcd , 0x29 , } ,
{ 0xa4 , 0x98 , 0x80 , 0xca , 0x22 , 0xcf , 0x6a , 0xab , 0x5e , 0x40 , 0x0d , 0x61 ,
0x08 , 0x21 , 0xef , 0xc0 , 0x6c , 0x52 , 0xb4 , 0xb0 , 0x53 , } ,
{ 0xbf , 0xaf , 0x8f , 0x3b , 0x7a , 0x97 , 0x33 , 0xe5 , 0xca , 0x07 , 0x37 , 0xfd ,
0x15 , 0xdf , 0xce , 0x26 , 0x2a , 0xb1 , 0xa7 , 0x0b , 0xb3 , 0xac , } ,
{ 0x16 , 0x22 , 0xe1 , 0xbc , 0x99 , 0x4e , 0x01 , 0xf0 , 0xfa , 0xff , 0x8f , 0xa5 ,
0x0c , 0x61 , 0xb0 , 0xad , 0xcc , 0xb1 , 0xe1 , 0x21 , 0x46 , 0xfa , 0x2e , } ,
{ 0x11 , 0x5b , 0x0b , 0x2b , 0xe6 , 0x14 , 0xc1 , 0xd5 , 0x4d , 0x71 , 0x5e , 0x17 ,
0xea , 0x23 , 0xdd , 0x6c , 0xbd , 0x1d , 0xbe , 0x12 , 0x1b , 0xee , 0x4c , 0x1a , } ,
{ 0x40 , 0x88 , 0x22 , 0xf3 , 0x20 , 0x6c , 0xed , 0xe1 , 0x36 , 0x34 , 0x62 , 0x2c ,
0x98 , 0x83 , 0x52 , 0xe2 , 0x25 , 0xee , 0xe9 , 0xf5 , 0xe1 , 0x17 , 0xf0 , 0x5c ,
0xae , } ,
{ 0xc3 , 0x76 , 0x37 , 0xde , 0x95 , 0x8c , 0xca , 0x2b , 0x0c , 0x23 , 0xe7 , 0xb5 ,
0x38 , 0x70 , 0x61 , 0xcc , 0xff , 0xd3 , 0x95 , 0x7b , 0xf3 , 0xff , 0x1f , 0x9d ,
0x59 , 0x00 , } ,
{ 0x0c , 0x19 , 0x52 , 0x05 , 0x22 , 0x53 , 0xcb , 0x48 , 0xd7 , 0x10 , 0x0e , 0x7e ,
0x14 , 0x69 , 0xb5 , 0xa2 , 0x92 , 0x43 , 0xa3 , 0x9e , 0x4b , 0x8f , 0x51 , 0x2c ,
0x5a , 0x2c , 0x3b , } ,
{ 0xe1 , 0x9d , 0x70 , 0x70 , 0x28 , 0xec , 0x86 , 0x40 , 0x55 , 0x33 , 0x56 , 0xda ,
0x88 , 0xca , 0xee , 0xc8 , 0x6a , 0x20 , 0xb1 , 0xe5 , 0x3d , 0x57 , 0xf8 , 0x3c ,
0x10 , 0x07 , 0x2a , 0xc4 , } ,
{ 0x0b , 0xae , 0xf1 , 0xc4 , 0x79 , 0xee , 0x1b , 0x3d , 0x27 , 0x35 , 0x8d , 0x14 ,
0xd6 , 0xae , 0x4e , 0x3c , 0xe9 , 0x53 , 0x50 , 0xb5 , 0xcc , 0x0c , 0xf7 , 0xdf ,
0xee , 0xa1 , 0x74 , 0xd6 , 0x71 , } ,
{ 0xe6 , 0xa4 , 0xf4 , 0x99 , 0x98 , 0xb9 , 0x80 , 0xea , 0x96 , 0x7f , 0x4f , 0x33 ,
0xcf , 0x74 , 0x25 , 0x6f , 0x17 , 0x6c , 0xbf , 0xf5 , 0x5c , 0x38 , 0xd0 , 0xff ,
0x96 , 0xcb , 0x13 , 0xf9 , 0xdf , 0xfd , } ,
{ 0xbe , 0x92 , 0xeb , 0xba , 0x44 , 0x2c , 0x24 , 0x74 , 0xd4 , 0x03 , 0x27 , 0x3c ,
0x5d , 0x5b , 0x03 , 0x30 , 0x87 , 0x63 , 0x69 , 0xe0 , 0xb8 , 0x94 , 0xf4 , 0x44 ,
0x7e , 0xad , 0xcd , 0x20 , 0x12 , 0x16 , 0x79 , } ,
{ 0x30 , 0xf1 , 0xc4 , 0x8e , 0x05 , 0x90 , 0x2a , 0x97 , 0x63 , 0x94 , 0x46 , 0xff ,
0xce , 0xd8 , 0x67 , 0xa7 , 0xac , 0x33 , 0x8c , 0x95 , 0xb7 , 0xcd , 0xa3 , 0x23 ,
0x98 , 0x9d , 0x76 , 0x6c , 0x9d , 0xa8 , 0xd6 , 0x8a , } ,
{ 0xbe , } ,
{ 0x17 , 0x6c , } ,
{ 0x1a , 0x42 , 0x4f , } ,
{ 0xba , 0xaf , 0xb7 , 0x65 , } ,
{ 0xc2 , 0x63 , 0x43 , 0x6a , 0xea , } ,
{ 0xe4 , 0x4d , 0xad , 0xf2 , 0x0b , 0x02 , } ,
{ 0x04 , 0xc7 , 0xc4 , 0x7f , 0xa9 , 0x2b , 0xce , } ,
{ 0x66 , 0xf6 , 0x67 , 0xcb , 0x03 , 0x53 , 0xc8 , 0xf1 , } ,
{ 0x56 , 0xa3 , 0x60 , 0x78 , 0xc9 , 0x5f , 0x70 , 0x1b , 0x5e , } ,
{ 0x99 , 0xff , 0x81 , 0x7c , 0x13 , 0x3c , 0x29 , 0x79 , 0x4b , 0x65 , } ,
{ 0x51 , 0x10 , 0x50 , 0x93 , 0x01 , 0x93 , 0xb7 , 0x01 , 0xc9 , 0x18 , 0xb7 , } ,
{ 0x8e , 0x3c , 0x42 , 0x1e , 0x5e , 0x7d , 0xc1 , 0x50 , 0x70 , 0x1f , 0x00 , 0x98 , } ,
{ 0x5f , 0xd9 , 0x9b , 0xc8 , 0xd7 , 0xb2 , 0x72 , 0x62 , 0x1a , 0x1e , 0xba , 0x92 ,
0xe9 , } ,
{ 0x70 , 0x2b , 0xba , 0xfe , 0xad , 0x5d , 0x96 , 0x3f , 0x27 , 0xc2 , 0x41 , 0x6d ,
0xc4 , 0xb3 , } ,
{ 0xae , 0xe0 , 0xd5 , 0xd4 , 0xc7 , 0xae , 0x15 , 0x5e , 0xdc , 0xdd , 0x33 , 0x60 ,
0xd7 , 0xd3 , 0x5e , } ,
{ 0x79 , 0x8e , 0xbc , 0x9e , 0x20 , 0xb9 , 0x19 , 0x4b , 0x63 , 0x80 , 0xf3 , 0x16 ,
0xaf , 0x39 , 0xbd , 0x92 , } ,
{ 0xc2 , 0x0e , 0x85 , 0xa0 , 0x0b , 0x9a , 0xb0 , 0xec , 0xde , 0x38 , 0xd3 , 0x10 ,
0xd9 , 0xa7 , 0x66 , 0x27 , 0xcf , } ,
{ 0x0e , 0x3b , 0x75 , 0x80 , 0x67 , 0x14 , 0x0c , 0x02 , 0x90 , 0xd6 , 0xb3 , 0x02 ,
0x81 , 0xf6 , 0xa6 , 0x87 , 0xce , 0x58 , } ,
{ 0x79 , 0xb5 , 0xe9 , 0x5d , 0x52 , 0x4d , 0xf7 , 0x59 , 0xf4 , 0x2e , 0x27 , 0xdd ,
0xb3 , 0xed , 0x57 , 0x5b , 0x82 , 0xea , 0x6f , } ,
{ 0xa2 , 0x97 , 0xf5 , 0x80 , 0x02 , 0x3d , 0xde , 0xa3 , 0xf9 , 0xf6 , 0xab , 0xe3 ,
0x57 , 0x63 , 0x7b , 0x9b , 0x10 , 0x42 , 0x6f , 0xf2 , } ,
{ 0x12 , 0x7a , 0xfc , 0xb7 , 0x67 , 0x06 , 0x0c , 0x78 , 0x1a , 0xfe , 0x88 , 0x4f ,
0xc6 , 0xac , 0x52 , 0x96 , 0x64 , 0x28 , 0x97 , 0x84 , 0x06 , } ,
{ 0xc5 , 0x04 , 0x44 , 0x6b , 0xb2 , 0xa5 , 0xa4 , 0x66 , 0xe1 , 0x76 , 0xa2 , 0x51 ,
0xf9 , 0x59 , 0x69 , 0x97 , 0x56 , 0x0b , 0xbf , 0x50 , 0xb3 , 0x34 , } ,
{ 0x21 , 0x32 , 0x6b , 0x42 , 0xb5 , 0xed , 0x71 , 0x8d , 0xf7 , 0x5a , 0x35 , 0xe3 ,
0x90 , 0xe2 , 0xee , 0xaa , 0x89 , 0xf6 , 0xc9 , 0x9c , 0x4d , 0x73 , 0xf4 , } ,
{ 0x4c , 0xa6 , 0x09 , 0xf4 , 0x48 , 0xe7 , 0x46 , 0xbc , 0x49 , 0xfc , 0xe5 , 0xda ,
0xd1 , 0x87 , 0x13 , 0x17 , 0x4c , 0x59 , 0x71 , 0x26 , 0x5b , 0x2c , 0x42 , 0xb7 , } ,
{ 0x13 , 0x63 , 0xf3 , 0x40 , 0x02 , 0xe5 , 0xa3 , 0x3a , 0x5e , 0x8e , 0xf8 , 0xb6 ,
0x8a , 0x49 , 0x60 , 0x76 , 0x34 , 0x72 , 0x94 , 0x73 , 0xf6 , 0xd9 , 0x21 , 0x6a ,
0x26 , } ,
{ 0xdf , 0x75 , 0x16 , 0x10 , 0x1b , 0x5e , 0x81 , 0xc3 , 0xc8 , 0xde , 0x34 , 0x24 ,
0xb0 , 0x98 , 0xeb , 0x1b , 0x8f , 0xa1 , 0x9b , 0x05 , 0xee , 0xa5 , 0xe9 , 0x35 ,
0xf4 , 0x1d , } ,
{ 0xcd , 0x21 , 0x93 , 0x6e , 0x5b , 0xa0 , 0x26 , 0x2b , 0x21 , 0x0e , 0xa0 , 0xb9 ,
0x1c , 0xb5 , 0xbb , 0xb8 , 0xf8 , 0x1e , 0xff , 0x5c , 0xa8 , 0xf9 , 0x39 , 0x46 ,
0x4e , 0x29 , 0x26 , } ,
{ 0x73 , 0x7f , 0x0e , 0x3b , 0x0b , 0x5c , 0xf9 , 0x60 , 0xaa , 0x88 , 0xa1 , 0x09 ,
0xb1 , 0x5d , 0x38 , 0x7b , 0x86 , 0x8f , 0x13 , 0x7a , 0x8d , 0x72 , 0x7a , 0x98 ,
0x1a , 0x5b , 0xff , 0xc9 , } ,
{ 0xd3 , 0x3c , 0x61 , 0x71 , 0x44 , 0x7e , 0x31 , 0x74 , 0x98 , 0x9d , 0x9a , 0xd2 ,
0x27 , 0xf3 , 0x46 , 0x43 , 0x42 , 0x51 , 0xd0 , 0x5f , 0xe9 , 0x1c , 0x5c , 0x69 ,
0xbf , 0xf6 , 0xbe , 0x3c , 0x40 , } ,
{ 0x31 , 0x99 , 0x31 , 0x9f , 0xaa , 0x43 , 0x2e , 0x77 , 0x3e , 0x74 , 0x26 , 0x31 ,
0x5e , 0x61 , 0xf1 , 0x87 , 0xe2 , 0xeb , 0x9b , 0xcd , 0xd0 , 0x3a , 0xee , 0x20 ,
0x7e , 0x10 , 0x0a , 0x0b , 0x7e , 0xfa , } ,
{ 0xa4 , 0x27 , 0x80 , 0x67 , 0x81 , 0x2a , 0xa7 , 0x62 , 0xf7 , 0x6e , 0xda , 0xd4 ,
0x5c , 0x39 , 0x74 , 0xad , 0x7e , 0xbe , 0xad , 0xa5 , 0x84 , 0x7f , 0xa9 , 0x30 ,
0x5d , 0xdb , 0xe2 , 0x05 , 0x43 , 0xf7 , 0x1b , } ,
{ 0x0b , 0x37 , 0xd8 , 0x02 , 0xe1 , 0x83 , 0xd6 , 0x80 , 0xf2 , 0x35 , 0xc2 , 0xb0 ,
0x37 , 0xef , 0xef , 0x5e , 0x43 , 0x93 , 0xf0 , 0x49 , 0x45 , 0x0a , 0xef , 0xb5 ,
0x76 , 0x70 , 0x12 , 0x44 , 0xc4 , 0xdb , 0xf5 , 0x7a , } ,
{ 0x1f , } ,
{ 0x82 , 0x60 , } ,
{ 0xcc , 0xe3 , 0x08 , } ,
{ 0x56 , 0x17 , 0xe4 , 0x59 , } ,
{ 0xe2 , 0xd7 , 0x9e , 0xc4 , 0x4c , } ,
{ 0xb2 , 0xad , 0xd3 , 0x78 , 0x58 , 0x5a , } ,
{ 0xce , 0x43 , 0xb4 , 0x02 , 0x96 , 0xab , 0x3c , } ,
{ 0xe6 , 0x05 , 0x1a , 0x73 , 0x22 , 0x32 , 0xbb , 0x77 , } ,
{ 0x23 , 0xe7 , 0xda , 0xfe , 0x2c , 0xef , 0x8c , 0x22 , 0xec , } ,
{ 0xe9 , 0x8e , 0x55 , 0x38 , 0xd1 , 0xd7 , 0x35 , 0x23 , 0x98 , 0xc7 , } ,
{ 0xb5 , 0x81 , 0x1a , 0xe5 , 0xb5 , 0xa5 , 0xd9 , 0x4d , 0xca , 0x41 , 0xe7 , } ,
{ 0x41 , 0x16 , 0x16 , 0x95 , 0x8d , 0x9e , 0x0c , 0xea , 0x8c , 0x71 , 0x9a , 0xc1 , } ,
{ 0x7c , 0x33 , 0xc0 , 0xa4 , 0x00 , 0x62 , 0xea , 0x60 , 0x67 , 0xe4 , 0x20 , 0xbc ,
0x5b , } ,
{ 0xdb , 0xb1 , 0xdc , 0xfd , 0x08 , 0xc0 , 0xde , 0x82 , 0xd1 , 0xde , 0x38 , 0xc0 ,
0x90 , 0x48 , } ,
{ 0x37 , 0x18 , 0x2e , 0x0d , 0x61 , 0xaa , 0x61 , 0xd7 , 0x86 , 0x20 , 0x16 , 0x60 ,
0x04 , 0xd9 , 0xd5 , } ,
{ 0xb0 , 0xcf , 0x2c , 0x4c , 0x5e , 0x5b , 0x4f , 0x2a , 0x23 , 0x25 , 0x58 , 0x47 ,
0xe5 , 0x31 , 0x06 , 0x70 , } ,
{ 0x91 , 0xa0 , 0xa3 , 0x86 , 0x4e , 0xe0 , 0x72 , 0x38 , 0x06 , 0x67 , 0x59 , 0x5c ,
0x70 , 0x25 , 0xdb , 0x33 , 0x27 , } ,
{ 0x44 , 0x58 , 0x66 , 0xb8 , 0x58 , 0xc7 , 0x13 , 0xed , 0x4c , 0xc0 , 0xf4 , 0x9a ,
0x1e , 0x67 , 0x75 , 0x33 , 0xb6 , 0xb8 , } ,
{ 0x7f , 0x98 , 0x4a , 0x8e , 0x50 , 0xa2 , 0x5c , 0xcd , 0x59 , 0xde , 0x72 , 0xb3 ,
0x9d , 0xc3 , 0x09 , 0x8a , 0xab , 0x56 , 0xf1 , } ,
{ 0x80 , 0x96 , 0x49 , 0x1a , 0x59 , 0xa2 , 0xc5 , 0xd5 , 0xa7 , 0x20 , 0x8a , 0xb7 ,
0x27 , 0x62 , 0x84 , 0x43 , 0xc6 , 0xe1 , 0x1b , 0x5d , } ,
{ 0x6b , 0xb7 , 0x2b , 0x26 , 0x62 , 0x14 , 0x70 , 0x19 , 0x3d , 0x4d , 0xac , 0xac ,
0x63 , 0x58 , 0x5e , 0x94 , 0xb5 , 0xb7 , 0xe8 , 0xe8 , 0xa2 , } ,
{ 0x20 , 0xa8 , 0xc0 , 0xfd , 0x63 , 0x3d , 0x6e , 0x98 , 0xcf , 0x0c , 0x49 , 0x98 ,
0xe4 , 0x5a , 0xfe , 0x8c , 0xaa , 0x70 , 0x82 , 0x1c , 0x7b , 0x74 , } ,
{ 0xc8 , 0xe8 , 0xdd , 0xdf , 0x69 , 0x30 , 0x01 , 0xc2 , 0x0f , 0x7e , 0x2f , 0x11 ,
0xcc , 0x3e , 0x17 , 0xa5 , 0x69 , 0x40 , 0x3f , 0x0e , 0x79 , 0x7f , 0xcf , } ,
{ 0xdb , 0x61 , 0xc0 , 0xe2 , 0x2e , 0x49 , 0x07 , 0x31 , 0x1d , 0x91 , 0x42 , 0x8a ,
0xfc , 0x5e , 0xd3 , 0xf8 , 0x56 , 0x1f , 0x2b , 0x73 , 0xfd , 0x9f , 0xb2 , 0x8e , } ,
{ 0x0c , 0x89 , 0x55 , 0x0c , 0x1f , 0x59 , 0x2c , 0x9d , 0x1b , 0x29 , 0x1d , 0x41 ,
0x1d , 0xe6 , 0x47 , 0x8f , 0x8c , 0x2b , 0xea , 0x8f , 0xf0 , 0xff , 0x21 , 0x70 ,
0x88 , } ,
{ 0x12 , 0x18 , 0x95 , 0xa6 , 0x59 , 0xb1 , 0x31 , 0x24 , 0x45 , 0x67 , 0x55 , 0xa4 ,
0x1a , 0x2d , 0x48 , 0x67 , 0x1b , 0x43 , 0x88 , 0x2d , 0x8e , 0xa0 , 0x70 , 0xb3 ,
0xc6 , 0xbb , } ,
{ 0xe7 , 0xb1 , 0x1d , 0xb2 , 0x76 , 0x4d , 0x68 , 0x68 , 0x68 , 0x23 , 0x02 , 0x55 ,
0x3a , 0xe2 , 0xe5 , 0xd5 , 0x4b , 0x43 , 0xf9 , 0x34 , 0x77 , 0x5c , 0xa1 , 0xf5 ,
0x55 , 0xfd , 0x4f , } ,
{ 0x8c , 0x87 , 0x5a , 0x08 , 0x3a , 0x73 , 0xad , 0x61 , 0xe1 , 0xe7 , 0x99 , 0x7e ,
0xf0 , 0x5d , 0xe9 , 0x5d , 0x16 , 0x43 , 0x80 , 0x2f , 0xd0 , 0x66 , 0x34 , 0xe2 ,
0x42 , 0x64 , 0x3b , 0x1a , } ,
{ 0x39 , 0xc1 , 0x99 , 0xcf , 0x22 , 0xbf , 0x16 , 0x8f , 0x9f , 0x80 , 0x7f , 0x95 ,
0x0a , 0x05 , 0x67 , 0x27 , 0xe7 , 0x15 , 0xdf , 0x9d , 0xb2 , 0xfe , 0x1c , 0xb5 ,
0x1d , 0x60 , 0x8f , 0x8a , 0x1d , } ,
{ 0x9b , 0x6e , 0x08 , 0x09 , 0x06 , 0x73 , 0xab , 0x68 , 0x02 , 0x62 , 0x1a , 0xe4 ,
0xd4 , 0xdf , 0xc7 , 0x02 , 0x4c , 0x6a , 0x5f , 0xfd , 0x23 , 0xac , 0xae , 0x6d ,
0x43 , 0xa4 , 0x7a , 0x50 , 0x60 , 0x3c , } ,
{ 0x1d , 0xb4 , 0xc6 , 0xe1 , 0xb1 , 0x4b , 0xe3 , 0xf2 , 0xe2 , 0x1a , 0x73 , 0x1b ,
0xa0 , 0x92 , 0xa7 , 0xf5 , 0xff , 0x8f , 0x8b , 0x5d , 0xdf , 0xa8 , 0x04 , 0xb3 ,
0xb0 , 0xf7 , 0xcc , 0x12 , 0xfa , 0x35 , 0x46 , } ,
{ 0x49 , 0x45 , 0x97 , 0x11 , 0x0f , 0x1c , 0x60 , 0x8e , 0xe8 , 0x47 , 0x30 , 0xcf ,
0x60 , 0xa8 , 0x71 , 0xc5 , 0x1b , 0xe9 , 0x39 , 0x4d , 0x49 , 0xb6 , 0x12 , 0x1f ,
0x24 , 0xab , 0x37 , 0xff , 0x83 , 0xc2 , 0xe1 , 0x3a , } ,
{ 0x60 , } ,
{ 0x24 , 0x26 , } ,
{ 0x47 , 0xeb , 0xc9 , } ,
{ 0x4a , 0xd0 , 0xbc , 0xf0 , } ,
{ 0x8e , 0x2b , 0xc9 , 0x85 , 0x3c , } ,
{ 0xa2 , 0x07 , 0x15 , 0xb8 , 0x12 , 0x74 , } ,
{ 0x0f , 0xdb , 0x5b , 0x33 , 0x69 , 0xfe , 0x4b , } ,
{ 0xa2 , 0x86 , 0x54 , 0xf4 , 0xfd , 0xb2 , 0xd4 , 0xe6 , } ,
{ 0xbb , 0x84 , 0x78 , 0x49 , 0x27 , 0x8e , 0x61 , 0xda , 0x60 , } ,
{ 0x04 , 0xc3 , 0xcd , 0xaa , 0x8f , 0xa7 , 0x03 , 0xc9 , 0xf9 , 0xb6 , } ,
{ 0xf8 , 0x27 , 0x1d , 0x61 , 0xdc , 0x21 , 0x42 , 0xdd , 0xad , 0x92 , 0x40 , } ,
{ 0x12 , 0x87 , 0xdf , 0xc2 , 0x41 , 0x45 , 0x5a , 0x36 , 0x48 , 0x5b , 0x51 , 0x2b , } ,
{ 0xbb , 0x37 , 0x5d , 0x1f , 0xf1 , 0x68 , 0x7a , 0xc4 , 0xa5 , 0xd2 , 0xa4 , 0x91 ,
0x8d , } ,
{ 0x5b , 0x27 , 0xd1 , 0x04 , 0x54 , 0x52 , 0x9f , 0xa3 , 0x47 , 0x86 , 0x33 , 0x33 ,
0xbf , 0xa0 , } ,
{ 0xcf , 0x04 , 0xea , 0xf8 , 0x03 , 0x2a , 0x43 , 0xff , 0xa6 , 0x68 , 0x21 , 0x4c ,
0xd5 , 0x4b , 0xed , } ,
{ 0xaf , 0xb8 , 0xbc , 0x63 , 0x0f , 0x18 , 0x4d , 0xe2 , 0x7a , 0xdd , 0x46 , 0x44 ,
0xc8 , 0x24 , 0x0a , 0xb7 , } ,
{ 0x3e , 0xdc , 0x36 , 0xe4 , 0x89 , 0xb1 , 0xfa , 0xc6 , 0x40 , 0x93 , 0x2e , 0x75 ,
0xb2 , 0x15 , 0xd1 , 0xb1 , 0x10 , } ,
{ 0x6c , 0xd8 , 0x20 , 0x3b , 0x82 , 0x79 , 0xf9 , 0xc8 , 0xbc , 0x9d , 0xe0 , 0x35 ,
0xbe , 0x1b , 0x49 , 0x1a , 0xbc , 0x3a , } ,
{ 0x78 , 0x65 , 0x2c , 0xbe , 0x35 , 0x67 , 0xdc , 0x78 , 0xd4 , 0x41 , 0xf6 , 0xc9 ,
0xde , 0xde , 0x1f , 0x18 , 0x13 , 0x31 , 0x11 , } ,
{ 0x8a , 0x7f , 0xb1 , 0x33 , 0x8f , 0x0c , 0x3c , 0x0a , 0x06 , 0x61 , 0xf0 , 0x47 ,
0x29 , 0x1b , 0x29 , 0xbc , 0x1c , 0x47 , 0xef , 0x7a , } ,
{ 0x65 , 0x91 , 0xf1 , 0xe6 , 0xb3 , 0x96 , 0xd3 , 0x8c , 0xc2 , 0x4a , 0x59 , 0x35 ,
0x72 , 0x8e , 0x0b , 0x9a , 0x87 , 0xca , 0x34 , 0x7b , 0x63 , } ,
{ 0x5f , 0x08 , 0x87 , 0x80 , 0x56 , 0x25 , 0x89 , 0x77 , 0x61 , 0x8c , 0x64 , 0xa1 ,
0x59 , 0x6d , 0x59 , 0x62 , 0xe8 , 0x4a , 0xc8 , 0x58 , 0x99 , 0xd1 , } ,
{ 0x23 , 0x87 , 0x1d , 0xed , 0x6f , 0xf2 , 0x91 , 0x90 , 0xe2 , 0xfe , 0x43 , 0x21 ,
0xaf , 0x97 , 0xc6 , 0xbc , 0xd7 , 0x15 , 0xc7 , 0x2d , 0x08 , 0x77 , 0x91 , } ,
{ 0x90 , 0x47 , 0x9a , 0x9e , 0x3a , 0xdf , 0xf3 , 0xc9 , 0x4c , 0x1e , 0xa7 , 0xd4 ,
0x6a , 0x32 , 0x90 , 0xfe , 0xb7 , 0xb6 , 0x7b , 0xfa , 0x96 , 0x61 , 0xfb , 0xa4 , } ,
{ 0xb1 , 0x67 , 0x60 , 0x45 , 0xb0 , 0x96 , 0xc5 , 0x15 , 0x9f , 0x4d , 0x26 , 0xd7 ,
0x9d , 0xf1 , 0xf5 , 0x6d , 0x21 , 0x00 , 0x94 , 0x31 , 0x64 , 0x94 , 0xd3 , 0xa7 ,
0xd3 , } ,
{ 0x02 , 0x3e , 0xaf , 0xf3 , 0x79 , 0x73 , 0xa5 , 0xf5 , 0xcc , 0x7a , 0x7f , 0xfb ,
0x79 , 0x2b , 0x85 , 0x8c , 0x88 , 0x72 , 0x06 , 0xbe , 0xfe , 0xaf , 0xc1 , 0x16 ,
0xa6 , 0xd6 , } ,
{ 0x2a , 0xb0 , 0x1a , 0xe5 , 0xaa , 0x6e , 0xb3 , 0xae , 0x53 , 0x85 , 0x33 , 0x80 ,
0x75 , 0xae , 0x30 , 0xe6 , 0xb8 , 0x72 , 0x42 , 0xf6 , 0x25 , 0x4f , 0x38 , 0x88 ,
0x55 , 0xd1 , 0xa9 , } ,
{ 0x90 , 0xd8 , 0x0c , 0xc0 , 0x93 , 0x4b , 0x4f , 0x9e , 0x65 , 0x6c , 0xa1 , 0x54 ,
0xa6 , 0xf6 , 0x6e , 0xca , 0xd2 , 0xbb , 0x7e , 0x6a , 0x1c , 0xd3 , 0xce , 0x46 ,
0xef , 0xb0 , 0x00 , 0x8d , } ,
{ 0xed , 0x9c , 0x49 , 0xcd , 0xc2 , 0xde , 0x38 , 0x0e , 0xe9 , 0x98 , 0x6c , 0xc8 ,
0x90 , 0x9e , 0x3c , 0xd4 , 0xd3 , 0xeb , 0x88 , 0x32 , 0xc7 , 0x28 , 0xe3 , 0x94 ,
0x1c , 0x9f , 0x8b , 0xf3 , 0xcb , } ,
{ 0xac , 0xe7 , 0x92 , 0x16 , 0xb4 , 0x14 , 0xa0 , 0xe4 , 0x04 , 0x79 , 0xa2 , 0xf4 ,
0x31 , 0xe6 , 0x0c , 0x26 , 0xdc , 0xbf , 0x2f , 0x69 , 0x1b , 0x55 , 0x94 , 0x67 ,
0xda , 0x0c , 0xd7 , 0x32 , 0x1f , 0xef , } ,
{ 0x68 , 0x63 , 0x85 , 0x57 , 0x95 , 0x9e , 0x42 , 0x27 , 0x41 , 0x43 , 0x42 , 0x02 ,
0xa5 , 0x78 , 0xa7 , 0xc6 , 0x43 , 0xc1 , 0x6a , 0xba , 0x70 , 0x80 , 0xcd , 0x04 ,
0xb6 , 0x78 , 0x76 , 0x29 , 0xf3 , 0xe8 , 0xa0 , } ,
{ 0xe6 , 0xac , 0x8d , 0x9d , 0xf0 , 0xc0 , 0xf7 , 0xf7 , 0xe3 , 0x3e , 0x4e , 0x28 ,
0x0f , 0x59 , 0xb2 , 0x67 , 0x9e , 0x84 , 0x34 , 0x42 , 0x96 , 0x30 , 0x2b , 0xca ,
0x49 , 0xb6 , 0xc5 , 0x9a , 0x84 , 0x59 , 0xa7 , 0x81 , } ,
{ 0x7e , } ,
{ 0x1e , 0x21 , } ,
{ 0x26 , 0xd3 , 0xdd , } ,
{ 0x2c , 0xd4 , 0xb3 , 0x3d , } ,
{ 0x86 , 0x7b , 0x76 , 0x3c , 0xf0 , } ,
{ 0x12 , 0xc3 , 0x70 , 0x1d , 0x55 , 0x18 , } ,
{ 0x96 , 0xc2 , 0xbd , 0x61 , 0x55 , 0xf4 , 0x24 , } ,
{ 0x20 , 0x51 , 0xf7 , 0x86 , 0x58 , 0x8f , 0x07 , 0x2a , } ,
{ 0x93 , 0x15 , 0xa8 , 0x1d , 0xda , 0x97 , 0xee , 0x0e , 0x6c , } ,
{ 0x39 , 0x93 , 0xdf , 0xd5 , 0x0e , 0xca , 0xdc , 0x7a , 0x92 , 0xce , } ,
{ 0x60 , 0xd5 , 0xfd , 0xf5 , 0x1b , 0x26 , 0x82 , 0x26 , 0x73 , 0x02 , 0xbc , } ,
{ 0x98 , 0xf2 , 0x34 , 0xe1 , 0xf5 , 0xfb , 0x00 , 0xac , 0x10 , 0x4a , 0x38 , 0x9f , } ,
{ 0xda , 0x3a , 0x92 , 0x8a , 0xd0 , 0xcd , 0x12 , 0xcd , 0x15 , 0xbb , 0xab , 0x77 ,
0x66 , } ,
{ 0xa2 , 0x92 , 0x1a , 0xe5 , 0xca , 0x0c , 0x30 , 0x75 , 0xeb , 0xaf , 0x00 , 0x31 ,
0x55 , 0x66 , } ,
{ 0x06 , 0xea , 0xfd , 0x3e , 0x86 , 0x38 , 0x62 , 0x4e , 0xa9 , 0x12 , 0xa4 , 0x12 ,
0x43 , 0xbf , 0xa1 , } ,
{ 0xe4 , 0x71 , 0x7b , 0x94 , 0xdb , 0xa0 , 0xd2 , 0xff , 0x9b , 0xeb , 0xad , 0x8e ,
0x95 , 0x8a , 0xc5 , 0xed , } ,
{ 0x25 , 0x5a , 0x77 , 0x71 , 0x41 , 0x0e , 0x7a , 0xe9 , 0xed , 0x0c , 0x10 , 0xef ,
0xf6 , 0x2b , 0x3a , 0xba , 0x60 , } ,
{ 0xee , 0xe2 , 0xa3 , 0x67 , 0x64 , 0x1d , 0xc6 , 0x04 , 0xc4 , 0xe1 , 0x68 , 0xd2 ,
0x6e , 0xd2 , 0x91 , 0x75 , 0x53 , 0x07 , } ,
{ 0xe0 , 0xf6 , 0x4d , 0x8f , 0x68 , 0xfc , 0x06 , 0x7e , 0x18 , 0x79 , 0x7f , 0x2b ,
0x6d , 0xef , 0x46 , 0x7f , 0xab , 0xb2 , 0xad , } ,
{ 0x3d , 0x35 , 0x88 , 0x9f , 0x2e , 0xcf , 0x96 , 0x45 , 0x07 , 0x60 , 0x71 , 0x94 ,
0x00 , 0x8d , 0xbf , 0xf4 , 0xef , 0x46 , 0x2e , 0x3c , } ,
{ 0x43 , 0xcf , 0x98 , 0xf7 , 0x2d , 0xf4 , 0x17 , 0xe7 , 0x8c , 0x05 , 0x2d , 0x9b ,
0x24 , 0xfb , 0x4d , 0xea , 0x4a , 0xec , 0x01 , 0x25 , 0x29 , } ,
{ 0x8e , 0x73 , 0x9a , 0x78 , 0x11 , 0xfe , 0x48 , 0xa0 , 0x3b , 0x1a , 0x26 , 0xdf ,
0x25 , 0xe9 , 0x59 , 0x1c , 0x70 , 0x07 , 0x9f , 0xdc , 0xa0 , 0xa6 , } ,
{ 0xe8 , 0x47 , 0x71 , 0xc7 , 0x3e , 0xdf , 0xb5 , 0x13 , 0xb9 , 0x85 , 0x13 , 0xa8 ,
0x54 , 0x47 , 0x6e , 0x59 , 0x96 , 0x09 , 0x13 , 0x5f , 0x82 , 0x16 , 0x0b , } ,
{ 0xfb , 0xc0 , 0x8c , 0x03 , 0x21 , 0xb3 , 0xc4 , 0xb5 , 0x43 , 0x32 , 0x6c , 0xea ,
0x7f , 0xa8 , 0x43 , 0x91 , 0xe8 , 0x4e , 0x3f , 0xbf , 0x45 , 0x58 , 0x6a , 0xa3 , } ,
{ 0x55 , 0xf8 , 0xf3 , 0x00 , 0x76 , 0x09 , 0xef , 0x69 , 0x5d , 0xd2 , 0x8a , 0xf2 ,
0x65 , 0xc3 , 0xcb , 0x9b , 0x43 , 0xfd , 0xb1 , 0x7e , 0x7f , 0xa1 , 0x94 , 0xb0 ,
0xd7 , } ,
{ 0xaa , 0x13 , 0xc1 , 0x51 , 0x40 , 0x6d , 0x8d , 0x4c , 0x0a , 0x95 , 0x64 , 0x7b ,
0xd1 , 0x96 , 0xb6 , 0x56 , 0xb4 , 0x5b , 0xcf , 0xd6 , 0xd9 , 0x15 , 0x97 , 0xdd ,
0xb6 , 0xef , } ,
{ 0xaf , 0xb7 , 0x36 , 0xb0 , 0x04 , 0xdb , 0xd7 , 0x9c , 0x9a , 0x44 , 0xc4 , 0xf6 ,
0x1f , 0x12 , 0x21 , 0x2d , 0x59 , 0x30 , 0x54 , 0xab , 0x27 , 0x61 , 0xa3 , 0x57 ,
0xef , 0xf8 , 0x53 , } ,
{ 0x97 , 0x34 , 0x45 , 0x3e , 0xce , 0x7c , 0x35 , 0xa2 , 0xda , 0x9f , 0x4b , 0x46 ,
0x6c , 0x11 , 0x67 , 0xff , 0x2f , 0x76 , 0x58 , 0x15 , 0x71 , 0xfa , 0x44 , 0x89 ,
0x89 , 0xfd , 0xf7 , 0x99 , } ,
{ 0x1f , 0xb1 , 0x62 , 0xeb , 0x83 , 0xc5 , 0x9c , 0x89 , 0xf9 , 0x2c , 0xd2 , 0x03 ,
0x61 , 0xbc , 0xbb , 0xa5 , 0x74 , 0x0e , 0x9b , 0x7e , 0x82 , 0x3e , 0x70 , 0x0a ,
0xa9 , 0x8f , 0x2b , 0x59 , 0xfb , } ,
{ 0xf8 , 0xca , 0x5e , 0x3a , 0x4f , 0x9e , 0x10 , 0x69 , 0x10 , 0xd5 , 0x4c , 0xeb ,
0x1a , 0x0f , 0x3c , 0x6a , 0x98 , 0xf5 , 0xb0 , 0x97 , 0x5b , 0x37 , 0x2f , 0x0d ,
0xbd , 0x42 , 0x4b , 0x69 , 0xa1 , 0x82 , } ,
{ 0x12 , 0x8c , 0x6d , 0x52 , 0x08 , 0xef , 0x74 , 0xb2 , 0xe6 , 0xaa , 0xd3 , 0xb0 ,
0x26 , 0xb0 , 0xd9 , 0x94 , 0xb6 , 0x11 , 0x45 , 0x0e , 0x36 , 0x71 , 0x14 , 0x2d ,
0x41 , 0x8c , 0x21 , 0x53 , 0x31 , 0xe9 , 0x68 , } ,
{ 0xee , 0xea , 0x0d , 0x89 , 0x47 , 0x7e , 0x72 , 0xd1 , 0xd8 , 0xce , 0x58 , 0x4c ,
0x94 , 0x1f , 0x0d , 0x51 , 0x08 , 0xa3 , 0xb6 , 0x3d , 0xe7 , 0x82 , 0x46 , 0x92 ,
0xd6 , 0x98 , 0x6b , 0x07 , 0x10 , 0x65 , 0x52 , 0x65 , } ,
} ;
2022-12-21 14:58:08 +08:00
static bool __init noinline_for_stack blake2s_digest_test ( void )
2019-11-08 13:22:28 +01:00
{
u8 key [ BLAKE2S_KEY_SIZE ] ;
u8 buf [ ARRAY_SIZE ( blake2s_testvecs ) ] ;
u8 hash [ BLAKE2S_HASH_SIZE ] ;
struct blake2s_state state ;
bool success = true ;
int i , l ;
key [ 0 ] = key [ 1 ] = 1 ;
for ( i = 2 ; i < sizeof ( key ) ; + + i )
key [ i ] = key [ i - 2 ] + key [ i - 1 ] ;
for ( i = 0 ; i < sizeof ( buf ) ; + + i )
buf [ i ] = ( u8 ) i ;
for ( i = l = 0 ; i < ARRAY_SIZE ( blake2s_testvecs ) ; l = ( l + 37 ) % + + i ) {
int outlen = 1 + i % BLAKE2S_HASH_SIZE ;
int keylen = ( 13 * i ) % ( BLAKE2S_KEY_SIZE + 1 ) ;
blake2s ( hash , buf , key + BLAKE2S_KEY_SIZE - keylen , outlen , i ,
keylen ) ;
if ( memcmp ( hash , blake2s_testvecs [ i ] , outlen ) ) {
pr_err ( " blake2s self-test %d: FAIL \n " , i + 1 ) ;
success = false ;
}
if ( ! keylen )
blake2s_init ( & state , outlen ) ;
else
blake2s_init_key ( & state , outlen ,
key + BLAKE2S_KEY_SIZE - keylen ,
keylen ) ;
blake2s_update ( & state , buf , l ) ;
blake2s_update ( & state , buf + l , i - l ) ;
blake2s_final ( & state , hash ) ;
if ( memcmp ( hash , blake2s_testvecs [ i ] , outlen ) ) {
pr_err ( " blake2s init/update/final self-test %d: FAIL \n " ,
i + 1 ) ;
success = false ;
}
}
2022-12-21 14:58:08 +08:00
return success ;
}
static bool __init noinline_for_stack blake2s_random_test ( void )
{
struct blake2s_state state ;
bool success = true ;
int i , l ;
2022-05-28 21:44:07 +02:00
for ( i = 0 ; i < 32 ; + + i ) {
enum { TEST_ALIGNMENT = 16 } ;
2022-12-21 14:58:08 +08:00
u8 blocks [ BLAKE2S_BLOCK_SIZE * 2 + TEST_ALIGNMENT - 1 ]
2022-05-28 21:44:07 +02:00
__aligned ( TEST_ALIGNMENT ) ;
2022-12-21 14:58:08 +08:00
u8 * unaligned_block = blocks + BLAKE2S_BLOCK_SIZE ;
2022-05-28 21:44:07 +02:00
struct blake2s_state state1 , state2 ;
get_random_bytes ( blocks , sizeof ( blocks ) ) ;
get_random_bytes ( & state , sizeof ( state ) ) ;
# if defined(CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC) && \
defined ( CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S )
memcpy ( & state1 , & state , sizeof ( state1 ) ) ;
memcpy ( & state2 , & state , sizeof ( state2 ) ) ;
2022-06-20 09:52:43 +02:00
blake2s_compress ( & state1 , blocks , 2 , BLAKE2S_BLOCK_SIZE ) ;
blake2s_compress_generic ( & state2 , blocks , 2 , BLAKE2S_BLOCK_SIZE ) ;
2022-05-28 21:44:07 +02:00
if ( memcmp ( & state1 , & state2 , sizeof ( state1 ) ) ) {
pr_err ( " blake2s random compress self-test %d: FAIL \n " ,
i + 1 ) ;
success = false ;
}
# endif
memcpy ( & state1 , & state , sizeof ( state1 ) ) ;
blake2s_compress ( & state1 , blocks , 1 , BLAKE2S_BLOCK_SIZE ) ;
for ( l = 1 ; l < TEST_ALIGNMENT ; + + l ) {
memcpy ( unaligned_block + l , blocks ,
BLAKE2S_BLOCK_SIZE ) ;
memcpy ( & state2 , & state , sizeof ( state2 ) ) ;
blake2s_compress ( & state2 , unaligned_block + l , 1 ,
BLAKE2S_BLOCK_SIZE ) ;
if ( memcmp ( & state1 , & state2 , sizeof ( state1 ) ) ) {
pr_err ( " blake2s random compress align %d self-test %d: FAIL \n " ,
l , i + 1 ) ;
success = false ;
}
}
}
2019-11-08 13:22:28 +01:00
return success ;
}
2022-12-21 14:58:08 +08:00
bool __init blake2s_selftest ( void )
{
bool success ;
success = blake2s_digest_test ( ) ;
success & = blake2s_random_test ( ) ;
return success ;
}