summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoshua <>2024-03-29 01:47:29 +0000
committerjoshua <>2024-03-29 01:47:29 +0000
commit7536eba9a09ea33b8a77ea48b1384919b4c61aa2 (patch)
tree452259c0fee1c60e6a350ce598f802264c12aa68
parentbd27f014831cffb017e8eb3be8173b37fbcc5c8c (diff)
downloadopenbsd-7536eba9a09ea33b8a77ea48b1384919b4c61aa2.tar.gz
openbsd-7536eba9a09ea33b8a77ea48b1384919b4c61aa2.tar.bz2
openbsd-7536eba9a09ea33b8a77ea48b1384919b4c61aa2.zip
Hide symbols in DES
ok jsing beck
-rw-r--r--src/lib/libcrypto/Symbols.namespace35
-rw-r--r--src/lib/libcrypto/des/cbc_cksm.c3
-rw-r--r--src/lib/libcrypto/des/cfb64ede.c4
-rw-r--r--src/lib/libcrypto/des/cfb64enc.c3
-rw-r--r--src/lib/libcrypto/des/cfb_enc.c3
-rw-r--r--src/lib/libcrypto/des/des_enc.c7
-rw-r--r--src/lib/libcrypto/des/ecb3_enc.c3
-rw-r--r--src/lib/libcrypto/des/ecb_enc.c3
-rw-r--r--src/lib/libcrypto/des/ede_cbcm_enc.c3
-rw-r--r--src/lib/libcrypto/des/enc_read.c3
-rw-r--r--src/lib/libcrypto/des/enc_writ.c3
-rw-r--r--src/lib/libcrypto/des/fcrypt.c4
-rw-r--r--src/lib/libcrypto/des/ncbc_enc.c7
-rw-r--r--src/lib/libcrypto/des/ofb64ede.c3
-rw-r--r--src/lib/libcrypto/des/ofb64enc.c3
-rw-r--r--src/lib/libcrypto/des/ofb_enc.c3
-rw-r--r--src/lib/libcrypto/des/pcbc_enc.c3
-rw-r--r--src/lib/libcrypto/des/qud_cksm.c3
-rw-r--r--src/lib/libcrypto/des/set_key.c10
-rw-r--r--src/lib/libcrypto/des/str2key.c4
-rw-r--r--src/lib/libcrypto/des/xcbc_enc.c3
-rw-r--r--src/lib/libcrypto/hidden/openssl/des.h64
22 files changed, 157 insertions, 20 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 48dfbe5fd7..336989e983 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2549,3 +2549,38 @@ _libre_RIPEMD160_Update
2549_libre_RIPEMD160_Final 2549_libre_RIPEMD160_Final
2550_libre_RIPEMD160 2550_libre_RIPEMD160
2551_libre_RIPEMD160_Transform 2551_libre_RIPEMD160_Transform
2552_libre_DES_ecb3_encrypt
2553_libre_DES_cbc_cksum
2554_libre_DES_cbc_encrypt
2555_libre_DES_ncbc_encrypt
2556_libre_DES_xcbc_encrypt
2557_libre_DES_cfb_encrypt
2558_libre_DES_ecb_encrypt
2559_libre_DES_encrypt1
2560_libre_DES_encrypt2
2561_libre_DES_encrypt3
2562_libre_DES_decrypt3
2563_libre_DES_ede3_cbc_encrypt
2564_libre_DES_ede3_cbcm_encrypt
2565_libre_DES_ede3_cfb64_encrypt
2566_libre_DES_ede3_cfb_encrypt
2567_libre_DES_ede3_ofb64_encrypt
2568_libre_DES_enc_read
2569_libre_DES_enc_write
2570_libre_DES_fcrypt
2571_libre_DES_crypt
2572_libre_DES_ofb_encrypt
2573_libre_DES_pcbc_encrypt
2574_libre_DES_quad_cksum
2575_libre_DES_random_key
2576_libre_DES_set_odd_parity
2577_libre_DES_check_key_parity
2578_libre_DES_is_weak_key
2579_libre_DES_set_key
2580_libre_DES_key_sched
2581_libre_DES_set_key_checked
2582_libre_DES_set_key_unchecked
2583_libre_DES_string_to_key
2584_libre_DES_string_to_2keys
2585_libre_DES_cfb64_encrypt
2586_libre_DES_ofb64_encrypt
diff --git a/src/lib/libcrypto/des/cbc_cksm.c b/src/lib/libcrypto/des/cbc_cksm.c
index afa3f03d92..acb0bac110 100644
--- a/src/lib/libcrypto/des/cbc_cksm.c
+++ b/src/lib/libcrypto/des/cbc_cksm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cbc_cksm.c,v 1.10 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: cbc_cksm.c,v 1.11 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -103,3 +103,4 @@ DES_cbc_cksum(const unsigned char *in, DES_cblock *output,
103 ((tout1 << 24L) & 0xFF000000); 103 ((tout1 << 24L) & 0xFF000000);
104 return (tout1); 104 return (tout1);
105} 105}
106LCRYPTO_ALIAS(DES_cbc_cksum);
diff --git a/src/lib/libcrypto/des/cfb64ede.c b/src/lib/libcrypto/des/cfb64ede.c
index e91dbbfc4a..69a6c25408 100644
--- a/src/lib/libcrypto/des/cfb64ede.c
+++ b/src/lib/libcrypto/des/cfb64ede.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cfb64ede.c,v 1.12 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: cfb64ede.c,v 1.13 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -125,6 +125,7 @@ DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out,
125 v0 = v1 = ti[0] = ti[1] = c = cc = 0; 125 v0 = v1 = ti[0] = ti[1] = c = cc = 0;
126 *num = n; 126 *num = n;
127} 127}
128LCRYPTO_ALIAS(DES_ede3_cfb64_encrypt);
128 129
129/* This is compatible with the single key CFB-r for DES, even thought that's 130/* This is compatible with the single key CFB-r for DES, even thought that's
130 * not what EVP needs. 131 * not what EVP needs.
@@ -238,3 +239,4 @@ DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out,
238 l2c(v1, iv); 239 l2c(v1, iv);
239 v0 = v1 = d0 = d1 = ti[0] = ti[1] = 0; 240 v0 = v1 = d0 = d1 = ti[0] = ti[1] = 0;
240} 241}
242LCRYPTO_ALIAS(DES_ede3_cfb_encrypt);
diff --git a/src/lib/libcrypto/des/cfb64enc.c b/src/lib/libcrypto/des/cfb64enc.c
index d7434b9db9..d2d0dadf11 100644
--- a/src/lib/libcrypto/des/cfb64enc.c
+++ b/src/lib/libcrypto/des/cfb64enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cfb64enc.c,v 1.8 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: cfb64enc.c,v 1.9 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -120,3 +120,4 @@ DES_cfb64_encrypt(const unsigned char *in, unsigned char *out,
120 v0 = v1 = ti[0] = ti[1] = c = cc = 0; 120 v0 = v1 = ti[0] = ti[1] = c = cc = 0;
121 *num = n; 121 *num = n;
122} 122}
123LCRYPTO_ALIAS(DES_cfb64_encrypt);
diff --git a/src/lib/libcrypto/des/cfb_enc.c b/src/lib/libcrypto/des/cfb_enc.c
index dac86751d3..ae41c9d079 100644
--- a/src/lib/libcrypto/des/cfb_enc.c
+++ b/src/lib/libcrypto/des/cfb_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cfb_enc.c,v 1.16 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: cfb_enc.c,v 1.17 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -187,3 +187,4 @@ DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
187 l2c(v1, iv); 187 l2c(v1, iv);
188 v0 = v1 = d0 = d1 = ti[0] = ti[1] = 0; 188 v0 = v1 = d0 = d1 = ti[0] = ti[1] = 0;
189} 189}
190LCRYPTO_ALIAS(DES_cfb_encrypt);
diff --git a/src/lib/libcrypto/des/des_enc.c b/src/lib/libcrypto/des/des_enc.c
index 7319639c82..f332b9a431 100644
--- a/src/lib/libcrypto/des/des_enc.c
+++ b/src/lib/libcrypto/des/des_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: des_enc.c,v 1.15 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: des_enc.c,v 1.16 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -150,6 +150,7 @@ DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc)
150 data[1] = r; 150 data[1] = r;
151 l = r = t = u = 0; 151 l = r = t = u = 0;
152} 152}
153LCRYPTO_ALIAS(DES_encrypt1);
153 154
154void 155void
155DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc) 156DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc)
@@ -233,6 +234,7 @@ DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc)
233 data[1] = ROTATE(r, 3) & 0xffffffffL; 234 data[1] = ROTATE(r, 3) & 0xffffffffL;
234 l = r = t = u = 0; 235 l = r = t = u = 0;
235} 236}
237LCRYPTO_ALIAS(DES_encrypt2);
236 238
237#endif /* OPENBSD_DES_ASM */ 239#endif /* OPENBSD_DES_ASM */
238 240
@@ -256,6 +258,7 @@ DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1,
256 data[0] = l; 258 data[0] = l;
257 data[1] = r; 259 data[1] = r;
258} 260}
261LCRYPTO_ALIAS(DES_encrypt3);
259 262
260void 263void
261DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, 264DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1,
@@ -277,6 +280,7 @@ DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1,
277 data[0] = l; 280 data[0] = l;
278 data[1] = r; 281 data[1] = r;
279} 282}
283LCRYPTO_ALIAS(DES_decrypt3);
280 284
281#ifndef DES_DEFAULT_OPTIONS 285#ifndef DES_DEFAULT_OPTIONS
282 286
@@ -388,5 +392,6 @@ DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output,
388 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0; 392 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
389 tin[0] = tin[1] = 0; 393 tin[0] = tin[1] = 0;
390} 394}
395LCRYPTO_ALIAS(DES_ede3_cbc_encrypt);
391 396
392#endif /* DES_DEFAULT_OPTIONS */ 397#endif /* DES_DEFAULT_OPTIONS */
diff --git a/src/lib/libcrypto/des/ecb3_enc.c b/src/lib/libcrypto/des/ecb3_enc.c
index 129b5fafea..2aa63726e5 100644
--- a/src/lib/libcrypto/des/ecb3_enc.c
+++ b/src/lib/libcrypto/des/ecb3_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ecb3_enc.c,v 1.9 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: ecb3_enc.c,v 1.10 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -82,3 +82,4 @@ DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output,
82 l2c(l0, out); 82 l2c(l0, out);
83 l2c(l1, out); 83 l2c(l1, out);
84} 84}
85LCRYPTO_ALIAS(DES_ecb3_encrypt);
diff --git a/src/lib/libcrypto/des/ecb_enc.c b/src/lib/libcrypto/des/ecb_enc.c
index 3599fb812f..2491c43183 100644
--- a/src/lib/libcrypto/des/ecb_enc.c
+++ b/src/lib/libcrypto/des/ecb_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ecb_enc.c,v 1.19 2023/07/31 05:04:06 tb Exp $ */ 1/* $OpenBSD: ecb_enc.c,v 1.20 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -80,3 +80,4 @@ DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
80 l2c(l, out); 80 l2c(l, out);
81 l = ll[0] = ll[1] = 0; 81 l = ll[0] = ll[1] = 0;
82} 82}
83LCRYPTO_ALIAS(DES_ecb_encrypt);
diff --git a/src/lib/libcrypto/des/ede_cbcm_enc.c b/src/lib/libcrypto/des/ede_cbcm_enc.c
index eb6fd4f545..979600e549 100644
--- a/src/lib/libcrypto/des/ede_cbcm_enc.c
+++ b/src/lib/libcrypto/des/ede_cbcm_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ede_cbcm_enc.c,v 1.9 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: ede_cbcm_enc.c,v 1.10 2024/03/29 01:47:29 joshua Exp $ */
2/* Written by Ben Laurie <ben@algroup.co.uk> for the OpenSSL 2/* Written by Ben Laurie <ben@algroup.co.uk> for the OpenSSL
3 * project 13 Feb 1999. 3 * project 13 Feb 1999.
4 */ 4 */
@@ -186,4 +186,5 @@ DES_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out,
186 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0; 186 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
187 tin[0] = tin[1] = 0; 187 tin[0] = tin[1] = 0;
188} 188}
189LCRYPTO_ALIAS(DES_ede3_cbcm_encrypt);
189#endif 190#endif
diff --git a/src/lib/libcrypto/des/enc_read.c b/src/lib/libcrypto/des/enc_read.c
index 8095f265c0..d52489e72d 100644
--- a/src/lib/libcrypto/des/enc_read.c
+++ b/src/lib/libcrypto/des/enc_read.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: enc_read.c,v 1.17 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: enc_read.c,v 1.18 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -220,3 +220,4 @@ DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched,
220 } 220 }
221 return num; 221 return num;
222} 222}
223LCRYPTO_ALIAS(DES_enc_read);
diff --git a/src/lib/libcrypto/des/enc_writ.c b/src/lib/libcrypto/des/enc_writ.c
index 3def8a8d73..39c6139360 100644
--- a/src/lib/libcrypto/des/enc_writ.c
+++ b/src/lib/libcrypto/des/enc_writ.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: enc_writ.c,v 1.17 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: enc_writ.c,v 1.18 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -165,3 +165,4 @@ DES_enc_write(int fd, const void *_buf, int len,
165 165
166 return (len); 166 return (len);
167} 167}
168LCRYPTO_ALIAS(DES_enc_write);
diff --git a/src/lib/libcrypto/des/fcrypt.c b/src/lib/libcrypto/des/fcrypt.c
index b183ceef14..5bdf09b7e6 100644
--- a/src/lib/libcrypto/des/fcrypt.c
+++ b/src/lib/libcrypto/des/fcrypt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: fcrypt.c,v 1.15 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: fcrypt.c,v 1.16 2024/03/29 01:47:29 joshua Exp $ */
2 2
3#include <stdio.h> 3#include <stdio.h>
4 4
@@ -58,6 +58,7 @@ DES_crypt(const char *buf, const char *salt)
58 58
59 return (DES_fcrypt(buf, salt, buff)); 59 return (DES_fcrypt(buf, salt, buff));
60} 60}
61LCRYPTO_ALIAS(DES_crypt);
61 62
62char * 63char *
63DES_fcrypt(const char *buf, const char *salt, char *ret) 64DES_fcrypt(const char *buf, const char *salt, char *ret)
@@ -123,3 +124,4 @@ r=(r+7)/8;
123 ret[13] = '\0'; 124 ret[13] = '\0';
124 return (ret); 125 return (ret);
125} 126}
127LCRYPTO_ALIAS(DES_fcrypt);
diff --git a/src/lib/libcrypto/des/ncbc_enc.c b/src/lib/libcrypto/des/ncbc_enc.c
index c4da94c489..1a49126b63 100644
--- a/src/lib/libcrypto/des/ncbc_enc.c
+++ b/src/lib/libcrypto/des/ncbc_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ncbc_enc.c,v 1.10 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: ncbc_enc.c,v 1.11 2024/03/29 01:47:29 joshua Exp $ */
2/* 2/*
3 * #included by: 3 * #included by:
4 * cbc_enc.c (DES_cbc_encrypt) 4 * cbc_enc.c (DES_cbc_encrypt)
@@ -153,3 +153,8 @@ DES_ncbc_encrypt(const unsigned char *in, unsigned char *out, long length,
153 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0; 153 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
154 tin[0] = tin[1] = 0; 154 tin[0] = tin[1] = 0;
155} 155}
156#ifdef CBC_ENC_C__DONT_UPDATE_IV
157LCRYPTO_ALIAS(DES_cbc_encrypt);
158#else
159LCRYPTO_ALIAS(DES_ncbc_encrypt);
160#endif
diff --git a/src/lib/libcrypto/des/ofb64ede.c b/src/lib/libcrypto/des/ofb64ede.c
index 2922fc77fa..949b220478 100644
--- a/src/lib/libcrypto/des/ofb64ede.c
+++ b/src/lib/libcrypto/des/ofb64ede.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ofb64ede.c,v 1.8 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: ofb64ede.c,v 1.9 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -110,3 +110,4 @@ DES_ede3_ofb64_encrypt(const unsigned char *in,
110 v0 = v1 = ti[0] = ti[1] = 0; 110 v0 = v1 = ti[0] = ti[1] = 0;
111 *num = n; 111 *num = n;
112} 112}
113LCRYPTO_ALIAS(DES_ede3_ofb64_encrypt);
diff --git a/src/lib/libcrypto/des/ofb64enc.c b/src/lib/libcrypto/des/ofb64enc.c
index c3b1b8af8b..5e524dd9e2 100644
--- a/src/lib/libcrypto/des/ofb64enc.c
+++ b/src/lib/libcrypto/des/ofb64enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ofb64enc.c,v 1.8 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: ofb64enc.c,v 1.9 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -107,3 +107,4 @@ DES_ofb64_encrypt(const unsigned char *in,
107 t = v0 = v1 = ti[0] = ti[1] = 0; 107 t = v0 = v1 = ti[0] = ti[1] = 0;
108 *num = n; 108 *num = n;
109} 109}
110LCRYPTO_ALIAS(DES_ofb64_encrypt);
diff --git a/src/lib/libcrypto/des/ofb_enc.c b/src/lib/libcrypto/des/ofb_enc.c
index 990b927eb0..96dc25ee2c 100644
--- a/src/lib/libcrypto/des/ofb_enc.c
+++ b/src/lib/libcrypto/des/ofb_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ofb_enc.c,v 1.8 2023/07/08 07:11:07 beck Exp $ */ 1/* $OpenBSD: ofb_enc.c,v 1.9 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -131,3 +131,4 @@ DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
131 l2c(v1, iv); 131 l2c(v1, iv);
132 v0 = v1 = d0 = d1 = ti[0] = ti[1] = vv0 = vv1 = 0; 132 v0 = v1 = d0 = d1 = ti[0] = ti[1] = vv0 = vv1 = 0;
133} 133}
134LCRYPTO_ALIAS(DES_ofb_encrypt);
diff --git a/src/lib/libcrypto/des/pcbc_enc.c b/src/lib/libcrypto/des/pcbc_enc.c
index 3a420f0136..defd628d4d 100644
--- a/src/lib/libcrypto/des/pcbc_enc.c
+++ b/src/lib/libcrypto/des/pcbc_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pcbc_enc.c,v 1.9 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: pcbc_enc.c,v 1.10 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -114,3 +114,4 @@ DES_pcbc_encrypt(const unsigned char *input, unsigned char *output,
114 tin[0] = tin[1] = 0; 114 tin[0] = tin[1] = 0;
115 sin0 = sin1 = xor0 = xor1 = tout0 = tout1 = 0; 115 sin0 = sin1 = xor0 = xor1 = tout0 = tout1 = 0;
116} 116}
117LCRYPTO_ALIAS(DES_pcbc_encrypt);
diff --git a/src/lib/libcrypto/des/qud_cksm.c b/src/lib/libcrypto/des/qud_cksm.c
index ab28668264..4ded2a05b0 100644
--- a/src/lib/libcrypto/des/qud_cksm.c
+++ b/src/lib/libcrypto/des/qud_cksm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: qud_cksm.c,v 1.10 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: qud_cksm.c,v 1.11 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -123,3 +123,4 @@ DES_quad_cksum(const unsigned char *input, DES_cblock output[],
123 } 123 }
124 return (z0); 124 return (z0);
125} 125}
126LCRYPTO_ALIAS(DES_quad_cksum);
diff --git a/src/lib/libcrypto/des/set_key.c b/src/lib/libcrypto/des/set_key.c
index 8ae40a81cd..0e7aab688c 100644
--- a/src/lib/libcrypto/des/set_key.c
+++ b/src/lib/libcrypto/des/set_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: set_key.c,v 1.26 2023/12/20 06:30:04 tb Exp $ */ 1/* $OpenBSD: set_key.c,v 1.27 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -91,6 +91,7 @@ DES_set_odd_parity(DES_cblock *key)
91 for (i = 0; i < DES_KEY_SZ; i++) 91 for (i = 0; i < DES_KEY_SZ; i++)
92 (*key)[i] = odd_parity[(*key)[i]]; 92 (*key)[i] = odd_parity[(*key)[i]];
93} 93}
94LCRYPTO_ALIAS(DES_set_odd_parity);
94 95
95int 96int
96DES_check_key_parity(const_DES_cblock *key) 97DES_check_key_parity(const_DES_cblock *key)
@@ -103,6 +104,7 @@ DES_check_key_parity(const_DES_cblock *key)
103 } 104 }
104 return (1); 105 return (1);
105} 106}
107LCRYPTO_ALIAS(DES_check_key_parity);
106 108
107/* Weak and semi weak keys as taken from 109/* Weak and semi weak keys as taken from
108 * %A D.W. Davies 110 * %A D.W. Davies
@@ -145,6 +147,7 @@ DES_is_weak_key(const_DES_cblock *key)
145 return 1; 147 return 1;
146 return 0; 148 return 0;
147} 149}
150LCRYPTO_ALIAS(DES_is_weak_key);
148 151
149/* NOW DEFINED IN des_local.h 152/* NOW DEFINED IN des_local.h
150 * See ecb_encrypt.c for a pseudo description of these macros. 153 * See ecb_encrypt.c for a pseudo description of these macros.
@@ -314,6 +317,7 @@ DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule)
314 return 0; 317 return 0;
315 } 318 }
316} 319}
320LCRYPTO_ALIAS(DES_set_key);
317 321
318/* return 0 if key parity is odd (correct), 322/* return 0 if key parity is odd (correct),
319 * return -1 if key parity error, 323 * return -1 if key parity error,
@@ -329,6 +333,7 @@ DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule)
329 DES_set_key_unchecked(key, schedule); 333 DES_set_key_unchecked(key, schedule);
330 return 0; 334 return 0;
331} 335}
336LCRYPTO_ALIAS(DES_set_key_checked);
332 337
333void 338void
334DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule) 339DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule)
@@ -388,12 +393,14 @@ DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule)
388 *(k++) = ROTATE(t2, 26) & 0xffffffffL; 393 *(k++) = ROTATE(t2, 26) & 0xffffffffL;
389 } 394 }
390} 395}
396LCRYPTO_ALIAS(DES_set_key_unchecked);
391 397
392int 398int
393DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule) 399DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule)
394{ 400{
395 return (DES_set_key(key, schedule)); 401 return (DES_set_key(key, schedule));
396} 402}
403LCRYPTO_ALIAS(DES_key_sched);
397 404
398int 405int
399DES_random_key(DES_cblock *ret) 406DES_random_key(DES_cblock *ret)
@@ -404,3 +411,4 @@ DES_random_key(DES_cblock *ret)
404 } while (DES_is_weak_key(ret)); 411 } while (DES_is_weak_key(ret));
405 return (1); 412 return (1);
406} 413}
414LCRYPTO_ALIAS(DES_random_key);
diff --git a/src/lib/libcrypto/des/str2key.c b/src/lib/libcrypto/des/str2key.c
index dd17a441b7..cc5bc91b4d 100644
--- a/src/lib/libcrypto/des/str2key.c
+++ b/src/lib/libcrypto/des/str2key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: str2key.c,v 1.13 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: str2key.c,v 1.14 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -97,6 +97,7 @@ DES_string_to_key(const char *str, DES_cblock *key)
97 explicit_bzero(&ks, sizeof(ks)); 97 explicit_bzero(&ks, sizeof(ks));
98 DES_set_odd_parity(key); 98 DES_set_odd_parity(key);
99} 99}
100LCRYPTO_ALIAS(DES_string_to_key);
100 101
101void 102void
102DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2) 103DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2)
@@ -164,3 +165,4 @@ DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2)
164 DES_set_odd_parity(key1); 165 DES_set_odd_parity(key1);
165 DES_set_odd_parity(key2); 166 DES_set_odd_parity(key2);
166} 167}
168LCRYPTO_ALIAS(DES_string_to_2keys);
diff --git a/src/lib/libcrypto/des/xcbc_enc.c b/src/lib/libcrypto/des/xcbc_enc.c
index 87f348a9ab..90607cad33 100644
--- a/src/lib/libcrypto/des/xcbc_enc.c
+++ b/src/lib/libcrypto/des/xcbc_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: xcbc_enc.c,v 1.12 2023/07/08 07:34:34 jsing Exp $ */ 1/* $OpenBSD: xcbc_enc.c,v 1.13 2024/03/29 01:47:29 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -151,3 +151,4 @@ DES_xcbc_encrypt(const unsigned char *in, unsigned char *out,
151 inW0 = inW1 = outW0 = outW1 = 0; 151 inW0 = inW1 = outW0 = outW1 = 0;
152 tin[0] = tin[1] = 0; 152 tin[0] = tin[1] = 0;
153} 153}
154LCRYPTO_ALIAS(DES_xcbc_encrypt);
diff --git a/src/lib/libcrypto/hidden/openssl/des.h b/src/lib/libcrypto/hidden/openssl/des.h
new file mode 100644
index 0000000000..9f6ea9c104
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/des.h
@@ -0,0 +1,64 @@
1/* $OpenBSD: des.h,v 1.1 2024/03/29 01:47:29 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_DES_H
19#define _LIBCRYPTO_DES_H
20
21#ifndef _MSC_VER
22#include_next <openssl/des.h>
23#else
24#include "../include/openssl/des.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(DES_ecb3_encrypt);
29LCRYPTO_USED(DES_cbc_cksum);
30LCRYPTO_USED(DES_cbc_encrypt);
31LCRYPTO_USED(DES_ncbc_encrypt);
32LCRYPTO_USED(DES_xcbc_encrypt);
33LCRYPTO_USED(DES_cfb_encrypt);
34LCRYPTO_USED(DES_ecb_encrypt);
35LCRYPTO_USED(DES_encrypt1);
36LCRYPTO_USED(DES_encrypt2);
37LCRYPTO_USED(DES_encrypt3);
38LCRYPTO_USED(DES_decrypt3);
39LCRYPTO_USED(DES_ede3_cbc_encrypt);
40LCRYPTO_USED(DES_ede3_cbcm_encrypt);
41LCRYPTO_USED(DES_ede3_cfb64_encrypt);
42LCRYPTO_USED(DES_ede3_cfb_encrypt);
43LCRYPTO_USED(DES_ede3_ofb64_encrypt);
44LCRYPTO_USED(DES_enc_read);
45LCRYPTO_USED(DES_enc_write);
46LCRYPTO_USED(DES_fcrypt);
47LCRYPTO_USED(DES_crypt);
48LCRYPTO_USED(DES_ofb_encrypt);
49LCRYPTO_USED(DES_pcbc_encrypt);
50LCRYPTO_USED(DES_quad_cksum);
51LCRYPTO_USED(DES_random_key);
52LCRYPTO_USED(DES_set_odd_parity);
53LCRYPTO_USED(DES_check_key_parity);
54LCRYPTO_USED(DES_is_weak_key);
55LCRYPTO_USED(DES_set_key);
56LCRYPTO_USED(DES_key_sched);
57LCRYPTO_USED(DES_set_key_checked);
58LCRYPTO_USED(DES_set_key_unchecked);
59LCRYPTO_USED(DES_string_to_key);
60LCRYPTO_USED(DES_string_to_2keys);
61LCRYPTO_USED(DES_cfb64_encrypt);
62LCRYPTO_USED(DES_ofb64_encrypt);
63
64#endif /* _LIBCRYPTO_DES_H */