2005-04-17 02:20:36 +04:00
/*
* Quick & dirty crypto testing module .
*
* This will only exist until we have a better testing mechanism
* ( e . g . a char device ) .
*
* Copyright ( c ) 2002 James Morris < jmorris @ intercode . com . au >
* Copyright ( c ) 2002 Jean - Francois Dive < jef @ linuxbe . org >
2007-11-26 17:12:07 +03:00
* Copyright ( c ) 2007 Nokia Siemens Networks
2005-04-17 02:20:36 +04:00
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the Free
2005-06-23 00:26:03 +04:00
* Software Foundation ; either version 2 of the License , or ( at your option )
2005-04-17 02:20:36 +04:00
* any later version .
*
*/
# ifndef _CRYPTO_TCRYPT_H
# define _CRYPTO_TCRYPT_H
2008-07-31 13:08:25 +04:00
struct cipher_speed_template {
const char * key ;
unsigned int klen ;
2007-11-26 17:12:07 +03:00
} ;
2006-08-19 15:38:49 +04:00
struct hash_speed {
2006-05-30 16:04:19 +04:00
unsigned int blen ; /* buffer length */
unsigned int plen ; /* per-update length */
2010-03-10 13:30:32 +03:00
unsigned int klen ; /* key length */
2006-05-30 16:04:19 +04:00
} ;
2005-04-17 02:20:36 +04:00
/*
* DES test vectors .
*/
2008-07-31 13:08:25 +04:00
# define DES3_SPEED_VECTORS 1
2005-04-17 02:20:36 +04:00
2008-07-31 13:08:25 +04:00
static struct cipher_speed_template des3_speed_template [ ] = {
2005-04-17 02:20:36 +04:00
{
2008-03-13 15:21:51 +03:00
. key = " \x01 \x23 \x45 \x67 \x89 \xab \xcd \xef "
2008-07-31 13:08:25 +04:00
" \x55 \x55 \x55 \x55 \x55 \x55 \x55 \x55 "
2008-03-13 15:21:51 +03:00
" \xfe \xdc \xba \x98 \x76 \x54 \x32 \x10 " ,
2007-01-24 13:48:19 +03:00
. klen = 24 ,
2007-08-21 16:01:03 +04:00
}
} ;
2005-06-23 00:27:23 +04:00
/*
* Cipher speed tests
*/
2008-03-11 16:27:11 +03:00
static u8 speed_template_8 [ ] = { 8 , 0 } ;
static u8 speed_template_24 [ ] = { 24 , 0 } ;
static u8 speed_template_8_32 [ ] = { 8 , 32 , 0 } ;
static u8 speed_template_16_32 [ ] = { 16 , 32 , 0 } ;
static u8 speed_template_16_24_32 [ ] = { 16 , 24 , 32 , 0 } ;
static u8 speed_template_32_40_48 [ ] = { 32 , 40 , 48 , 0 } ;
2011-10-18 14:32:39 +04:00
static u8 speed_template_32_48 [ ] = { 32 , 48 , 0 } ;
2008-03-11 16:27:11 +03:00
static u8 speed_template_32_48_64 [ ] = { 32 , 48 , 64 , 0 } ;
2011-10-18 14:33:22 +04:00
static u8 speed_template_32_64 [ ] = { 32 , 64 , 0 } ;
2007-09-19 16:23:13 +04:00
2006-05-30 16:04:19 +04:00
/*
* Digest speed tests
*/
2006-08-19 15:38:49 +04:00
static struct hash_speed generic_hash_speed_template [ ] = {
2008-03-13 15:21:51 +03:00
{ . blen = 16 , . plen = 16 , } ,
2006-05-30 16:04:19 +04:00
{ . blen = 64 , . plen = 16 , } ,
{ . blen = 64 , . plen = 64 , } ,
{ . blen = 256 , . plen = 16 , } ,
{ . blen = 256 , . plen = 64 , } ,
{ . blen = 256 , . plen = 256 , } ,
{ . blen = 1024 , . plen = 16 , } ,
{ . blen = 1024 , . plen = 256 , } ,
{ . blen = 1024 , . plen = 1024 , } ,
{ . blen = 2048 , . plen = 16 , } ,
{ . blen = 2048 , . plen = 256 , } ,
{ . blen = 2048 , . plen = 1024 , } ,
{ . blen = 2048 , . plen = 2048 , } ,
{ . blen = 4096 , . plen = 16 , } ,
{ . blen = 4096 , . plen = 256 , } ,
{ . blen = 4096 , . plen = 1024 , } ,
{ . blen = 4096 , . plen = 4096 , } ,
{ . blen = 8192 , . plen = 16 , } ,
{ . blen = 8192 , . plen = 256 , } ,
{ . blen = 8192 , . plen = 1024 , } ,
{ . blen = 8192 , . plen = 4096 , } ,
{ . blen = 8192 , . plen = 8192 , } ,
/* End marker */
{ . blen = 0 , . plen = 0 , }
} ;
2010-03-10 13:30:32 +03:00
static struct hash_speed hash_speed_template_16 [ ] = {
{ . blen = 16 , . plen = 16 , . klen = 16 , } ,
{ . blen = 64 , . plen = 16 , . klen = 16 , } ,
{ . blen = 64 , . plen = 64 , . klen = 16 , } ,
{ . blen = 256 , . plen = 16 , . klen = 16 , } ,
{ . blen = 256 , . plen = 64 , . klen = 16 , } ,
{ . blen = 256 , . plen = 256 , . klen = 16 , } ,
{ . blen = 1024 , . plen = 16 , . klen = 16 , } ,
{ . blen = 1024 , . plen = 256 , . klen = 16 , } ,
{ . blen = 1024 , . plen = 1024 , . klen = 16 , } ,
{ . blen = 2048 , . plen = 16 , . klen = 16 , } ,
{ . blen = 2048 , . plen = 256 , . klen = 16 , } ,
{ . blen = 2048 , . plen = 1024 , . klen = 16 , } ,
{ . blen = 2048 , . plen = 2048 , . klen = 16 , } ,
{ . blen = 4096 , . plen = 16 , . klen = 16 , } ,
{ . blen = 4096 , . plen = 256 , . klen = 16 , } ,
{ . blen = 4096 , . plen = 1024 , . klen = 16 , } ,
{ . blen = 4096 , . plen = 4096 , . klen = 16 , } ,
{ . blen = 8192 , . plen = 16 , . klen = 16 , } ,
{ . blen = 8192 , . plen = 256 , . klen = 16 , } ,
{ . blen = 8192 , . plen = 1024 , . klen = 16 , } ,
{ . blen = 8192 , . plen = 4096 , . klen = 16 , } ,
{ . blen = 8192 , . plen = 8192 , . klen = 16 , } ,
/* End marker */
{ . blen = 0 , . plen = 0 , . klen = 0 , }
} ;
2005-04-17 02:20:36 +04:00
# endif /* _CRYPTO_TCRYPT_H */