Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 477035c2 authored by Sebastian Siewior's avatar Sebastian Siewior Committed by Herbert Xu
Browse files

[CRYPTO] tcrypt: Group common speed templates



Some crypto ciphers which are impleneted support similar key sizes
(16,24 & 32 byte). They can be grouped together and use a common
templatte instead of their own which contains the same data.

Signed-off-by: default avatarSebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 78f8b3a2
Loading
Loading
Loading
Loading
+33 −37
Original line number Diff line number Diff line
@@ -1621,89 +1621,85 @@ static void do_test(void)

	case 200:
		test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,
				  aes_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("ecb(aes)", DECRYPT, sec, NULL, 0,
				  aes_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("cbc(aes)", ENCRYPT, sec, NULL, 0,
				  aes_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("cbc(aes)", DECRYPT, sec, NULL, 0,
				  aes_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("lrw(aes)", ENCRYPT, sec, NULL, 0,
				  aes_lrw_speed_template);
				speed_template_32_40_48);
		test_cipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
				  aes_lrw_speed_template);
				speed_template_32_40_48);
		test_cipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
				  aes_xts_speed_template);
				speed_template_32_48_64);
		test_cipher_speed("xts(aes)", DECRYPT, sec, NULL, 0,
				  aes_xts_speed_template);
				speed_template_32_48_64);
		break;

	case 201:
		test_cipher_speed("ecb(des3_ede)", ENCRYPT, sec,
				  des3_ede_enc_tv_template,
				  DES3_EDE_ENC_TEST_VECTORS,
				  des3_ede_speed_template);
				des3_ede_enc_tv_template, DES3_EDE_ENC_TEST_VECTORS,
				speed_template_24);
		test_cipher_speed("ecb(des3_ede)", DECRYPT, sec,
				  des3_ede_dec_tv_template,
				  DES3_EDE_DEC_TEST_VECTORS,
				  des3_ede_speed_template);
				des3_ede_enc_tv_template, DES3_EDE_ENC_TEST_VECTORS,
				speed_template_24);
		test_cipher_speed("cbc(des3_ede)", ENCRYPT, sec,
				  des3_ede_enc_tv_template,
				  DES3_EDE_ENC_TEST_VECTORS,
				  des3_ede_speed_template);
				des3_ede_enc_tv_template, DES3_EDE_ENC_TEST_VECTORS,
				speed_template_24);
		test_cipher_speed("cbc(des3_ede)", DECRYPT, sec,
				  des3_ede_dec_tv_template,
				  DES3_EDE_DEC_TEST_VECTORS,
				  des3_ede_speed_template);
				des3_ede_enc_tv_template, DES3_EDE_ENC_TEST_VECTORS,
				speed_template_24);
		break;

	case 202:
		test_cipher_speed("ecb(twofish)", ENCRYPT, sec, NULL, 0,
				  twofish_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("ecb(twofish)", DECRYPT, sec, NULL, 0,
				  twofish_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("cbc(twofish)", ENCRYPT, sec, NULL, 0,
				  twofish_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("cbc(twofish)", DECRYPT, sec, NULL, 0,
				  twofish_speed_template);
				speed_template_16_24_32);
		break;

	case 203:
		test_cipher_speed("ecb(blowfish)", ENCRYPT, sec, NULL, 0,
				  blowfish_speed_template);
				  speed_template_8_32);
		test_cipher_speed("ecb(blowfish)", DECRYPT, sec, NULL, 0,
				  blowfish_speed_template);
				  speed_template_8_32);
		test_cipher_speed("cbc(blowfish)", ENCRYPT, sec, NULL, 0,
				  blowfish_speed_template);
				  speed_template_8_32);
		test_cipher_speed("cbc(blowfish)", DECRYPT, sec, NULL, 0,
				  blowfish_speed_template);
				  speed_template_8_32);
		break;

	case 204:
		test_cipher_speed("ecb(des)", ENCRYPT, sec, NULL, 0,
				  des_speed_template);
				  speed_template_8);
		test_cipher_speed("ecb(des)", DECRYPT, sec, NULL, 0,
				  des_speed_template);
				  speed_template_8);
		test_cipher_speed("cbc(des)", ENCRYPT, sec, NULL, 0,
				  des_speed_template);
				  speed_template_8);
		test_cipher_speed("cbc(des)", DECRYPT, sec, NULL, 0,
				  des_speed_template);
				  speed_template_8);
		break;

	case 205:
		test_cipher_speed("ecb(camellia)", ENCRYPT, sec, NULL, 0,
				camellia_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("ecb(camellia)", DECRYPT, sec, NULL, 0,
				camellia_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("cbc(camellia)", ENCRYPT, sec, NULL, 0,
				camellia_speed_template);
				speed_template_16_24_32);
		test_cipher_speed("cbc(camellia)", DECRYPT, sec, NULL, 0,
				camellia_speed_template);
				speed_template_16_24_32);
		break;

	case 206:
		test_cipher_speed("salsa20", ENCRYPT, sec, NULL, 0,
				  salsa20_speed_template);
				  speed_template_16_32);
		break;

	case 300:
+58 −100
Original line number Diff line number Diff line
@@ -8032,81 +8032,62 @@ static struct hash_testvec crc32c_tv_template[] = {
/*
 * Cipher speed tests
 */
static struct cipher_speed aes_speed_template[] = {
	{ .klen = 16, .blen = 16, },
	{ .klen = 16, .blen = 64, },
	{ .klen = 16, .blen = 256, },
	{ .klen = 16, .blen = 1024, },
	{ .klen = 16, .blen = 8192, },
static struct cipher_speed speed_template_8[] = {
	{ .klen = 8, .blen = 16, },
	{ .klen = 8, .blen = 64, },
	{ .klen = 8, .blen = 256, },
	{ .klen = 8, .blen = 1024, },
	{ .klen = 8, .blen = 8192, },

	/* End marker */
	{  .klen = 0, .blen = 0, }
};

static struct cipher_speed speed_template_24[] = {
	{ .klen = 24, .blen = 16, },
	{ .klen = 24, .blen = 64, },
	{ .klen = 24, .blen = 256, },
	{ .klen = 24, .blen = 1024, },
	{ .klen = 24, .blen = 8192, },
	{ .klen = 32, .blen = 16, },
	{ .klen = 32, .blen = 64, },
	{ .klen = 32, .blen = 256, },
	{ .klen = 32, .blen = 1024, },
	{ .klen = 32, .blen = 8192, },

	/* End marker */
	{  .klen = 0, .blen = 0, }
};

static struct cipher_speed aes_lrw_speed_template[] = {
static struct cipher_speed speed_template_8_32[] = {
	/* Don't support blowfish keys > 256 bit in this test */
	{ .klen = 8, .blen = 16, },
	{ .klen = 8, .blen = 64, },
	{ .klen = 8, .blen = 256, },
	{ .klen = 8, .blen = 1024, },
	{ .klen = 8, .blen = 8192, },
	{ .klen = 32, .blen = 16, },
	{ .klen = 32, .blen = 64, },
	{ .klen = 32, .blen = 256, },
	{ .klen = 32, .blen = 1024, },
	{ .klen = 32, .blen = 8192, },
	{ .klen = 40, .blen = 16, },
	{ .klen = 40, .blen = 64, },
	{ .klen = 40, .blen = 256, },
	{ .klen = 40, .blen = 1024, },
	{ .klen = 40, .blen = 8192, },
	{ .klen = 48, .blen = 16, },
	{ .klen = 48, .blen = 64, },
	{ .klen = 48, .blen = 256, },
	{ .klen = 48, .blen = 1024, },
	{ .klen = 48, .blen = 8192, },

	/* End marker */
	{  .klen = 0, .blen = 0, }
};

static struct cipher_speed aes_xts_speed_template[] = {
static struct cipher_speed speed_template_16_32[] = {
      { .klen = 16, .blen = 16, },
      { .klen = 16, .blen = 64, },
      { .klen = 16, .blen = 256, },
      { .klen = 16, .blen = 1024, },
      { .klen = 16, .blen = 8192, },
      { .klen = 32, .blen = 16, },
      { .klen = 32, .blen = 64, },
      { .klen = 32, .blen = 256, },
      { .klen = 32, .blen = 1024, },
      { .klen = 32, .blen = 8192, },
	{ .klen = 48, .blen = 16, },
	{ .klen = 48, .blen = 64, },
	{ .klen = 48, .blen = 256, },
	{ .klen = 48, .blen = 1024, },
	{ .klen = 48, .blen = 8192, },
	{ .klen = 64, .blen = 16, },
	{ .klen = 64, .blen = 64, },
	{ .klen = 64, .blen = 256, },
	{ .klen = 64, .blen = 1024, },
	{ .klen = 64, .blen = 8192, },

	/* End marker */
	{  .klen = 0, .blen = 0, }
};

static struct cipher_speed des3_ede_speed_template[] = {
	{ .klen = 24, .blen = 16, },
	{ .klen = 24, .blen = 64, },
	{ .klen = 24, .blen = 256, },
	{ .klen = 24, .blen = 1024, },
	{ .klen = 24, .blen = 8192, },

      /* End marker */
      {  .klen = 0, .blen = 0, }
};

static struct cipher_speed twofish_speed_template[] = {
static struct cipher_speed speed_template_16_24_32[] = {
	{ .klen = 16, .blen = 16, },
	{ .klen = 16, .blen = 64, },
	{ .klen = 16, .blen = 256, },
@@ -8127,29 +8108,43 @@ static struct cipher_speed twofish_speed_template[] = {
	{  .klen = 0, .blen = 0, }
};

static struct cipher_speed blowfish_speed_template[] = {
	/* Don't support blowfish keys > 256 bit in this test */
	{ .klen = 8, .blen = 16, },
	{ .klen = 8, .blen = 64, },
	{ .klen = 8, .blen = 256, },
	{ .klen = 8, .blen = 1024, },
	{ .klen = 8, .blen = 8192, },
static struct cipher_speed speed_template_32_40_48[] = {
	{ .klen = 32, .blen = 16, },
	{ .klen = 32, .blen = 64, },
	{ .klen = 32, .blen = 256, },
	{ .klen = 32, .blen = 1024, },
	{ .klen = 32, .blen = 8192, },
	{ .klen = 40, .blen = 16, },
	{ .klen = 40, .blen = 64, },
	{ .klen = 40, .blen = 256, },
	{ .klen = 40, .blen = 1024, },
	{ .klen = 40, .blen = 8192, },
	{ .klen = 48, .blen = 16, },
	{ .klen = 48, .blen = 64, },
	{ .klen = 48, .blen = 256, },
	{ .klen = 48, .blen = 1024, },
	{ .klen = 48, .blen = 8192, },

	/* End marker */
	{  .klen = 0, .blen = 0, }
};

static struct cipher_speed des_speed_template[] = {
	{ .klen = 8, .blen = 16, },
	{ .klen = 8, .blen = 64, },
	{ .klen = 8, .blen = 256, },
	{ .klen = 8, .blen = 1024, },
	{ .klen = 8, .blen = 8192, },
static struct cipher_speed speed_template_32_48_64[] = {
	{ .klen = 32, .blen = 16, },
	{ .klen = 32, .blen = 64, },
	{ .klen = 32, .blen = 256, },
	{ .klen = 32, .blen = 1024, },
	{ .klen = 32, .blen = 8192, },
	{ .klen = 48, .blen = 16, },
	{ .klen = 48, .blen = 64, },
	{ .klen = 48, .blen = 256, },
	{ .klen = 48, .blen = 1024, },
	{ .klen = 48, .blen = 8192, },
	{ .klen = 64, .blen = 16, },
	{ .klen = 64, .blen = 64, },
	{ .klen = 64, .blen = 256, },
	{ .klen = 64, .blen = 1024, },
	{ .klen = 64, .blen = 8192, },

	/* End marker */
	{  .klen = 0, .blen = 0, }
@@ -8186,41 +8181,4 @@ static struct hash_speed generic_hash_speed_template[] = {
	{  .blen = 0,	.plen = 0, }
};

static struct cipher_speed camellia_speed_template[] = {
      { .klen = 16, .blen = 16, },
      { .klen = 16, .blen = 64, },
      { .klen = 16, .blen = 256, },
      { .klen = 16, .blen = 1024, },
      { .klen = 16, .blen = 8192, },
      { .klen = 24, .blen = 16, },
      { .klen = 24, .blen = 64, },
      { .klen = 24, .blen = 256, },
      { .klen = 24, .blen = 1024, },
      { .klen = 24, .blen = 8192, },
      { .klen = 32, .blen = 16, },
      { .klen = 32, .blen = 64, },
      { .klen = 32, .blen = 256, },
      { .klen = 32, .blen = 1024, },
      { .klen = 32, .blen = 8192, },

      /* End marker */
      {  .klen = 0, .blen = 0, }
};

static struct cipher_speed salsa20_speed_template[] = {
      { .klen = 16, .blen = 16, },
      { .klen = 16, .blen = 64, },
      { .klen = 16, .blen = 256, },
      { .klen = 16, .blen = 1024, },
      { .klen = 16, .blen = 8192, },
      { .klen = 32, .blen = 16, },
      { .klen = 32, .blen = 64, },
      { .klen = 32, .blen = 256, },
      { .klen = 32, .blen = 1024, },
      { .klen = 32, .blen = 8192, },

      /* End marker */
      {  .klen = 0, .blen = 0, }
};

#endif	/* _CRYPTO_TCRYPT_H */