| 1 |
|
| 2 | |
| 3 | * Quick & dirty crypto benchmarking module.
|
| 4 | *
|
| 5 | * This will only exist until we have a better benchmarking mechanism
|
| 6 | * (e.g. a char device).
|
| 7 | *
|
| 8 | * Copyright (c) 2002 James Morris <[email protected]>
|
| 9 | * Copyright (c) 2002 Jean-Francois Dive <[email protected]>
|
| 10 | * Copyright (c) 2007 Nokia Siemens Networks
|
| 11 |
|
| 12 | #ifndef _CRYPTO_TCRYPT_H
|
| 13 | #define _CRYPTO_TCRYPT_H
|
| 14 |
|
| 15 | struct cipher_speed_template {
|
| 16 | const char *key;
|
| 17 | unsigned int klen;
|
| 18 | };
|
| 19 |
|
| 20 | struct aead_speed_template {
|
| 21 | const char *key;
|
| 22 | unsigned int klen;
|
| 23 | };
|
| 24 |
|
| 25 | struct hash_speed {
|
| 26 | unsigned int blen;
|
| 27 | unsigned int plen;
|
| 28 | };
|
| 29 |
|
| 30 | |
| 31 | * DES test vectors.
|
| 32 |
|
| 33 | #define DES3_SPEED_VECTORS 1
|
| 34 |
|
| 35 | static struct cipher_speed_template des3_speed_template[] = {
|
| 36 | {
|
| 37 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef"
|
| 38 | "\x55\x55\x55\x55\x55\x55\x55\x55"
|
| 39 | "\xfe\xdc\xba\x98\x76\x54\x32\x10",
|
| 40 | .klen = 24,
|
| 41 | }
|
| 42 | };
|
| 43 |
|
| 44 | |
| 45 | * Cipher speed tests
|
| 46 |
|
| 47 | static u8 speed_template_8[] = {8, 0};
|
| 48 | static u8 speed_template_16[] = {16, 0};
|
| 49 | static u8 speed_template_24[] = {24, 0};
|
| 50 | static u8 speed_template_8_16[] = {8, 16, 0};
|
| 51 | static u8 speed_template_8_32[] = {8, 32, 0};
|
| 52 | static u8 speed_template_16_32[] = {16, 32, 0};
|
| 53 | static u8 speed_template_16_24_32[] = {16, 24, 32, 0};
|
| 54 | static u8 speed_template_20_28_36[] = {20, 28, 36, 0};
|
| 55 | static u8 speed_template_32_40_48[] = {32, 40, 48, 0};
|
| 56 | static u8 speed_template_32_48[] = {32, 48, 0};
|
| 57 | static u8 speed_template_32_48_64[] = {32, 48, 64, 0};
|
| 58 | static u8 speed_template_32_64[] = {32, 64, 0};
|
| 59 | static u8 speed_template_32[] = {32, 0};
|
| 60 |
|
| 61 | |
| 62 | * AEAD speed tests
|
| 63 |
|
| 64 | static u8 aead_speed_template_19[] = {19, 0};
|
| 65 | static u8 aead_speed_template_20_28_36[] = {20, 28, 36, 0};
|
| 66 | static u8 aead_speed_template_36[] = {36, 0};
|
| 67 |
|
| 68 | |
| 69 | * Digest speed tests
|
| 70 |
|
| 71 | static struct hash_speed generic_hash_speed_template[] = {
|
| 72 | { .blen = 16, .plen = 16, },
|
| 73 | { .blen = 64, .plen = 16, },
|
| 74 | { .blen = 64, .plen = 64, },
|
| 75 | { .blen = 256, .plen = 16, },
|
| 76 | { .blen = 256, .plen = 64, },
|
| 77 | { .blen = 256, .plen = 256, },
|
| 78 | { .blen = 1024, .plen = 16, },
|
| 79 | { .blen = 1024, .plen = 256, },
|
| 80 | { .blen = 1024, .plen = 1024, },
|
| 81 | { .blen = 2048, .plen = 16, },
|
| 82 | { .blen = 2048, .plen = 256, },
|
| 83 | { .blen = 2048, .plen = 1024, },
|
| 84 | { .blen = 2048, .plen = 2048, },
|
| 85 | { .blen = 4096, .plen = 16, },
|
| 86 | { .blen = 4096, .plen = 256, },
|
| 87 | { .blen = 4096, .plen = 1024, },
|
| 88 | { .blen = 4096, .plen = 4096, },
|
| 89 | { .blen = 8192, .plen = 16, },
|
| 90 | { .blen = 8192, .plen = 256, },
|
| 91 | { .blen = 8192, .plen = 1024, },
|
| 92 | { .blen = 8192, .plen = 4096, },
|
| 93 | { .blen = 8192, .plen = 8192, },
|
| 94 |
|
| 95 |
|
| 96 | { .blen = 0, .plen = 0, }
|
| 97 | };
|
| 98 |
|
| 99 | #endif
|