cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tcrypt.h (3118B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Quick & dirty crypto testing module.
      4 *
      5 * This will only exist until we have a better testing mechanism
      6 * (e.g. a char device).
      7 *
      8 * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
      9 * Copyright (c) 2002 Jean-Francois Dive <jef@linuxbe.org>
     10 * Copyright (c) 2007 Nokia Siemens Networks
     11 */
     12#ifndef _CRYPTO_TCRYPT_H
     13#define _CRYPTO_TCRYPT_H
     14
     15struct cipher_speed_template {
     16	const char *key;
     17	unsigned int klen;
     18};
     19
     20struct aead_speed_template {
     21	const char *key;
     22	unsigned int klen;
     23};
     24
     25struct hash_speed {
     26	unsigned int blen;	/* buffer length */
     27	unsigned int plen;	/* per-update length */
     28};
     29
     30/*
     31 * DES test vectors.
     32 */
     33#define DES3_SPEED_VECTORS	1
     34
     35static 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 */
     47static u8 speed_template_8[] = {8, 0};
     48static u8 speed_template_16[] = {16, 0};
     49static u8 speed_template_24[] = {24, 0};
     50static u8 speed_template_8_16[] = {8, 16, 0};
     51static u8 speed_template_8_32[] = {8, 32, 0};
     52static u8 speed_template_16_32[] = {16, 32, 0};
     53static u8 speed_template_16_24_32[] = {16, 24, 32, 0};
     54static u8 speed_template_20_28_36[] = {20, 28, 36, 0};
     55static u8 speed_template_32_40_48[] = {32, 40, 48, 0};
     56static u8 speed_template_32_48[] = {32, 48, 0};
     57static u8 speed_template_32_48_64[] = {32, 48, 64, 0};
     58static u8 speed_template_32_64[] = {32, 64, 0};
     59static u8 speed_template_32[] = {32, 0};
     60
     61/*
     62 * AEAD speed tests
     63 */
     64static u8 aead_speed_template_19[] = {19, 0};
     65static u8 aead_speed_template_20[] = {20, 0};
     66static u8 aead_speed_template_36[] = {36, 0};
     67
     68/*
     69 * Digest speed tests
     70 */
     71static 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	/* End marker */
     96	{  .blen = 0,	.plen = 0, }
     97};
     98
     99static struct hash_speed poly1305_speed_template[] = {
    100	{ .blen = 96,	.plen = 16, },
    101	{ .blen = 96,	.plen = 32, },
    102	{ .blen = 96,	.plen = 96, },
    103	{ .blen = 288,	.plen = 16, },
    104	{ .blen = 288,	.plen = 32, },
    105	{ .blen = 288,	.plen = 288, },
    106	{ .blen = 1056,	.plen = 32, },
    107	{ .blen = 1056,	.plen = 1056, },
    108	{ .blen = 2080,	.plen = 32, },
    109	{ .blen = 2080,	.plen = 2080, },
    110	{ .blen = 4128,	.plen = 4128, },
    111	{ .blen = 8224,	.plen = 8224, },
    112
    113	/* End marker */
    114	{  .blen = 0,	.plen = 0, }
    115};
    116
    117#endif	/* _CRYPTO_TCRYPT_H */