18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Quick & dirty crypto testing module. 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * This will only exist until we have a better testing mechanism 68c2ecf20Sopenharmony_ci * (e.g. a char device). 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * Copyright (c) 2002 James Morris <jmorris@intercode.com.au> 98c2ecf20Sopenharmony_ci * Copyright (c) 2002 Jean-Francois Dive <jef@linuxbe.org> 108c2ecf20Sopenharmony_ci * Copyright (c) 2007 Nokia Siemens Networks 118c2ecf20Sopenharmony_ci */ 128c2ecf20Sopenharmony_ci#ifndef _CRYPTO_TCRYPT_H 138c2ecf20Sopenharmony_ci#define _CRYPTO_TCRYPT_H 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistruct cipher_speed_template { 168c2ecf20Sopenharmony_ci const char *key; 178c2ecf20Sopenharmony_ci unsigned int klen; 188c2ecf20Sopenharmony_ci}; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistruct aead_speed_template { 218c2ecf20Sopenharmony_ci const char *key; 228c2ecf20Sopenharmony_ci unsigned int klen; 238c2ecf20Sopenharmony_ci}; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_cistruct hash_speed { 268c2ecf20Sopenharmony_ci unsigned int blen; /* buffer length */ 278c2ecf20Sopenharmony_ci unsigned int plen; /* per-update length */ 288c2ecf20Sopenharmony_ci}; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci/* 318c2ecf20Sopenharmony_ci * DES test vectors. 328c2ecf20Sopenharmony_ci */ 338c2ecf20Sopenharmony_ci#define DES3_SPEED_VECTORS 1 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_cistatic struct cipher_speed_template des3_speed_template[] = { 368c2ecf20Sopenharmony_ci { 378c2ecf20Sopenharmony_ci .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" 388c2ecf20Sopenharmony_ci "\x55\x55\x55\x55\x55\x55\x55\x55" 398c2ecf20Sopenharmony_ci "\xfe\xdc\xba\x98\x76\x54\x32\x10", 408c2ecf20Sopenharmony_ci .klen = 24, 418c2ecf20Sopenharmony_ci } 428c2ecf20Sopenharmony_ci}; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci/* 458c2ecf20Sopenharmony_ci * Cipher speed tests 468c2ecf20Sopenharmony_ci */ 478c2ecf20Sopenharmony_cistatic u8 speed_template_8[] = {8, 0}; 488c2ecf20Sopenharmony_cistatic u8 speed_template_16[] = {16, 0}; 498c2ecf20Sopenharmony_cistatic u8 speed_template_24[] = {24, 0}; 508c2ecf20Sopenharmony_cistatic u8 speed_template_8_16[] = {8, 16, 0}; 518c2ecf20Sopenharmony_cistatic u8 speed_template_8_32[] = {8, 32, 0}; 528c2ecf20Sopenharmony_cistatic u8 speed_template_16_32[] = {16, 32, 0}; 538c2ecf20Sopenharmony_cistatic u8 speed_template_16_24_32[] = {16, 24, 32, 0}; 548c2ecf20Sopenharmony_cistatic u8 speed_template_20_28_36[] = {20, 28, 36, 0}; 558c2ecf20Sopenharmony_cistatic u8 speed_template_32_40_48[] = {32, 40, 48, 0}; 568c2ecf20Sopenharmony_cistatic u8 speed_template_32_48[] = {32, 48, 0}; 578c2ecf20Sopenharmony_cistatic u8 speed_template_32_48_64[] = {32, 48, 64, 0}; 588c2ecf20Sopenharmony_cistatic u8 speed_template_32_64[] = {32, 64, 0}; 598c2ecf20Sopenharmony_cistatic u8 speed_template_32[] = {32, 0}; 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci/* 628c2ecf20Sopenharmony_ci * AEAD speed tests 638c2ecf20Sopenharmony_ci */ 648c2ecf20Sopenharmony_cistatic u8 aead_speed_template_19[] = {19, 0}; 658c2ecf20Sopenharmony_cistatic u8 aead_speed_template_20[] = {20, 0}; 668c2ecf20Sopenharmony_cistatic u8 aead_speed_template_36[] = {36, 0}; 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci/* 698c2ecf20Sopenharmony_ci * Digest speed tests 708c2ecf20Sopenharmony_ci */ 718c2ecf20Sopenharmony_cistatic struct hash_speed generic_hash_speed_template[] = { 728c2ecf20Sopenharmony_ci { .blen = 16, .plen = 16, }, 738c2ecf20Sopenharmony_ci { .blen = 64, .plen = 16, }, 748c2ecf20Sopenharmony_ci { .blen = 64, .plen = 64, }, 758c2ecf20Sopenharmony_ci { .blen = 256, .plen = 16, }, 768c2ecf20Sopenharmony_ci { .blen = 256, .plen = 64, }, 778c2ecf20Sopenharmony_ci { .blen = 256, .plen = 256, }, 788c2ecf20Sopenharmony_ci { .blen = 1024, .plen = 16, }, 798c2ecf20Sopenharmony_ci { .blen = 1024, .plen = 256, }, 808c2ecf20Sopenharmony_ci { .blen = 1024, .plen = 1024, }, 818c2ecf20Sopenharmony_ci { .blen = 2048, .plen = 16, }, 828c2ecf20Sopenharmony_ci { .blen = 2048, .plen = 256, }, 838c2ecf20Sopenharmony_ci { .blen = 2048, .plen = 1024, }, 848c2ecf20Sopenharmony_ci { .blen = 2048, .plen = 2048, }, 858c2ecf20Sopenharmony_ci { .blen = 4096, .plen = 16, }, 868c2ecf20Sopenharmony_ci { .blen = 4096, .plen = 256, }, 878c2ecf20Sopenharmony_ci { .blen = 4096, .plen = 1024, }, 888c2ecf20Sopenharmony_ci { .blen = 4096, .plen = 4096, }, 898c2ecf20Sopenharmony_ci { .blen = 8192, .plen = 16, }, 908c2ecf20Sopenharmony_ci { .blen = 8192, .plen = 256, }, 918c2ecf20Sopenharmony_ci { .blen = 8192, .plen = 1024, }, 928c2ecf20Sopenharmony_ci { .blen = 8192, .plen = 4096, }, 938c2ecf20Sopenharmony_ci { .blen = 8192, .plen = 8192, }, 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci /* End marker */ 968c2ecf20Sopenharmony_ci { .blen = 0, .plen = 0, } 978c2ecf20Sopenharmony_ci}; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_cistatic struct hash_speed poly1305_speed_template[] = { 1008c2ecf20Sopenharmony_ci { .blen = 96, .plen = 16, }, 1018c2ecf20Sopenharmony_ci { .blen = 96, .plen = 32, }, 1028c2ecf20Sopenharmony_ci { .blen = 96, .plen = 96, }, 1038c2ecf20Sopenharmony_ci { .blen = 288, .plen = 16, }, 1048c2ecf20Sopenharmony_ci { .blen = 288, .plen = 32, }, 1058c2ecf20Sopenharmony_ci { .blen = 288, .plen = 288, }, 1068c2ecf20Sopenharmony_ci { .blen = 1056, .plen = 32, }, 1078c2ecf20Sopenharmony_ci { .blen = 1056, .plen = 1056, }, 1088c2ecf20Sopenharmony_ci { .blen = 2080, .plen = 32, }, 1098c2ecf20Sopenharmony_ci { .blen = 2080, .plen = 2080, }, 1108c2ecf20Sopenharmony_ci { .blen = 4128, .plen = 4128, }, 1118c2ecf20Sopenharmony_ci { .blen = 8224, .plen = 8224, }, 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci /* End marker */ 1148c2ecf20Sopenharmony_ci { .blen = 0, .plen = 0, } 1158c2ecf20Sopenharmony_ci}; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci#endif /* _CRYPTO_TCRYPT_H */ 118