Commit 6215430101 for openssl.org
commit 6215430101e183278754950d04b918de14c64173
Author: Matt Caswell <matt@openssl.org>
Date: Thu Dec 18 16:46:00 2025 +0000
Remove legacy fields from the EVP_CIPHER structure
We remove legacy fields that are no longer used for anything from the
EVP_CIPHER structure.
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29446)
diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c
index 8560a84dda..ce880c8b4d 100644
--- a/crypto/evp/e_aes.c
+++ b/crypto/evp/e_aes.c
@@ -31,14 +31,12 @@
#define BLOCK_CIPHER_generic(nid, keylen, blocksize, ivlen, nmode, mode, MODE, flags) \
static const EVP_CIPHER aes_##keylen##_##mode = { \
- nid##_##keylen##_##nmode, blocksize, keylen / 8, ivlen, \
+ nid##_##keylen##_##nmode, \
+ blocksize, \
+ keylen / 8, \
+ ivlen, \
flags | EVP_CIPH_##MODE##_MODE, \
EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, NULL, NULL \
}; \
const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \
{ \
@@ -47,16 +45,12 @@
#define BLOCK_CIPHER_custom(nid, keylen, blocksize, ivlen, mode, MODE, flags) \
static const EVP_CIPHER aes_##keylen##_##mode = { \
- nid##_##keylen##_##mode, blocksize, \
+ nid##_##keylen##_##mode, \
+ blocksize, \
(EVP_CIPH_##MODE##_MODE == EVP_CIPH_XTS_MODE || EVP_CIPH_##MODE##_MODE == EVP_CIPH_SIV_MODE ? 2 : 1) * keylen / 8, \
ivlen, \
flags | EVP_CIPH_##MODE##_MODE, \
EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, NULL, NULL \
}; \
const EVP_CIPHER *EVP_aes_##keylen##_##mode(void) \
{ \
@@ -108,11 +102,7 @@ BLOCK_CIPHER_custom(NID_aes, 256, 1, 12, ccm, CCM,
static const EVP_CIPHER aes_128_wrap = {
NID_id_aes128_wrap,
- 8, 16, 8, WRAP_FLAGS, EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ 8, 16, 8, WRAP_FLAGS, EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_128_wrap(void)
@@ -122,11 +112,7 @@ const EVP_CIPHER *EVP_aes_128_wrap(void)
static const EVP_CIPHER aes_192_wrap = {
NID_id_aes192_wrap,
- 8, 24, 8, WRAP_FLAGS, EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ 8, 24, 8, WRAP_FLAGS, EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_192_wrap(void)
@@ -136,11 +122,7 @@ const EVP_CIPHER *EVP_aes_192_wrap(void)
static const EVP_CIPHER aes_256_wrap = {
NID_id_aes256_wrap,
- 8, 32, 8, WRAP_FLAGS, EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ 8, 32, 8, WRAP_FLAGS, EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_256_wrap(void)
@@ -150,11 +132,7 @@ const EVP_CIPHER *EVP_aes_256_wrap(void)
static const EVP_CIPHER aes_128_wrap_pad = {
NID_id_aes128_wrap_pad,
- 8, 16, 4, WRAP_FLAGS, EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ 8, 16, 4, WRAP_FLAGS, EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_128_wrap_pad(void)
@@ -164,11 +142,7 @@ const EVP_CIPHER *EVP_aes_128_wrap_pad(void)
static const EVP_CIPHER aes_192_wrap_pad = {
NID_id_aes192_wrap_pad,
- 8, 24, 4, WRAP_FLAGS, EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ 8, 24, 4, WRAP_FLAGS, EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_192_wrap_pad(void)
@@ -178,11 +152,7 @@ const EVP_CIPHER *EVP_aes_192_wrap_pad(void)
static const EVP_CIPHER aes_256_wrap_pad = {
NID_id_aes256_wrap_pad,
- 8, 32, 4, WRAP_FLAGS, EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ 8, 32, 4, WRAP_FLAGS, EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_256_wrap_pad(void)
diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c
index a89858b234..0b0f7ee1c4 100644
--- a/crypto/evp/e_aes_cbc_hmac_sha1.c
+++ b/crypto/evp/e_aes_cbc_hmac_sha1.c
@@ -33,15 +33,7 @@ static const EVP_CIPHER aesni_128_cbc_hmac_sha1_cipher = {
#endif
AES_BLOCK_SIZE, 16, AES_BLOCK_SIZE,
EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_FLAG_AEAD_CIPHER | EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
static const EVP_CIPHER aesni_256_cbc_hmac_sha1_cipher = {
@@ -52,15 +44,7 @@ static const EVP_CIPHER aesni_256_cbc_hmac_sha1_cipher = {
#endif
AES_BLOCK_SIZE, 32, AES_BLOCK_SIZE,
EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_FLAG_AEAD_CIPHER | EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void)
diff --git a/crypto/evp/e_aes_cbc_hmac_sha256.c b/crypto/evp/e_aes_cbc_hmac_sha256.c
index 33caa95902..c027af88d3 100644
--- a/crypto/evp/e_aes_cbc_hmac_sha256.c
+++ b/crypto/evp/e_aes_cbc_hmac_sha256.c
@@ -44,15 +44,7 @@ static const EVP_CIPHER aesni_128_cbc_hmac_sha256_cipher = {
#endif
AES_BLOCK_SIZE, 16, AES_BLOCK_SIZE,
EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_FLAG_AEAD_CIPHER | EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
static const EVP_CIPHER aesni_256_cbc_hmac_sha256_cipher = {
@@ -63,15 +55,7 @@ static const EVP_CIPHER aesni_256_cbc_hmac_sha256_cipher = {
#endif
AES_BLOCK_SIZE, 32, AES_BLOCK_SIZE,
EVP_CIPH_CBC_MODE | EVP_CIPH_FLAG_DEFAULT_ASN1 | EVP_CIPH_FLAG_AEAD_CIPHER | EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void)
diff --git a/crypto/evp/e_aria.c b/crypto/evp/e_aria.c
index 061d4515e0..f6fcbe3f50 100644
--- a/crypto/evp/e_aria.c
+++ b/crypto/evp/e_aria.c
@@ -22,22 +22,13 @@
IMPLEMENT_BLOCK_CIPHER(aria_128, ks, aria, EVP_ARIA_KEY,
NID_aria_128, 16, 16, 16, 128,
- 0, NULL, NULL,
- NULL,
- NULL,
- NULL)
+ 0)
IMPLEMENT_BLOCK_CIPHER(aria_192, ks, aria, EVP_ARIA_KEY,
NID_aria_192, 16, 24, 16, 128,
- 0, NULL, NULL,
- NULL,
- NULL,
- NULL)
+ 0)
IMPLEMENT_BLOCK_CIPHER(aria_256, ks, aria, EVP_ARIA_KEY,
NID_aria_256, 16, 32, 16, 128,
- 0, NULL, NULL,
- NULL,
- NULL,
- NULL)
+ 0)
#define IMPLEMENT_ARIA_CFBR(ksize, cbits) \
IMPLEMENT_CFBR(aria, aria, EVP_ARIA_KEY, ks, ksize, cbits, 16, 0)
@@ -52,12 +43,7 @@ IMPLEMENT_ARIA_CFBR(256, 8)
static const EVP_CIPHER aria_##keylen##_##mode = { \
nid##_##keylen##_##nmode, blocksize, keylen / 8, ivlen, \
flags | EVP_CIPH_##MODE##_MODE, \
- EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, NULL, NULL \
+ EVP_ORIG_GLOBAL \
}; \
const EVP_CIPHER *EVP_aria_##keylen##_##mode(void) \
{ \
@@ -79,12 +65,7 @@ BLOCK_CIPHER_generic(NID_aria, 256, 1, 16, ctr, ctr, CTR, 0)
NID_aria_##keylen##_##mode, \
1, keylen / 8, 12, \
ARIA_AUTH_FLAGS | EVP_CIPH_##MODE##_MODE, \
- EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, NULL, NULL \
+ EVP_ORIG_GLOBAL \
}; \
const EVP_CIPHER *EVP_aria_##keylen##_##mode(void) \
{ \
diff --git a/crypto/evp/e_bf.c b/crypto/evp/e_bf.c
index 3c73be0e45..444145d109 100644
--- a/crypto/evp/e_bf.c
+++ b/crypto/evp/e_bf.c
@@ -17,6 +17,5 @@
#include "evp_local.h"
IMPLEMENT_BLOCK_CIPHER(bf, ks, BF, EVP_BF_KEY, NID_bf, 8, 16, 8, 64,
- EVP_CIPH_VARIABLE_LENGTH, NULL, NULL,
- NULL, NULL, NULL)
+ EVP_CIPH_VARIABLE_LENGTH)
#endif
diff --git a/crypto/evp/e_camellia.c b/crypto/evp/e_camellia.c
index 72d692c139..99b69802ae 100644
--- a/crypto/evp/e_camellia.c
+++ b/crypto/evp/e_camellia.c
@@ -21,14 +21,12 @@
#define BLOCK_CIPHER_generic(nid, keylen, blocksize, ivlen, nmode, mode, MODE, flags) \
static const EVP_CIPHER camellia_##keylen##_##mode = { \
- nid##_##keylen##_##nmode, blocksize, keylen / 8, ivlen, \
+ nid##_##keylen##_##nmode, \
+ blocksize, \
+ keylen / 8, \
+ ivlen, \
flags | EVP_CIPH_##MODE##_MODE, \
EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, NULL, NULL \
}; \
const EVP_CIPHER *EVP_camellia_##keylen##_##mode(void) \
{ \
diff --git a/crypto/evp/e_cast.c b/crypto/evp/e_cast.c
index ade66b5b98..18c2611e76 100644
--- a/crypto/evp/e_cast.c
+++ b/crypto/evp/e_cast.c
@@ -19,7 +19,6 @@
IMPLEMENT_BLOCK_CIPHER(cast5, ks, CAST, EVP_CAST_KEY,
NID_cast5, 8, CAST_KEY_LENGTH, 8, 64,
- EVP_CIPH_VARIABLE_LENGTH, NULL, NULL,
- NULL, NULL, NULL)
+ EVP_CIPH_VARIABLE_LENGTH)
#endif
diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c
index c8ba2c1175..1aa70268c5 100644
--- a/crypto/evp/e_chacha20_poly1305.c
+++ b/crypto/evp/e_chacha20_poly1305.c
@@ -25,15 +25,7 @@ static const EVP_CIPHER chacha20 = {
CHACHA_KEY_SIZE, /* key_len */
CHACHA_CTR_SIZE, /* iv_len, 128-bit counter in the context */
EVP_CIPH_CUSTOM_IV | EVP_CIPH_ALWAYS_CALL_INIT,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_chacha20(void)
@@ -49,15 +41,7 @@ static const EVP_CIPHER chacha20_poly1305 = {
CHACHA_KEY_SIZE, /* key_len */
12, /* iv_len, 96-bit nonce in the context */
EVP_CIPH_FLAG_AEAD_CIPHER | EVP_CIPH_CUSTOM_IV | EVP_CIPH_ALWAYS_CALL_INIT | EVP_CIPH_CTRL_INIT | EVP_CIPH_CUSTOM_COPY | EVP_CIPH_FLAG_CUSTOM_CIPHER | EVP_CIPH_CUSTOM_IV_LENGTH,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL, /* set_asn1_parameters */
- NULL, /* get_asn1_parameters */
- NULL,
- NULL /* app_data */
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_chacha20_poly1305(void)
diff --git a/crypto/evp/e_des.c b/crypto/evp/e_des.c
index 3125154eaa..ba4a214424 100644
--- a/crypto/evp/e_des.c
+++ b/crypto/evp/e_des.c
@@ -17,15 +17,12 @@
#include "evp_local.h"
BLOCK_CIPHER_defs(des, EVP_DES_KEY, NID_des, 8, 8, 8, 64,
- EVP_CIPH_RAND_KEY, NULL, NULL,
- NULL, NULL, NULL)
+ EVP_CIPH_RAND_KEY)
BLOCK_CIPHER_def_cfb(des, EVP_DES_KEY, NID_des, 8, 8, 1,
- EVP_CIPH_RAND_KEY, NULL, NULL,
- NULL, NULL, NULL)
+ EVP_CIPH_RAND_KEY)
BLOCK_CIPHER_def_cfb(des, EVP_DES_KEY, NID_des, 8, 8, 8,
- EVP_CIPH_RAND_KEY, NULL, NULL,
- NULL, NULL, NULL)
+ EVP_CIPH_RAND_KEY)
#endif
diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c
index 40b2da81a1..2557360ff7 100644
--- a/crypto/evp/e_des3.c
+++ b/crypto/evp/e_des3.c
@@ -17,20 +17,16 @@
#include "evp_local.h"
BLOCK_CIPHER_defs(des_ede, DES_EDE_KEY, NID_des_ede, 8, 16, 8, 64,
- EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1,
- NULL, NULL, NULL, NULL, NULL)
+ EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1)
BLOCK_CIPHER_defs(des_ede3, DES_EDE_KEY, NID_des_ede3, 8, 24, 8, 64,
- EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1,
- NULL, NULL, NULL, NULL, NULL)
+ EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1)
BLOCK_CIPHER_def_cfb(des_ede3, DES_EDE_KEY, NID_des_ede3, 24, 8, 1,
- EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1,
- NULL, NULL, NULL, NULL, des3_NULLctrl)
+ EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1)
BLOCK_CIPHER_def_cfb(des_ede3, DES_EDE_KEY, NID_des_ede3, 24, 8, 8,
- EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1,
- NULL, NULL, NULL, NULL, NULL)
+ EVP_CIPH_RAND_KEY | EVP_CIPH_FLAG_DEFAULT_ASN1)
const EVP_CIPHER *EVP_des_ede(void)
{
@@ -47,11 +43,7 @@ static const EVP_CIPHER des3_wrap = {
8, 24, 0,
EVP_CIPH_WRAP_MODE | EVP_CIPH_CUSTOM_IV | EVP_CIPH_FLAG_CUSTOM_CIPHER
| EVP_CIPH_FLAG_DEFAULT_ASN1,
- EVP_ORIG_GLOBAL,
- NULL, NULL,
- NULL,
- 0,
- NULL, NULL, NULL, NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_des_ede3_wrap(void)
diff --git a/crypto/evp/e_idea.c b/crypto/evp/e_idea.c
index 70b65bb3a0..c789b3bc89 100644
--- a/crypto/evp/e_idea.c
+++ b/crypto/evp/e_idea.c
@@ -18,7 +18,6 @@
#include "evp_local.h"
BLOCK_CIPHER_defs(idea, IDEA_KEY_SCHEDULE, NID_idea, 8, 16, 8, 64,
- 0, NULL, NULL,
- NULL, NULL, NULL)
+ 0)
#endif
diff --git a/crypto/evp/e_null.c b/crypto/evp/e_null.c
index 2eb32ab681..c4005f19a6 100644
--- a/crypto/evp/e_null.c
+++ b/crypto/evp/e_null.c
@@ -16,15 +16,7 @@
static const EVP_CIPHER n_cipher = {
NID_undef,
1, 0, 0, 0,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_enc_null(void)
diff --git a/crypto/evp/e_rc2.c b/crypto/evp/e_rc2.c
index 6aee5fd97a..d3db95527b 100644
--- a/crypto/evp/e_rc2.c
+++ b/crypto/evp/e_rc2.c
@@ -20,39 +20,20 @@
IMPLEMENT_BLOCK_CIPHER(rc2, ks, RC2, EVP_RC2_KEY, NID_rc2,
8,
RC2_KEY_LENGTH, 8, 64,
- EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT,
- NULL, NULL,
- NULL, NULL,
- NULL)
+ EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT)
static const EVP_CIPHER r2_64_cbc_cipher = {
NID_rc2_64_cbc,
8, 8 /* 64 bit */, 8,
EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
static const EVP_CIPHER r2_40_cbc_cipher = {
NID_rc2_40_cbc,
8, 5 /* 40 bit */, 8,
EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_CTRL_INIT,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_rc2_64_cbc(void)
diff --git a/crypto/evp/e_rc4.c b/crypto/evp/e_rc4.c
index 7ca5e797e5..6cab17c27b 100644
--- a/crypto/evp/e_rc4.c
+++ b/crypto/evp/e_rc4.c
@@ -7,12 +7,6 @@
* https://www.openssl.org/source/license.html
*/
-/*
- * RC4 low level APIs are deprecated for public use, but still ok for internal
- * use.
- */
-#include "internal/deprecated.h"
-
#include <stdio.h>
#include "internal/cryptlib.h"
@@ -24,44 +18,18 @@
#include "crypto/evp.h"
-typedef struct {
- RC4_KEY ks; /* working key */
-} EVP_RC4_KEY;
-
-#define data(ctx) ((EVP_RC4_KEY *)EVP_CIPHER_CTX_get_cipher_data(ctx))
-
-static int rc4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
- const unsigned char *iv, int enc);
-static int rc4_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
- const unsigned char *in, size_t inl);
static const EVP_CIPHER r4_cipher = {
NID_rc4,
1, EVP_RC4_KEY_SIZE, 0,
EVP_CIPH_VARIABLE_LENGTH,
- EVP_ORIG_GLOBAL,
- rc4_init_key,
- rc4_cipher,
- NULL,
- sizeof(EVP_RC4_KEY),
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
static const EVP_CIPHER r4_40_cipher = {
NID_rc4_40,
1, 5 /* 40 bit */, 0,
EVP_CIPH_VARIABLE_LENGTH,
- EVP_ORIG_GLOBAL,
- rc4_init_key,
- rc4_cipher,
- NULL,
- sizeof(EVP_RC4_KEY),
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_rc4(void)
@@ -73,22 +41,4 @@ const EVP_CIPHER *EVP_rc4_40(void)
{
return &r4_40_cipher;
}
-
-static int rc4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
- const unsigned char *iv, int enc)
-{
- int keylen;
-
- if ((keylen = EVP_CIPHER_CTX_get_key_length(ctx)) <= 0)
- return 0;
- RC4_set_key(&data(ctx)->ks, keylen, key);
- return 1;
-}
-
-static int rc4_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
- const unsigned char *in, size_t inl)
-{
- RC4(&data(ctx)->ks, inl, in, out);
- return 1;
-}
#endif
diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c
index 37a2088f6c..65adc8ea79 100644
--- a/crypto/evp/e_rc4_hmac_md5.c
+++ b/crypto/evp/e_rc4_hmac_md5.c
@@ -28,15 +28,7 @@ static const EVP_CIPHER r4_hmac_md5_cipher = {
#endif
1, EVP_RC4_KEY_SIZE, 0,
EVP_CIPH_STREAM_CIPHER | EVP_CIPH_VARIABLE_LENGTH | EVP_CIPH_FLAG_AEAD_CIPHER,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_rc4_hmac_md5(void)
diff --git a/crypto/evp/e_seed.c b/crypto/evp/e_seed.c
index 6ac6f0451b..7a7713020c 100644
--- a/crypto/evp/e_seed.c
+++ b/crypto/evp/e_seed.c
@@ -17,5 +17,4 @@
#include "evp_local.h"
IMPLEMENT_BLOCK_CIPHER(seed, ks, SEED, EVP_SEED_KEY, NID_seed,
- 16, 16, 16, 128, EVP_CIPH_FLAG_DEFAULT_ASN1,
- NULL, 0, 0, 0, 0)
+ 16, 16, 16, 128, EVP_CIPH_FLAG_DEFAULT_ASN1)
diff --git a/crypto/evp/e_sm4.c b/crypto/evp/e_sm4.c
index 2ce538f3a0..18477798d7 100644
--- a/crypto/evp/e_sm4.c
+++ b/crypto/evp/e_sm4.c
@@ -24,12 +24,7 @@
static const EVP_CIPHER sm4_##mode = { \
nid##_##nmode, blocksize, 128 / 8, ivlen, \
flags | EVP_CIPH_##MODE##_MODE, \
- EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, NULL, NULL \
+ EVP_ORIG_GLOBAL \
}; \
const EVP_CIPHER *EVP_sm4_##mode(void) \
{ \
diff --git a/crypto/evp/e_xcbc_d.c b/crypto/evp/e_xcbc_d.c
index cb0a0ee795..9903f3197f 100644
--- a/crypto/evp/e_xcbc_d.c
+++ b/crypto/evp/e_xcbc_d.c
@@ -22,15 +22,7 @@ static const EVP_CIPHER d_xcbc_cipher = {
NID_desx_cbc,
8, 24, 8,
EVP_CIPH_CBC_MODE,
- EVP_ORIG_GLOBAL,
- NULL,
- NULL,
- NULL,
- 0,
- NULL,
- NULL,
- NULL,
- NULL
+ EVP_ORIG_GLOBAL
};
const EVP_CIPHER *EVP_desx_cbc(void)
diff --git a/include/crypto/evp.h b/include/crypto/evp.h
index 5efe4d3584..85e13e520b 100644
--- a/include/crypto/evp.h
+++ b/include/crypto/evp.h
@@ -228,32 +228,11 @@ struct evp_cipher_st {
int key_len;
int iv_len;
- /* Legacy structure members */
/* Various flags */
unsigned long flags;
/* How the EVP_CIPHER was created. */
int origin;
- /* init key */
- int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key,
- const unsigned char *iv, int enc);
- /* encrypt/decrypt data */
- int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out,
- const unsigned char *in, size_t inl);
- /* cleanup ctx */
- int (*cleanup)(EVP_CIPHER_CTX *);
- /* how big ctx->cipher_data needs to be */
- int ctx_size;
- /* Populate a ASN1_TYPE with parameters */
- int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *);
- /* Get parameters from a ASN1_TYPE */
- int (*get_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *);
- /* Miscellaneous operations */
- int (*ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr);
- /* Application data */
- void *app_data;
- /* New structure members */
- /* Above comment to be removed when legacy has gone */
int name_id;
char *type_name;
const char *description;
@@ -284,73 +263,53 @@ struct evp_cipher_st {
#define EVP_MAXCHUNK ((size_t)1 << 30)
#define BLOCK_CIPHER_def1(cname, nmode, mode, MODE, kstruct, nid, block_size, \
- key_len, iv_len, flags, init_key, cleanup, \
- set_asn1, get_asn1, ctrl) \
+ key_len, iv_len, flags) \
static const EVP_CIPHER cname##_##mode = { \
nid##_##nmode, block_size, key_len, iv_len, \
flags | EVP_CIPH_##MODE##_MODE, \
- EVP_ORIG_GLOBAL, \
- NULL, \
- NULL, \
- NULL, \
- 0, \
- NULL, NULL, \
- NULL, \
- NULL \
+ EVP_ORIG_GLOBAL \
}; \
const EVP_CIPHER *EVP_##cname##_##mode(void) { return &cname##_##mode; }
#define BLOCK_CIPHER_def_cbc(cname, kstruct, nid, block_size, key_len, \
- iv_len, flags, init_key, cleanup, set_asn1, \
- get_asn1, ctrl) \
+ iv_len, flags) \
BLOCK_CIPHER_def1(cname, cbc, cbc, CBC, kstruct, nid, block_size, key_len, \
- iv_len, flags, init_key, cleanup, set_asn1, get_asn1, ctrl)
+ iv_len, flags)
#define BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \
- iv_len, cbits, flags, init_key, cleanup, \
- set_asn1, get_asn1, ctrl) \
+ iv_len, cbits, flags) \
BLOCK_CIPHER_def1(cname, cfb##cbits, cfb##cbits, CFB, kstruct, nid, 1, \
- key_len, iv_len, flags, init_key, cleanup, set_asn1, \
- get_asn1, ctrl)
+ key_len, iv_len, flags)
#define BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, \
- iv_len, cbits, flags, init_key, cleanup, \
- set_asn1, get_asn1, ctrl) \
+ iv_len, cbits, flags) \
BLOCK_CIPHER_def1(cname, ofb##cbits, ofb, OFB, kstruct, nid, 1, \
- key_len, iv_len, flags, init_key, cleanup, set_asn1, \
- get_asn1, ctrl)
+ key_len, iv_len, flags)
#define BLOCK_CIPHER_def_ecb(cname, kstruct, nid, block_size, key_len, \
- flags, init_key, cleanup, set_asn1, \
- get_asn1, ctrl) \
+ flags) \
BLOCK_CIPHER_def1(cname, ecb, ecb, ECB, kstruct, nid, block_size, key_len, \
- 0, flags, init_key, cleanup, set_asn1, get_asn1, ctrl)
+ 0, flags)
#define BLOCK_CIPHER_defs(cname, kstruct, \
- nid, block_size, key_len, iv_len, cbits, flags, \
- init_key, cleanup, set_asn1, get_asn1, ctrl) \
- BLOCK_CIPHER_def_cbc(cname, kstruct, nid, block_size, key_len, iv_len, flags, \
- init_key, cleanup, set_asn1, get_asn1, ctrl) \
+ nid, block_size, key_len, iv_len, cbits, flags) \
+ BLOCK_CIPHER_def_cbc(cname, kstruct, nid, block_size, key_len, iv_len, flags) \
BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, iv_len, cbits, \
- flags, init_key, cleanup, set_asn1, get_asn1, ctrl) \
+ flags) \
BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, iv_len, cbits, \
- flags, init_key, cleanup, set_asn1, get_asn1, ctrl) \
- BLOCK_CIPHER_def_ecb(cname, kstruct, nid, block_size, key_len, flags, \
- init_key, cleanup, set_asn1, get_asn1, ctrl)
+ flags) \
+ BLOCK_CIPHER_def_ecb(cname, kstruct, nid, block_size, key_len, flags)
#define IMPLEMENT_BLOCK_CIPHER(cname, ksched, cprefix, kstruct, nid, \
block_size, key_len, iv_len, cbits, \
- flags, init_key, \
- cleanup, set_asn1, get_asn1, ctrl) \
+ flags) \
BLOCK_CIPHER_defs(cname, kstruct, nid, block_size, key_len, iv_len, \
- cbits, flags, init_key, cleanup, set_asn1, \
- get_asn1, ctrl)
+ cbits, flags)
#define IMPLEMENT_CFBR(cipher, cprefix, kstruct, ksched, keysize, cbits, iv_len, fl) \
BLOCK_CIPHER_def_cfb(cipher##_##keysize, kstruct, \
NID_##cipher##_##keysize, keysize / 8, iv_len, cbits, \
- (fl) | EVP_CIPH_FLAG_DEFAULT_ASN1, \
- cipher##_init_key, NULL, NULL, NULL, NULL)
+ (fl) | EVP_CIPH_FLAG_DEFAULT_ASN1)
typedef struct {
unsigned char iv[EVP_MAX_IV_LENGTH];