From 6ec713262951778bc2878d3049d4468bf40f43d2 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Sun, 20 Apr 2025 09:17:53 +0000 Subject: Move AES public functions from aes_core.c to aes.c. This is where almost all of the public functions exist. ok beck@ tb@ --- src/lib/libcrypto/aes/aes.c | 40 +++++++++++++++++++++++-- src/lib/libcrypto/aes/aes_core.c | 63 ++++++---------------------------------- 2 files changed, 47 insertions(+), 56 deletions(-) (limited to 'src') diff --git a/src/lib/libcrypto/aes/aes.c b/src/lib/libcrypto/aes/aes.c index d36a006360..3dc2c9a458 100644 --- a/src/lib/libcrypto/aes/aes.c +++ b/src/lib/libcrypto/aes/aes.c @@ -1,4 +1,4 @@ -/* $OpenBSD: aes.c,v 1.4 2024/08/11 13:02:39 jsing Exp $ */ +/* $OpenBSD: aes.c,v 1.5 2025/04/20 09:17:53 jsing Exp $ */ /* ==================================================================== * Copyright (c) 2002-2006 The OpenSSL Project. All rights reserved. * @@ -46,7 +46,6 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== - * */ #include @@ -61,6 +60,43 @@ static const unsigned char aes_wrap_default_iv[] = { 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, }; +int aes_set_encrypt_key_internal(const unsigned char *userKey, const int bits, + AES_KEY *key); +int aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, + AES_KEY *key); +void aes_encrypt_internal(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void aes_decrypt_internal(const unsigned char *in, unsigned char *out, + const AES_KEY *key); + +int +AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) +{ + return aes_set_encrypt_key_internal(userKey, bits, key); +} +LCRYPTO_ALIAS(AES_set_encrypt_key); + +int +AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) +{ + return aes_set_decrypt_key_internal(userKey, bits, key); +} +LCRYPTO_ALIAS(AES_set_decrypt_key); + +void +AES_encrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) +{ + aes_encrypt_internal(in, out, key); +} +LCRYPTO_ALIAS(AES_encrypt); + +void +AES_decrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) +{ + aes_decrypt_internal(in, out, key); +} +LCRYPTO_ALIAS(AES_decrypt); + #ifdef HAVE_AES_CBC_ENCRYPT_INTERNAL void aes_cbc_encrypt_internal(const unsigned char *in, unsigned char *out, size_t len, const AES_KEY *key, unsigned char *ivec, const int enc); diff --git a/src/lib/libcrypto/aes/aes_core.c b/src/lib/libcrypto/aes/aes_core.c index 4383d74903..687cd60fe7 100644 --- a/src/lib/libcrypto/aes/aes_core.c +++ b/src/lib/libcrypto/aes/aes_core.c @@ -1,4 +1,4 @@ -/* $OpenBSD: aes_core.c,v 1.25 2024/11/13 21:00:57 tb Exp $ */ +/* $OpenBSD: aes_core.c,v 1.26 2025/04/20 09:17:53 jsing Exp $ */ /** * rijndael-alg-fst.c * @@ -633,16 +633,11 @@ static const u32 rcon[] = { }; #endif -#ifdef HAVE_AES_SET_ENCRYPT_KEY_INTERNAL -int aes_set_encrypt_key_internal(const unsigned char *userKey, const int bits, - AES_KEY *key); - -#else - +#ifndef HAVE_AES_SET_ENCRYPT_KEY_INTERNAL /* * Expand the cipher key into the encryption key schedule. */ -static inline int +int aes_set_encrypt_key_internal(const unsigned char *userKey, const int bits, AES_KEY *key) { @@ -742,22 +737,11 @@ aes_set_encrypt_key_internal(const unsigned char *userKey, const int bits, } #endif -int -AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) -{ - return aes_set_encrypt_key_internal(userKey, bits, key); -} -LCRYPTO_ALIAS(AES_set_encrypt_key); - -#ifdef HAVE_AES_SET_DECRYPT_KEY_INTERNAL -int aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, - AES_KEY *key); - -#else +#ifndef HAVE_AES_SET_DECRYPT_KEY_INTERNAL /* * Expand the cipher key into the decryption key schedule. */ -static inline int +int aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, AES_KEY *key) { @@ -815,22 +799,11 @@ aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, } #endif -int -AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) -{ - return aes_set_decrypt_key_internal(userKey, bits, key); -} -LCRYPTO_ALIAS(AES_set_decrypt_key); - -#ifdef HAVE_AES_ENCRYPT_INTERNAL -void aes_encrypt_internal(const unsigned char *in, unsigned char *out, - const AES_KEY *key); - -#else +#ifndef HAVE_AES_ENCRYPT_INTERNAL /* * Encrypt a single block - in and out can overlap. */ -static inline void +void aes_encrypt_internal(const unsigned char *in, unsigned char *out, const AES_KEY *key) { @@ -1018,22 +991,11 @@ aes_encrypt_internal(const unsigned char *in, unsigned char *out, } #endif -void -AES_encrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) -{ - aes_encrypt_internal(in, out, key); -} -LCRYPTO_ALIAS(AES_encrypt); - -#ifdef HAVE_AES_DECRYPT_INTERNAL -void aes_decrypt_internal(const unsigned char *in, unsigned char *out, - const AES_KEY *key); - -#else +#ifndef HAVE_AES_DECRYPT_INTERNAL /* * Decrypt a single block - in and out can overlap. */ -static inline void +void aes_decrypt_internal(const unsigned char *in, unsigned char *out, const AES_KEY *key) { @@ -1220,10 +1182,3 @@ aes_decrypt_internal(const unsigned char *in, unsigned char *out, crypto_store_htobe32(&out[3 * 4], s3); } #endif - -void -AES_decrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) -{ - aes_decrypt_internal(in, out, key); -} -LCRYPTO_ALIAS(AES_decrypt); -- cgit v1.2.3-55-g6feb