summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2025-06-16 14:42:18 +0000
committerjsing <>2025-06-16 14:42:18 +0000
commitd3ae11466b47a59d6352762d87d1de787ef7038b (patch)
tree9ccd81b7dfb9d39b78c40dd7334b70d474f88d7f /src
parentafbd13e4bca0403aa397477cfc90d5fcf2e9270b (diff)
downloadopenbsd-d3ae11466b47a59d6352762d87d1de787ef7038b.tar.gz
openbsd-d3ae11466b47a59d6352762d87d1de787ef7038b.tar.bz2
openbsd-d3ae11466b47a59d6352762d87d1de787ef7038b.zip
Remove AES-NI specific EVP_CIPHER methods for OFB.
These now end up in aesni_encrypt() via AES_encrypt(), when appropriate. ok tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/evp/e_aes.c65
1 files changed, 1 insertions, 64 deletions
diff --git a/src/lib/libcrypto/evp/e_aes.c b/src/lib/libcrypto/evp/e_aes.c
index fcd1dde412..9b09cf3639 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.73 2025/06/16 14:31:52 jsing Exp $ */ 1/* $OpenBSD: e_aes.c,v 1.74 2025/06/16 14:42:18 jsing 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 *
@@ -238,18 +238,6 @@ aesni_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
238} 238}
239 239
240static int 240static int
241aesni_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
242 const unsigned char *in, size_t len)
243{
244 EVP_AES_KEY *eak = ctx->cipher_data;
245
246 CRYPTO_ofb128_encrypt(in, out, len, &eak->ks, ctx->iv, &ctx->num,
247 (block128_f)aesni_encrypt);
248
249 return 1;
250}
251
252static int
253aesni_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, 241aesni_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
254 const unsigned char *iv, int enc) 242 const unsigned char *iv, int enc)
255{ 243{
@@ -553,19 +541,6 @@ EVP_aes_128_ecb(void)
553} 541}
554LCRYPTO_ALIAS(EVP_aes_128_ecb); 542LCRYPTO_ALIAS(EVP_aes_128_ecb);
555 543
556#ifdef AESNI_CAPABLE
557static const EVP_CIPHER aesni_128_ofb = {
558 .nid = NID_aes_128_ofb128,
559 .block_size = 1,
560 .key_len = 16,
561 .iv_len = 16,
562 .flags = EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_OFB_MODE,
563 .init = aes_init_key,
564 .do_cipher = aesni_ofb_cipher,
565 .ctx_size = sizeof(EVP_AES_KEY),
566};
567#endif
568
569static const EVP_CIPHER aes_128_ofb = { 544static const EVP_CIPHER aes_128_ofb = {
570 .nid = NID_aes_128_ofb128, 545 .nid = NID_aes_128_ofb128,
571 .block_size = 1, 546 .block_size = 1,
@@ -580,11 +555,7 @@ static const EVP_CIPHER aes_128_ofb = {
580const EVP_CIPHER * 555const EVP_CIPHER *
581EVP_aes_128_ofb(void) 556EVP_aes_128_ofb(void)
582{ 557{
583#ifdef AESNI_CAPABLE
584 return AESNI_CAPABLE ? &aesni_128_ofb : &aes_128_ofb;
585#else
586 return &aes_128_ofb; 558 return &aes_128_ofb;
587#endif
588} 559}
589LCRYPTO_ALIAS(EVP_aes_128_ofb); 560LCRYPTO_ALIAS(EVP_aes_128_ofb);
590 561
@@ -781,19 +752,6 @@ EVP_aes_192_ecb(void)
781} 752}
782LCRYPTO_ALIAS(EVP_aes_192_ecb); 753LCRYPTO_ALIAS(EVP_aes_192_ecb);
783 754
784#ifdef AESNI_CAPABLE
785static const EVP_CIPHER aesni_192_ofb = {
786 .nid = NID_aes_192_ofb128,
787 .block_size = 1,
788 .key_len = 24,
789 .iv_len = 16,
790 .flags = EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_OFB_MODE,
791 .init = aes_init_key,
792 .do_cipher = aesni_ofb_cipher,
793 .ctx_size = sizeof(EVP_AES_KEY),
794};
795#endif
796
797static const EVP_CIPHER aes_192_ofb = { 755static const EVP_CIPHER aes_192_ofb = {
798 .nid = NID_aes_192_ofb128, 756 .nid = NID_aes_192_ofb128,
799 .block_size = 1, 757 .block_size = 1,
@@ -808,11 +766,7 @@ static const EVP_CIPHER aes_192_ofb = {
808const EVP_CIPHER * 766const EVP_CIPHER *
809EVP_aes_192_ofb(void) 767EVP_aes_192_ofb(void)
810{ 768{
811#ifdef AESNI_CAPABLE
812 return AESNI_CAPABLE ? &aesni_192_ofb : &aes_192_ofb;
813#else
814 return &aes_192_ofb; 769 return &aes_192_ofb;
815#endif
816} 770}
817LCRYPTO_ALIAS(EVP_aes_192_ofb); 771LCRYPTO_ALIAS(EVP_aes_192_ofb);
818 772
@@ -1009,19 +963,6 @@ EVP_aes_256_ecb(void)
1009} 963}
1010LCRYPTO_ALIAS(EVP_aes_256_ecb); 964LCRYPTO_ALIAS(EVP_aes_256_ecb);
1011 965
1012#ifdef AESNI_CAPABLE
1013static const EVP_CIPHER aesni_256_ofb = {
1014 .nid = NID_aes_256_ofb128,
1015 .block_size = 1,
1016 .key_len = 32,
1017 .iv_len = 16,
1018 .flags = EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_OFB_MODE,
1019 .init = aes_init_key,
1020 .do_cipher = aesni_ofb_cipher,
1021 .ctx_size = sizeof(EVP_AES_KEY),
1022};
1023#endif
1024
1025static const EVP_CIPHER aes_256_ofb = { 966static const EVP_CIPHER aes_256_ofb = {
1026 .nid = NID_aes_256_ofb128, 967 .nid = NID_aes_256_ofb128,
1027 .block_size = 1, 968 .block_size = 1,
@@ -1036,11 +977,7 @@ static const EVP_CIPHER aes_256_ofb = {
1036const EVP_CIPHER * 977const EVP_CIPHER *
1037EVP_aes_256_ofb(void) 978EVP_aes_256_ofb(void)
1038{ 979{
1039#ifdef AESNI_CAPABLE
1040 return AESNI_CAPABLE ? &aesni_256_ofb : &aes_256_ofb;
1041#else
1042 return &aes_256_ofb; 980 return &aes_256_ofb;
1043#endif
1044} 981}
1045LCRYPTO_ALIAS(EVP_aes_256_ofb); 982LCRYPTO_ALIAS(EVP_aes_256_ofb);
1046 983