diff options
| author | miod <> | 2014-07-12 19:31:03 +0000 |
|---|---|---|
| committer | miod <> | 2014-07-12 19:31:03 +0000 |
| commit | c98e156e7f943ebb6cadede90675ca5cd61fa358 (patch) | |
| tree | cde8a7936e88d82ac3be96a828f5919fa4411ffb /src | |
| parent | 2c002ac93c490c0ffbf8c1513f932b560b58a41c (diff) | |
| download | openbsd-c98e156e7f943ebb6cadede90675ca5cd61fa358.tar.gz openbsd-c98e156e7f943ebb6cadede90675ca5cd61fa358.tar.bz2 openbsd-c98e156e7f943ebb6cadede90675ca5cd61fa358.zip | |
Make the BLOCK_CIPHER_{generic,custom} macros expand to more readable struct
definitions using C99 field initializers. No functional change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/evp/e_aes.c | 169 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/evp/e_aes.c | 169 |
2 files changed, 204 insertions, 134 deletions
diff --git a/src/lib/libcrypto/evp/e_aes.c b/src/lib/libcrypto/evp/e_aes.c index 3304e3417e..f96a15f19c 100644 --- a/src/lib/libcrypto/evp/e_aes.c +++ b/src/lib/libcrypto/evp/e_aes.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: e_aes.c,v 1.24 2014/07/11 14:38:51 miod Exp $ */ | 1 | /* $OpenBSD: e_aes.c,v 1.25 2014/07/12 19:31:03 miod Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -385,75 +385,110 @@ aesni_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, | |||
| 385 | static int aesni_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, | 385 | static int aesni_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, |
| 386 | const unsigned char *in, size_t len); | 386 | const unsigned char *in, size_t len); |
| 387 | 387 | ||
| 388 | #define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ | 388 | #define BLOCK_CIPHER_generic(n,keylen,blocksize,ivlen,nmode,mode,MODE,fl) \ |
| 389 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ | 389 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ |
| 390 | nid##_##keylen##_##nmode,blocksize,keylen/8,ivlen, \ | 390 | .nid = n##_##keylen##_##nmode, \ |
| 391 | flags|EVP_CIPH_##MODE##_MODE, \ | 391 | .block_size = blocksize, \ |
| 392 | aesni_init_key, \ | 392 | .key_len = keylen / 8, \ |
| 393 | aesni_##mode##_cipher, \ | 393 | .iv_len = ivlen, \ |
| 394 | NULL, \ | 394 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 395 | sizeof(EVP_AES_KEY), \ | 395 | .init = aesni_init_key, \ |
| 396 | NULL,NULL,NULL,NULL }; \ | 396 | .do_cipher = aesni_##mode##_cipher, \ |
| 397 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 397 | .ctx_size = sizeof(EVP_AES_KEY) \ |
| 398 | nid##_##keylen##_##nmode,blocksize, \ | 398 | }; \ |
| 399 | keylen/8,ivlen, \ | 399 | static const EVP_CIPHER aes_##keylen##_##mode = { \ |
| 400 | flags|EVP_CIPH_##MODE##_MODE, \ | 400 | .nid = n##_##keylen##_##nmode, \ |
| 401 | aes_init_key, \ | 401 | .block_size = blocksize, \ |
| 402 | aes_##mode##_cipher, \ | 402 | .key_len = keylen / 8, \ |
| 403 | NULL, \ | 403 | .iv_len = ivlen, \ |
| 404 | sizeof(EVP_AES_KEY), \ | 404 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 405 | NULL,NULL,NULL,NULL }; \ | 405 | .init = aes_init_key, \ |
| 406 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 406 | .do_cipher = aes_##mode##_cipher, \ |
| 407 | { return AESNI_CAPABLE?&aesni_##keylen##_##mode:&aes_##keylen##_##mode; } | 407 | .ctx_size = sizeof(EVP_AES_KEY) \ |
| 408 | 408 | }; \ | |
| 409 | #define BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags) \ | 409 | const EVP_CIPHER * \ |
| 410 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ | 410 | EVP_aes_##keylen##_##mode(void) \ |
| 411 | nid##_##keylen##_##mode,blocksize, \ | 411 | { \ |
| 412 | (EVP_CIPH_##MODE##_MODE==EVP_CIPH_XTS_MODE?2:1)*keylen/8, ivlen, \ | 412 | return AESNI_CAPABLE ? \ |
| 413 | flags|EVP_CIPH_##MODE##_MODE, \ | 413 | &aesni_##keylen##_##mode : &aes_##keylen##_##mode; \ |
| 414 | aesni_##mode##_init_key, \ | 414 | } |
| 415 | aesni_##mode##_cipher, \ | 415 | |
| 416 | aes_##mode##_cleanup, \ | 416 | #define BLOCK_CIPHER_custom(n,keylen,blocksize,ivlen,mode,MODE,fl) \ |
| 417 | sizeof(EVP_AES_##MODE##_CTX), \ | 417 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ |
| 418 | NULL,NULL,aes_##mode##_ctrl,NULL }; \ | 418 | .nid = n##_##keylen##_##mode, \ |
| 419 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 419 | .block_size = blocksize, \ |
| 420 | nid##_##keylen##_##mode,blocksize, \ | 420 | .key_len = \ |
| 421 | (EVP_CIPH_##MODE##_MODE==EVP_CIPH_XTS_MODE?2:1)*keylen/8, ivlen, \ | 421 | (EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE ? 2 : 1) * \ |
| 422 | flags|EVP_CIPH_##MODE##_MODE, \ | 422 | keylen / 8, \ |
| 423 | aes_##mode##_init_key, \ | 423 | .iv_len = ivlen, \ |
| 424 | aes_##mode##_cipher, \ | 424 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 425 | aes_##mode##_cleanup, \ | 425 | .init = aesni_##mode##_init_key, \ |
| 426 | sizeof(EVP_AES_##MODE##_CTX), \ | 426 | .do_cipher = aesni_##mode##_cipher, \ |
| 427 | NULL,NULL,aes_##mode##_ctrl,NULL }; \ | 427 | .cleanup = aes_##mode##_cleanup, \ |
| 428 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 428 | .ctx_size = sizeof(EVP_AES_##MODE##_CTX), \ |
| 429 | { return AESNI_CAPABLE?&aesni_##keylen##_##mode:&aes_##keylen##_##mode; } | 429 | .ctrl = aes_##mode##_ctrl \ |
| 430 | }; \ | ||
| 431 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | ||
| 432 | .nid = n##_##keylen##_##mode, \ | ||
| 433 | .block_size = blocksize, \ | ||
| 434 | .key_len = \ | ||
| 435 | (EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE ? 2 : 1) * \ | ||
| 436 | keylen / 8, \ | ||
| 437 | .iv_len = ivlen, \ | ||
| 438 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ | ||
| 439 | .init = aes_##mode##_init_key, \ | ||
| 440 | .do_cipher = aes_##mode##_cipher, \ | ||
| 441 | .cleanup = aes_##mode##_cleanup, \ | ||
| 442 | .ctx_size = sizeof(EVP_AES_##MODE##_CTX), \ | ||
| 443 | .ctrl = aes_##mode##_ctrl \ | ||
| 444 | }; \ | ||
| 445 | const EVP_CIPHER * \ | ||
| 446 | EVP_aes_##keylen##_##mode(void) \ | ||
| 447 | { \ | ||
| 448 | return AESNI_CAPABLE ? \ | ||
| 449 | &aesni_##keylen##_##mode : &aes_##keylen##_##mode; \ | ||
| 450 | } | ||
| 430 | 451 | ||
| 431 | #else | 452 | #else |
| 432 | 453 | ||
| 433 | #define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ | 454 | #define BLOCK_CIPHER_generic(n,keylen,blocksize,ivlen,nmode,mode,MODE,fl) \ |
| 434 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 455 | static const EVP_CIPHER aes_##keylen##_##mode = { \ |
| 435 | nid##_##keylen##_##nmode,blocksize,keylen/8,ivlen, \ | 456 | .nid = n##_##keylen##_##nmode, \ |
| 436 | flags|EVP_CIPH_##MODE##_MODE, \ | 457 | .block_size = blocksize, \ |
| 437 | aes_init_key, \ | 458 | .key_len = keylen / 8, \ |
| 438 | aes_##mode##_cipher, \ | 459 | .iv_len = ivlen, \ |
| 439 | NULL, \ | 460 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 440 | sizeof(EVP_AES_KEY), \ | 461 | .init = aes_init_key, \ |
| 441 | NULL,NULL,NULL,NULL }; \ | 462 | .do_cipher = aes_##mode##_cipher, \ |
| 442 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 463 | .ctx_size = sizeof(EVP_AES_KEY) \ |
| 443 | { return &aes_##keylen##_##mode; } | 464 | }; \ |
| 444 | 465 | const EVP_CIPHER * \ | |
| 445 | #define BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags) \ | 466 | EVP_aes_##keylen##_##mode(void) \ |
| 446 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 467 | { \ |
| 447 | nid##_##keylen##_##mode,blocksize, \ | 468 | return &aes_##keylen##_##mode; \ |
| 448 | (EVP_CIPH_##MODE##_MODE==EVP_CIPH_XTS_MODE?2:1)*keylen/8, ivlen, \ | 469 | } |
| 449 | flags|EVP_CIPH_##MODE##_MODE, \ | 470 | |
| 450 | aes_##mode##_init_key, \ | 471 | #define BLOCK_CIPHER_custom(n,keylen,blocksize,ivlen,mode,MODE,fl) \ |
| 451 | aes_##mode##_cipher, \ | 472 | static const EVP_CIPHER aes_##keylen##_##mode = { \ |
| 452 | aes_##mode##_cleanup, \ | 473 | .nid = n##_##keylen##_##mode, \ |
| 453 | sizeof(EVP_AES_##MODE##_CTX), \ | 474 | .block_size = blocksize, \ |
| 454 | NULL,NULL,aes_##mode##_ctrl,NULL }; \ | 475 | .key_len = \ |
| 455 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 476 | (EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE ? 2 : 1) * \ |
| 456 | { return &aes_##keylen##_##mode; } | 477 | keylen / 8, \ |
| 478 | .iv_len = ivlen, \ | ||
| 479 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ | ||
| 480 | .init = aes_##mode##_init_key, \ | ||
| 481 | .do_cipher = aes_##mode##_cipher, \ | ||
| 482 | .cleanup = aes_##mode##_cleanup, \ | ||
| 483 | .ctx_size = sizeof(EVP_AES_##MODE##_CTX), \ | ||
| 484 | .ctrl = aes_##mode##_ctrl \ | ||
| 485 | }; \ | ||
| 486 | const EVP_CIPHER * \ | ||
| 487 | EVP_aes_##keylen##_##mode(void) \ | ||
| 488 | { \ | ||
| 489 | return &aes_##keylen##_##mode; \ | ||
| 490 | } | ||
| 491 | |||
| 457 | #endif | 492 | #endif |
| 458 | 493 | ||
| 459 | #define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \ | 494 | #define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \ |
diff --git a/src/lib/libssl/src/crypto/evp/e_aes.c b/src/lib/libssl/src/crypto/evp/e_aes.c index 3304e3417e..f96a15f19c 100644 --- a/src/lib/libssl/src/crypto/evp/e_aes.c +++ b/src/lib/libssl/src/crypto/evp/e_aes.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: e_aes.c,v 1.24 2014/07/11 14:38:51 miod Exp $ */ | 1 | /* $OpenBSD: e_aes.c,v 1.25 2014/07/12 19:31:03 miod Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -385,75 +385,110 @@ aesni_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, | |||
| 385 | static int aesni_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, | 385 | static int aesni_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, |
| 386 | const unsigned char *in, size_t len); | 386 | const unsigned char *in, size_t len); |
| 387 | 387 | ||
| 388 | #define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ | 388 | #define BLOCK_CIPHER_generic(n,keylen,blocksize,ivlen,nmode,mode,MODE,fl) \ |
| 389 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ | 389 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ |
| 390 | nid##_##keylen##_##nmode,blocksize,keylen/8,ivlen, \ | 390 | .nid = n##_##keylen##_##nmode, \ |
| 391 | flags|EVP_CIPH_##MODE##_MODE, \ | 391 | .block_size = blocksize, \ |
| 392 | aesni_init_key, \ | 392 | .key_len = keylen / 8, \ |
| 393 | aesni_##mode##_cipher, \ | 393 | .iv_len = ivlen, \ |
| 394 | NULL, \ | 394 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 395 | sizeof(EVP_AES_KEY), \ | 395 | .init = aesni_init_key, \ |
| 396 | NULL,NULL,NULL,NULL }; \ | 396 | .do_cipher = aesni_##mode##_cipher, \ |
| 397 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 397 | .ctx_size = sizeof(EVP_AES_KEY) \ |
| 398 | nid##_##keylen##_##nmode,blocksize, \ | 398 | }; \ |
| 399 | keylen/8,ivlen, \ | 399 | static const EVP_CIPHER aes_##keylen##_##mode = { \ |
| 400 | flags|EVP_CIPH_##MODE##_MODE, \ | 400 | .nid = n##_##keylen##_##nmode, \ |
| 401 | aes_init_key, \ | 401 | .block_size = blocksize, \ |
| 402 | aes_##mode##_cipher, \ | 402 | .key_len = keylen / 8, \ |
| 403 | NULL, \ | 403 | .iv_len = ivlen, \ |
| 404 | sizeof(EVP_AES_KEY), \ | 404 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 405 | NULL,NULL,NULL,NULL }; \ | 405 | .init = aes_init_key, \ |
| 406 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 406 | .do_cipher = aes_##mode##_cipher, \ |
| 407 | { return AESNI_CAPABLE?&aesni_##keylen##_##mode:&aes_##keylen##_##mode; } | 407 | .ctx_size = sizeof(EVP_AES_KEY) \ |
| 408 | 408 | }; \ | |
| 409 | #define BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags) \ | 409 | const EVP_CIPHER * \ |
| 410 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ | 410 | EVP_aes_##keylen##_##mode(void) \ |
| 411 | nid##_##keylen##_##mode,blocksize, \ | 411 | { \ |
| 412 | (EVP_CIPH_##MODE##_MODE==EVP_CIPH_XTS_MODE?2:1)*keylen/8, ivlen, \ | 412 | return AESNI_CAPABLE ? \ |
| 413 | flags|EVP_CIPH_##MODE##_MODE, \ | 413 | &aesni_##keylen##_##mode : &aes_##keylen##_##mode; \ |
| 414 | aesni_##mode##_init_key, \ | 414 | } |
| 415 | aesni_##mode##_cipher, \ | 415 | |
| 416 | aes_##mode##_cleanup, \ | 416 | #define BLOCK_CIPHER_custom(n,keylen,blocksize,ivlen,mode,MODE,fl) \ |
| 417 | sizeof(EVP_AES_##MODE##_CTX), \ | 417 | static const EVP_CIPHER aesni_##keylen##_##mode = { \ |
| 418 | NULL,NULL,aes_##mode##_ctrl,NULL }; \ | 418 | .nid = n##_##keylen##_##mode, \ |
| 419 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 419 | .block_size = blocksize, \ |
| 420 | nid##_##keylen##_##mode,blocksize, \ | 420 | .key_len = \ |
| 421 | (EVP_CIPH_##MODE##_MODE==EVP_CIPH_XTS_MODE?2:1)*keylen/8, ivlen, \ | 421 | (EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE ? 2 : 1) * \ |
| 422 | flags|EVP_CIPH_##MODE##_MODE, \ | 422 | keylen / 8, \ |
| 423 | aes_##mode##_init_key, \ | 423 | .iv_len = ivlen, \ |
| 424 | aes_##mode##_cipher, \ | 424 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 425 | aes_##mode##_cleanup, \ | 425 | .init = aesni_##mode##_init_key, \ |
| 426 | sizeof(EVP_AES_##MODE##_CTX), \ | 426 | .do_cipher = aesni_##mode##_cipher, \ |
| 427 | NULL,NULL,aes_##mode##_ctrl,NULL }; \ | 427 | .cleanup = aes_##mode##_cleanup, \ |
| 428 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 428 | .ctx_size = sizeof(EVP_AES_##MODE##_CTX), \ |
| 429 | { return AESNI_CAPABLE?&aesni_##keylen##_##mode:&aes_##keylen##_##mode; } | 429 | .ctrl = aes_##mode##_ctrl \ |
| 430 | }; \ | ||
| 431 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | ||
| 432 | .nid = n##_##keylen##_##mode, \ | ||
| 433 | .block_size = blocksize, \ | ||
| 434 | .key_len = \ | ||
| 435 | (EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE ? 2 : 1) * \ | ||
| 436 | keylen / 8, \ | ||
| 437 | .iv_len = ivlen, \ | ||
| 438 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ | ||
| 439 | .init = aes_##mode##_init_key, \ | ||
| 440 | .do_cipher = aes_##mode##_cipher, \ | ||
| 441 | .cleanup = aes_##mode##_cleanup, \ | ||
| 442 | .ctx_size = sizeof(EVP_AES_##MODE##_CTX), \ | ||
| 443 | .ctrl = aes_##mode##_ctrl \ | ||
| 444 | }; \ | ||
| 445 | const EVP_CIPHER * \ | ||
| 446 | EVP_aes_##keylen##_##mode(void) \ | ||
| 447 | { \ | ||
| 448 | return AESNI_CAPABLE ? \ | ||
| 449 | &aesni_##keylen##_##mode : &aes_##keylen##_##mode; \ | ||
| 450 | } | ||
| 430 | 451 | ||
| 431 | #else | 452 | #else |
| 432 | 453 | ||
| 433 | #define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ | 454 | #define BLOCK_CIPHER_generic(n,keylen,blocksize,ivlen,nmode,mode,MODE,fl) \ |
| 434 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 455 | static const EVP_CIPHER aes_##keylen##_##mode = { \ |
| 435 | nid##_##keylen##_##nmode,blocksize,keylen/8,ivlen, \ | 456 | .nid = n##_##keylen##_##nmode, \ |
| 436 | flags|EVP_CIPH_##MODE##_MODE, \ | 457 | .block_size = blocksize, \ |
| 437 | aes_init_key, \ | 458 | .key_len = keylen / 8, \ |
| 438 | aes_##mode##_cipher, \ | 459 | .iv_len = ivlen, \ |
| 439 | NULL, \ | 460 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ |
| 440 | sizeof(EVP_AES_KEY), \ | 461 | .init = aes_init_key, \ |
| 441 | NULL,NULL,NULL,NULL }; \ | 462 | .do_cipher = aes_##mode##_cipher, \ |
| 442 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 463 | .ctx_size = sizeof(EVP_AES_KEY) \ |
| 443 | { return &aes_##keylen##_##mode; } | 464 | }; \ |
| 444 | 465 | const EVP_CIPHER * \ | |
| 445 | #define BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags) \ | 466 | EVP_aes_##keylen##_##mode(void) \ |
| 446 | static const EVP_CIPHER aes_##keylen##_##mode = { \ | 467 | { \ |
| 447 | nid##_##keylen##_##mode,blocksize, \ | 468 | return &aes_##keylen##_##mode; \ |
| 448 | (EVP_CIPH_##MODE##_MODE==EVP_CIPH_XTS_MODE?2:1)*keylen/8, ivlen, \ | 469 | } |
| 449 | flags|EVP_CIPH_##MODE##_MODE, \ | 470 | |
| 450 | aes_##mode##_init_key, \ | 471 | #define BLOCK_CIPHER_custom(n,keylen,blocksize,ivlen,mode,MODE,fl) \ |
| 451 | aes_##mode##_cipher, \ | 472 | static const EVP_CIPHER aes_##keylen##_##mode = { \ |
| 452 | aes_##mode##_cleanup, \ | 473 | .nid = n##_##keylen##_##mode, \ |
| 453 | sizeof(EVP_AES_##MODE##_CTX), \ | 474 | .block_size = blocksize, \ |
| 454 | NULL,NULL,aes_##mode##_ctrl,NULL }; \ | 475 | .key_len = \ |
| 455 | const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \ | 476 | (EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE ? 2 : 1) * \ |
| 456 | { return &aes_##keylen##_##mode; } | 477 | keylen / 8, \ |
| 478 | .iv_len = ivlen, \ | ||
| 479 | .flags = fl | EVP_CIPH_##MODE##_MODE, \ | ||
| 480 | .init = aes_##mode##_init_key, \ | ||
| 481 | .do_cipher = aes_##mode##_cipher, \ | ||
| 482 | .cleanup = aes_##mode##_cleanup, \ | ||
| 483 | .ctx_size = sizeof(EVP_AES_##MODE##_CTX), \ | ||
| 484 | .ctrl = aes_##mode##_ctrl \ | ||
| 485 | }; \ | ||
| 486 | const EVP_CIPHER * \ | ||
| 487 | EVP_aes_##keylen##_##mode(void) \ | ||
| 488 | { \ | ||
| 489 | return &aes_##keylen##_##mode; \ | ||
| 490 | } | ||
| 491 | |||
| 457 | #endif | 492 | #endif |
| 458 | 493 | ||
| 459 | #define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \ | 494 | #define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \ |
