summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoshua <>2024-03-30 05:14:12 +0000
committerjoshua <>2024-03-30 05:14:12 +0000
commit2214bce1841d01c1c38687ff7bed8aa3bc1ad5d7 (patch)
tree365d13bd10ec7951c3ca7d91033e2d9436fdf0ca
parent68fe8073e2f63de3f0a424114092cac5329205c2 (diff)
downloadopenbsd-2214bce1841d01c1c38687ff7bed8aa3bc1ad5d7.tar.gz
openbsd-2214bce1841d01c1c38687ff7bed8aa3bc1ad5d7.tar.bz2
openbsd-2214bce1841d01c1c38687ff7bed8aa3bc1ad5d7.zip
Hide symbols in aes
ok jsing
-rw-r--r--src/lib/libcrypto/Symbols.namespace14
-rw-r--r--src/lib/libcrypto/aes/aes.c11
-rw-r--r--src/lib/libcrypto/aes/aes_core.c6
-rw-r--r--src/lib/libcrypto/aes/aes_ige.c3
-rw-r--r--src/lib/libcrypto/hidden/openssl/aes.h43
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}
86LCRYPTO_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}
101LCRYPTO_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 */
102void 104void
@@ -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}
111LCRYPTO_ALIAS(AES_cfb1_encrypt);
109 112
110void 113void
111AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, size_t length, 114AES_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}
120LCRYPTO_ALIAS(AES_cfb8_encrypt);
117 121
118void 122void
119AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, 123AES_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}
130LCRYPTO_ALIAS(AES_ctr128_encrypt);
126 131
127void 132void
128AES_ecb_encrypt(const unsigned char *in, unsigned char *out, 133AES_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}
141LCRYPTO_ALIAS(AES_ecb_encrypt);
136 142
137void 143void
138AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, size_t length, 144AES_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}
150LCRYPTO_ALIAS(AES_ofb128_encrypt);
144 151
145int 152int
146AES_wrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, 153AES_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}
186LCRYPTO_ALIAS(AES_wrap_key);
179 187
180int 188int
181AES_unwrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, 189AES_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}
224LCRYPTO_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}
749LCRYPTO_ALIAS(AES_set_encrypt_key);
749 750
750#ifdef HAVE_AES_SET_DECRYPT_KEY_INTERNAL 751#ifdef HAVE_AES_SET_DECRYPT_KEY_INTERNAL
751int aes_set_decrypt_key_internal(const unsigned char *userKey, const int bits, 752int 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}
822LCRYPTO_ALIAS(AES_set_decrypt_key);
821 823
822#ifdef HAVE_AES_ENCRYPT_INTERNAL 824#ifdef HAVE_AES_ENCRYPT_INTERNAL
823void aes_encrypt_internal(const unsigned char *in, unsigned char *out, 825void 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}
1025LCRYPTO_ALIAS(AES_encrypt);
1023 1026
1024#ifdef HAVE_AES_DECRYPT_INTERNAL 1027#ifdef HAVE_AES_DECRYPT_INTERNAL
1025void aes_decrypt_internal(const unsigned char *in, unsigned char *out, 1028void 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}
1228LCRYPTO_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}
195LCRYPTO_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
28LCRYPTO_USED(AES_set_encrypt_key);
29LCRYPTO_USED(AES_set_decrypt_key);
30LCRYPTO_USED(AES_encrypt);
31LCRYPTO_USED(AES_decrypt);
32LCRYPTO_USED(AES_ecb_encrypt);
33LCRYPTO_USED(AES_cbc_encrypt);
34LCRYPTO_USED(AES_cfb128_encrypt);
35LCRYPTO_USED(AES_cfb1_encrypt);
36LCRYPTO_USED(AES_cfb8_encrypt);
37LCRYPTO_USED(AES_ofb128_encrypt);
38LCRYPTO_USED(AES_ctr128_encrypt);
39LCRYPTO_USED(AES_ige_encrypt);
40LCRYPTO_USED(AES_wrap_key);
41LCRYPTO_USED(AES_unwrap_key);
42
43#endif /* _LIBCRYPTO_AES_H */