diff options
-rw-r--r-- | src/lib/libcrypto/Symbols.namespace | 14 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/aes.c | 11 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/aes_core.c | 6 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/aes_ige.c | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/hidden/openssl/aes.h | 43 |
5 files changed, 74 insertions, 3 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace index 5862beeeb0..a9ac044b71 100644 --- a/src/lib/libcrypto/Symbols.namespace +++ b/src/lib/libcrypto/Symbols.namespace | |||
@@ -2614,3 +2614,17 @@ _libre_Camellia_cfb1_encrypt | |||
2614 | _libre_Camellia_cfb8_encrypt | 2614 | _libre_Camellia_cfb8_encrypt |
2615 | _libre_Camellia_ofb128_encrypt | 2615 | _libre_Camellia_ofb128_encrypt |
2616 | _libre_Camellia_ctr128_encrypt | 2616 | _libre_Camellia_ctr128_encrypt |
2617 | _libre_AES_set_encrypt_key | ||
2618 | _libre_AES_set_decrypt_key | ||
2619 | _libre_AES_encrypt | ||
2620 | _libre_AES_decrypt | ||
2621 | _libre_AES_ecb_encrypt | ||
2622 | _libre_AES_cbc_encrypt | ||
2623 | _libre_AES_cfb128_encrypt | ||
2624 | _libre_AES_cfb1_encrypt | ||
2625 | _libre_AES_cfb8_encrypt | ||
2626 | _libre_AES_ofb128_encrypt | ||
2627 | _libre_AES_ctr128_encrypt | ||
2628 | _libre_AES_ige_encrypt | ||
2629 | _libre_AES_wrap_key | ||
2630 | _libre_AES_unwrap_key | ||
diff --git a/src/lib/libcrypto/aes/aes.c b/src/lib/libcrypto/aes/aes.c index 9b25a21f4c..4d040ea5f7 100644 --- a/src/lib/libcrypto/aes/aes.c +++ b/src/lib/libcrypto/aes/aes.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes.c,v 1.2 2024/03/28 12:52:58 jsing Exp $ */ | 1 | /* $OpenBSD: aes.c,v 1.3 2024/03/30 05:14:12 joshua Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2002-2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2002-2006 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -83,6 +83,7 @@ AES_cbc_encrypt(const unsigned char *in, unsigned char *out, | |||
83 | { | 83 | { |
84 | aes_cbc_encrypt_internal(in, out, len, key, ivec, enc); | 84 | aes_cbc_encrypt_internal(in, out, len, key, ivec, enc); |
85 | } | 85 | } |
86 | LCRYPTO_ALIAS(AES_cbc_encrypt); | ||
86 | 87 | ||
87 | /* | 88 | /* |
88 | * The input and output encrypted as though 128bit cfb mode is being | 89 | * The input and output encrypted as though 128bit cfb mode is being |
@@ -97,6 +98,7 @@ AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, size_t length, | |||
97 | CRYPTO_cfb128_encrypt(in, out, length, key, ivec, num, enc, | 98 | CRYPTO_cfb128_encrypt(in, out, length, key, ivec, num, enc, |
98 | (block128_f)AES_encrypt); | 99 | (block128_f)AES_encrypt); |
99 | } | 100 | } |
101 | LCRYPTO_ALIAS(AES_cfb128_encrypt); | ||
100 | 102 | ||
101 | /* N.B. This expects the input to be packed, MS bit first */ | 103 | /* N.B. This expects the input to be packed, MS bit first */ |
102 | void | 104 | void |
@@ -106,6 +108,7 @@ AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, size_t length, | |||
106 | CRYPTO_cfb128_1_encrypt(in, out, length, key, ivec, num, enc, | 108 | CRYPTO_cfb128_1_encrypt(in, out, length, key, ivec, num, enc, |
107 | (block128_f)AES_encrypt); | 109 | (block128_f)AES_encrypt); |
108 | } | 110 | } |
111 | LCRYPTO_ALIAS(AES_cfb1_encrypt); | ||
109 | 112 | ||
110 | void | 113 | void |
111 | AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, size_t length, | 114 | AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, size_t length, |
@@ -114,6 +117,7 @@ AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, size_t length, | |||
114 | CRYPTO_cfb128_8_encrypt(in, out, length, key, ivec, num, enc, | 117 | CRYPTO_cfb128_8_encrypt(in, out, length, key, ivec, num, enc, |
115 | (block128_f)AES_encrypt); | 118 | (block128_f)AES_encrypt); |
116 | } | 119 | } |
120 | LCRYPTO_ALIAS(AES_cfb8_encrypt); | ||
117 | 121 | ||
118 | void | 122 | void |
119 | AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, | 123 | AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, |
@@ -123,6 +127,7 @@ AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, | |||
123 | CRYPTO_ctr128_encrypt(in, out, length, key, ivec, ecount_buf, num, | 127 | CRYPTO_ctr128_encrypt(in, out, length, key, ivec, ecount_buf, num, |
124 | (block128_f)AES_encrypt); | 128 | (block128_f)AES_encrypt); |
125 | } | 129 | } |
130 | LCRYPTO_ALIAS(AES_ctr128_encrypt); | ||
126 | 131 | ||
127 | void | 132 | void |
128 | AES_ecb_encrypt(const unsigned char *in, unsigned char *out, | 133 | AES_ecb_encrypt(const unsigned char *in, unsigned char *out, |
@@ -133,6 +138,7 @@ AES_ecb_encrypt(const unsigned char *in, unsigned char *out, | |||
133 | else | 138 | else |
134 | AES_decrypt(in, out, key); | 139 | AES_decrypt(in, out, key); |
135 | } | 140 | } |
141 | LCRYPTO_ALIAS(AES_ecb_encrypt); | ||
136 | 142 | ||
137 | void | 143 | void |
138 | AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, size_t length, | 144 | AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, size_t length, |
@@ -141,6 +147,7 @@ AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, size_t length, | |||
141 | CRYPTO_ofb128_encrypt(in, out, length, key, ivec, num, | 147 | CRYPTO_ofb128_encrypt(in, out, length, key, ivec, num, |
142 | (block128_f)AES_encrypt); | 148 | (block128_f)AES_encrypt); |
143 | } | 149 | } |
150 | LCRYPTO_ALIAS(AES_ofb128_encrypt); | ||
144 | 151 | ||
145 | int | 152 | int |
146 | AES_wrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, | 153 | AES_wrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, |
@@ -176,6 +183,7 @@ AES_wrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, | |||
176 | memcpy(out, A, 8); | 183 | memcpy(out, A, 8); |
177 | return inlen + 8; | 184 | return inlen + 8; |
178 | } | 185 | } |
186 | LCRYPTO_ALIAS(AES_wrap_key); | ||
179 | 187 | ||
180 | int | 188 | int |
181 | AES_unwrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, | 189 | AES_unwrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, |
@@ -213,3 +221,4 @@ AES_unwrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, | |||
213 | } | 221 | } |
214 | return inlen; | 222 | return inlen; |
215 | } | 223 | } |
224 | LCRYPTO_ALIAS(AES_unwrap_key); | ||
diff --git a/src/lib/libcrypto/aes/aes_core.c b/src/lib/libcrypto/aes/aes_core.c index 23211dfcd0..335b1dba54 100644 --- a/src/lib/libcrypto/aes/aes_core.c +++ b/src/lib/libcrypto/aes/aes_core.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes_core.c,v 1.22 2024/03/29 11:19:01 jsing Exp $ */ | 1 | /* $OpenBSD: aes_core.c,v 1.23 2024/03/30 05:14:12 joshua Exp $ */ |
2 | /** | 2 | /** |
3 | * rijndael-alg-fst.c | 3 | * rijndael-alg-fst.c |
4 | * | 4 | * |
@@ -746,6 +746,7 @@ AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) | |||
746 | { | 746 | { |
747 | return aes_set_encrypt_key_internal(userKey, bits, key); | 747 | return aes_set_encrypt_key_internal(userKey, bits, key); |
748 | } | 748 | } |
749 | LCRYPTO_ALIAS(AES_set_encrypt_key); | ||
749 | 750 | ||
750 | #ifdef HAVE_AES_SET_DECRYPT_KEY_INTERNAL | 751 | #ifdef HAVE_AES_SET_DECRYPT_KEY_INTERNAL |
751 | int aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, | 752 | int aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, |
@@ -818,6 +819,7 @@ AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) | |||
818 | { | 819 | { |
819 | return aes_set_decrypt_key_internal(userKey, bits, key); | 820 | return aes_set_decrypt_key_internal(userKey, bits, key); |
820 | } | 821 | } |
822 | LCRYPTO_ALIAS(AES_set_decrypt_key); | ||
821 | 823 | ||
822 | #ifdef HAVE_AES_ENCRYPT_INTERNAL | 824 | #ifdef HAVE_AES_ENCRYPT_INTERNAL |
823 | void aes_encrypt_internal(const unsigned char *in, unsigned char *out, | 825 | void aes_encrypt_internal(const unsigned char *in, unsigned char *out, |
@@ -1020,6 +1022,7 @@ AES_encrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) | |||
1020 | { | 1022 | { |
1021 | return aes_encrypt_internal(in, out, key); | 1023 | return aes_encrypt_internal(in, out, key); |
1022 | } | 1024 | } |
1025 | LCRYPTO_ALIAS(AES_encrypt); | ||
1023 | 1026 | ||
1024 | #ifdef HAVE_AES_DECRYPT_INTERNAL | 1027 | #ifdef HAVE_AES_DECRYPT_INTERNAL |
1025 | void aes_decrypt_internal(const unsigned char *in, unsigned char *out, | 1028 | void aes_decrypt_internal(const unsigned char *in, unsigned char *out, |
@@ -1222,3 +1225,4 @@ AES_decrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) | |||
1222 | { | 1225 | { |
1223 | return aes_decrypt_internal(in, out, key); | 1226 | return aes_decrypt_internal(in, out, key); |
1224 | } | 1227 | } |
1228 | LCRYPTO_ALIAS(AES_decrypt); | ||
diff --git a/src/lib/libcrypto/aes/aes_ige.c b/src/lib/libcrypto/aes/aes_ige.c index ef7d7662fd..1a6fcfcfbf 100644 --- a/src/lib/libcrypto/aes/aes_ige.c +++ b/src/lib/libcrypto/aes/aes_ige.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes_ige.c,v 1.9 2022/11/26 16:08:50 tb Exp $ */ | 1 | /* $OpenBSD: aes_ige.c,v 1.10 2024/03/30 05:14:12 joshua Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2006 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -192,3 +192,4 @@ AES_ige_encrypt(const unsigned char *in, unsigned char *out, size_t length, | |||
192 | } | 192 | } |
193 | } | 193 | } |
194 | } | 194 | } |
195 | LCRYPTO_ALIAS(AES_ige_encrypt); | ||
diff --git a/src/lib/libcrypto/hidden/openssl/aes.h b/src/lib/libcrypto/hidden/openssl/aes.h new file mode 100644 index 0000000000..0ec5a8d544 --- /dev/null +++ b/src/lib/libcrypto/hidden/openssl/aes.h | |||
@@ -0,0 +1,43 @@ | |||
1 | /* $OpenBSD: aes.h,v 1.1 2024/03/30 05:14:12 joshua Exp $ */ | ||
2 | /* | ||
3 | * Copyright (c) 2024 Joshua Sing <joshua@joshuasing.dev> | ||
4 | * | ||
5 | * Permission to use, copy, modify, and distribute this software for any | ||
6 | * purpose with or without fee is hereby granted, provided that the above | ||
7 | * copyright notice and this permission notice appear in all copies. | ||
8 | * | ||
9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
16 | */ | ||
17 | |||
18 | #ifndef _LIBCRYPTO_AES_H | ||
19 | #define _LIBCRYPTO_AES_H | ||
20 | |||
21 | #ifndef _MSC_VER | ||
22 | #include_next <openssl/aes.h> | ||
23 | #else | ||
24 | #include "../include/openssl/aes.h" | ||
25 | #endif | ||
26 | #include "crypto_namespace.h" | ||
27 | |||
28 | LCRYPTO_USED(AES_set_encrypt_key); | ||
29 | LCRYPTO_USED(AES_set_decrypt_key); | ||
30 | LCRYPTO_USED(AES_encrypt); | ||
31 | LCRYPTO_USED(AES_decrypt); | ||
32 | LCRYPTO_USED(AES_ecb_encrypt); | ||
33 | LCRYPTO_USED(AES_cbc_encrypt); | ||
34 | LCRYPTO_USED(AES_cfb128_encrypt); | ||
35 | LCRYPTO_USED(AES_cfb1_encrypt); | ||
36 | LCRYPTO_USED(AES_cfb8_encrypt); | ||
37 | LCRYPTO_USED(AES_ofb128_encrypt); | ||
38 | LCRYPTO_USED(AES_ctr128_encrypt); | ||
39 | LCRYPTO_USED(AES_ige_encrypt); | ||
40 | LCRYPTO_USED(AES_wrap_key); | ||
41 | LCRYPTO_USED(AES_unwrap_key); | ||
42 | |||
43 | #endif /* _LIBCRYPTO_AES_H */ | ||