summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/Makefile3
-rw-r--r--src/lib/libcrypto/Symbols.list6
-rw-r--r--src/lib/libcrypto/aes/aes_misc.c65
-rw-r--r--src/lib/libcrypto/bf/bf_ecb.c14
-rw-r--r--src/lib/libcrypto/bn/bn_lib.c22
-rw-r--r--src/lib/libcrypto/idea/i_ecb.c12
-rw-r--r--src/lib/libcrypto/rc4/asm/rc4-586.pl28
-rw-r--r--src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl13
-rw-r--r--src/lib/libcrypto/rc4/asm/rc4-parisc.pl18
-rwxr-xr-xsrc/lib/libcrypto/rc4/asm/rc4-x86_64.pl27
-rw-r--r--src/lib/libcrypto/rc4/rc4.h3
-rw-r--r--src/lib/libcrypto/rc4/rc4_skey.c20
12 files changed, 7 insertions, 224 deletions
diff --git a/src/lib/libcrypto/Makefile b/src/lib/libcrypto/Makefile
index a174cc1b20..7263b9845a 100644
--- a/src/lib/libcrypto/Makefile
+++ b/src/lib/libcrypto/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.148 2023/07/28 10:17:21 tb Exp $ 1# $OpenBSD: Makefile,v 1.149 2023/07/28 10:35:14 tb Exp $
2 2
3LIB= crypto 3LIB= crypto
4LIBREBUILD=y 4LIBREBUILD=y
@@ -75,7 +75,6 @@ SRCS+= aes_cfb.c
75SRCS+= aes_ctr.c 75SRCS+= aes_ctr.c
76SRCS+= aes_ecb.c 76SRCS+= aes_ecb.c
77SRCS+= aes_ige.c 77SRCS+= aes_ige.c
78SRCS+= aes_misc.c
79SRCS+= aes_ofb.c 78SRCS+= aes_ofb.c
80SRCS+= aes_wrap.c 79SRCS+= aes_wrap.c
81 80
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list
index cffee7e000..da0c9c50f3 100644
--- a/src/lib/libcrypto/Symbols.list
+++ b/src/lib/libcrypto/Symbols.list
@@ -11,7 +11,6 @@ AES_ecb_encrypt
11AES_encrypt 11AES_encrypt
12AES_ige_encrypt 12AES_ige_encrypt
13AES_ofb128_encrypt 13AES_ofb128_encrypt
14AES_options
15AES_set_decrypt_key 14AES_set_decrypt_key
16AES_set_encrypt_key 15AES_set_encrypt_key
17AES_unwrap_key 16AES_unwrap_key
@@ -235,7 +234,6 @@ BF_decrypt
235BF_ecb_encrypt 234BF_ecb_encrypt
236BF_encrypt 235BF_encrypt
237BF_ofb64_encrypt 236BF_ofb64_encrypt
238BF_options
239BF_set_key 237BF_set_key
240BIGNUM_it 238BIGNUM_it
241BIO_CONNECT_free 239BIO_CONNECT_free
@@ -460,7 +458,6 @@ BN_nnmod
460BN_num_bits 458BN_num_bits
461BN_num_bits_word 459BN_num_bits_word
462BN_one 460BN_one
463BN_options
464BN_print 461BN_print
465BN_print_fp 462BN_print_fp
466BN_pseudo_rand 463BN_pseudo_rand
@@ -820,7 +817,6 @@ DES_key_sched
820DES_ncbc_encrypt 817DES_ncbc_encrypt
821DES_ofb64_encrypt 818DES_ofb64_encrypt
822DES_ofb_encrypt 819DES_ofb_encrypt
823DES_options
824DES_pcbc_encrypt 820DES_pcbc_encrypt
825DES_quad_cksum 821DES_quad_cksum
826DES_random_key 822DES_random_key
@@ -2240,7 +2236,6 @@ RC2_encrypt
2240RC2_ofb64_encrypt 2236RC2_ofb64_encrypt
2241RC2_set_key 2237RC2_set_key
2242RC4 2238RC4
2243RC4_options
2244RC4_set_key 2239RC4_set_key
2245RIPEMD160 2240RIPEMD160
2246RIPEMD160_Final 2241RIPEMD160_Final
@@ -3634,7 +3629,6 @@ idea_cfb64_encrypt
3634idea_ecb_encrypt 3629idea_ecb_encrypt
3635idea_encrypt 3630idea_encrypt
3636idea_ofb64_encrypt 3631idea_ofb64_encrypt
3637idea_options
3638idea_set_decrypt_key 3632idea_set_decrypt_key
3639idea_set_encrypt_key 3633idea_set_encrypt_key
3640lh_delete 3634lh_delete
diff --git a/src/lib/libcrypto/aes/aes_misc.c b/src/lib/libcrypto/aes/aes_misc.c
index 4ed55b1e50..e69de29bb2 100644
--- a/src/lib/libcrypto/aes/aes_misc.c
+++ b/src/lib/libcrypto/aes/aes_misc.c
@@ -1,65 +0,0 @@
1/* $OpenBSD: aes_misc.c,v 1.11 2022/11/26 16:08:50 tb Exp $ */
2/* ====================================================================
3 * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 *
17 * 3. All advertising materials mentioning features or use of this
18 * software must display the following acknowledgment:
19 * "This product includes software developed by the OpenSSL Project
20 * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
21 *
22 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
23 * endorse or promote products derived from this software without
24 * prior written permission. For written permission, please contact
25 * openssl-core@openssl.org.
26 *
27 * 5. Products derived from this software may not be called "OpenSSL"
28 * nor may "OpenSSL" appear in their names without prior written
29 * permission of the OpenSSL Project.
30 *
31 * 6. Redistributions of any form whatsoever must retain the following
32 * acknowledgment:
33 * "This product includes software developed by the OpenSSL Project
34 * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
35 *
36 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
37 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
39 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
43 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
44 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
45 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
47 * OF THE POSSIBILITY OF SUCH DAMAGE.
48 * ====================================================================
49 *
50 */
51
52#include <openssl/opensslv.h>
53#include <openssl/crypto.h>
54#include <openssl/aes.h>
55#include "aes_local.h"
56
57const char *
58AES_options(void)
59{
60#ifdef FULL_UNROLL
61 return "aes(full)";
62#else
63 return "aes(partial)";
64#endif
65}
diff --git a/src/lib/libcrypto/bf/bf_ecb.c b/src/lib/libcrypto/bf/bf_ecb.c
index 99e50b0ffe..eda6f193b3 100644
--- a/src/lib/libcrypto/bf/bf_ecb.c
+++ b/src/lib/libcrypto/bf/bf_ecb.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bf_ecb.c,v 1.9 2022/11/26 16:08:51 tb Exp $ */ 1/* $OpenBSD: bf_ecb.c,v 1.10 2023/07/28 10:35:14 tb 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 *
@@ -67,18 +67,6 @@
67 * CAMBRIDGE SECURITY WORKSHOP, CAMBRIDGE, U.K., DECEMBER 9-11, 1993) 67 * CAMBRIDGE SECURITY WORKSHOP, CAMBRIDGE, U.K., DECEMBER 9-11, 1993)
68 */ 68 */
69 69
70const char *
71BF_options(void)
72{
73#ifdef BF_PTR
74 return("blowfish(ptr)");
75#elif defined(BF_PTR2)
76 return("blowfish(ptr2)");
77#else
78 return("blowfish(idx)");
79#endif
80}
81
82void 70void
83BF_ecb_encrypt(const unsigned char *in, unsigned char *out, 71BF_ecb_encrypt(const unsigned char *in, unsigned char *out,
84 const BF_KEY *key, int encrypt) 72 const BF_KEY *key, int encrypt)
diff --git a/src/lib/libcrypto/bn/bn_lib.c b/src/lib/libcrypto/bn/bn_lib.c
index 74359dab37..c0c0ac876f 100644
--- a/src/lib/libcrypto/bn/bn_lib.c
+++ b/src/lib/libcrypto/bn/bn_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bn_lib.c,v 1.89 2023/07/08 12:21:58 beck Exp $ */ 1/* $OpenBSD: bn_lib.c,v 1.90 2023/07/28 10:35:14 tb 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 *
@@ -655,26 +655,6 @@ BN_is_negative(const BIGNUM *a)
655} 655}
656LCRYPTO_ALIAS(BN_is_negative); 656LCRYPTO_ALIAS(BN_is_negative);
657 657
658char *
659BN_options(void)
660{
661 static int init = 0;
662 static char data[16];
663
664 if (!init) {
665 init++;
666#ifdef BN_LLONG
667 snprintf(data,sizeof data, "bn(%d,%d)",
668 (int)sizeof(BN_ULLONG) * 8, (int)sizeof(BN_ULONG) * 8);
669#else
670 snprintf(data,sizeof data, "bn(%d,%d)",
671 (int)sizeof(BN_ULONG) * 8, (int)sizeof(BN_ULONG) * 8);
672#endif
673 }
674 return (data);
675}
676LCRYPTO_ALIAS(BN_options);
677
678/* 658/*
679 * Bits of security, see SP800-57, section 5.6.11, table 2. 659 * Bits of security, see SP800-57, section 5.6.11, table 2.
680 */ 660 */
diff --git a/src/lib/libcrypto/idea/i_ecb.c b/src/lib/libcrypto/idea/i_ecb.c
index 19521a7536..9f7db232b1 100644
--- a/src/lib/libcrypto/idea/i_ecb.c
+++ b/src/lib/libcrypto/idea/i_ecb.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: i_ecb.c,v 1.6 2023/07/08 10:44:00 beck Exp $ */ 1/* $OpenBSD: i_ecb.c,v 1.7 2023/07/28 10:35:14 tb 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 *
@@ -60,16 +60,6 @@
60#include "idea_local.h" 60#include "idea_local.h"
61#include <openssl/opensslv.h> 61#include <openssl/opensslv.h>
62 62
63const char *
64idea_options(void)
65{
66 if (sizeof(short) != sizeof(IDEA_INT))
67 return ("idea(int)");
68 else
69 return ("idea(short)");
70}
71LCRYPTO_ALIAS(idea_options);
72
73void 63void
74idea_ecb_encrypt(const unsigned char *in, unsigned char *out, 64idea_ecb_encrypt(const unsigned char *in, unsigned char *out,
75 IDEA_KEY_SCHEDULE *ks) 65 IDEA_KEY_SCHEDULE *ks)
diff --git a/src/lib/libcrypto/rc4/asm/rc4-586.pl b/src/lib/libcrypto/rc4/asm/rc4-586.pl
index 4991c37c2c..bb30f9b88f 100644
--- a/src/lib/libcrypto/rc4/asm/rc4-586.pl
+++ b/src/lib/libcrypto/rc4/asm/rc4-586.pl
@@ -384,32 +384,4 @@ $idx="edx";
384 &mov (&DWP(-4,$out),"eax"); # key->y=0; 384 &mov (&DWP(-4,$out),"eax"); # key->y=0;
385&function_end("RC4_set_key"); 385&function_end("RC4_set_key");
386 386
387# const char *RC4_options(void);
388&static_label("opts");
389&function_begin_B("RC4_options");
390 &picsetup("edx");
391 &picsymbol("eax", &label("opts"), "edx");
392 &picsymbol("edx", "OPENSSL_ia32cap_P", "edx");;
393
394 &mov ("edx",&DWP(0,"edx"));
395 &bt ("edx","\$IA32CAP_BIT0_INTELP4");
396 &jc (&label("1xchar"));
397 &bt ("edx","\$IA32CAP_BIT0_SSE2");
398 &jnc (&label("ret"));
399 &add ("eax",25);
400 &ret ();
401&set_label("1xchar");
402 &add ("eax",12);
403&set_label("ret");
404 &ret ();
405&function_end_B("RC4_options");
406
407 &rodataseg();
408&set_label("opts");
409&asciz ("rc4(4x,int)");
410&asciz ("rc4(1x,char)");
411&asciz ("rc4(8x,mmx)");
412 &previous();
413
414&asm_finish(); 387&asm_finish();
415
diff --git a/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl
index 6d058bd9d4..3190e6a8e7 100644
--- a/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl
+++ b/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl
@@ -491,19 +491,6 @@ RC4_set_key:
491 mov %eax,-4($dat) 491 mov %eax,-4($dat)
492 ret 492 ret
493.size RC4_set_key,.-RC4_set_key 493.size RC4_set_key,.-RC4_set_key
494
495.globl RC4_options
496.type RC4_options,\@abi-omnipotent
497.align 16
498RC4_options:
499 endbr64
500 lea .Lopts(%rip),%rax
501 ret
502.align 64
503.Lopts:
504.asciz "rc4(64x,int)"
505.align 64
506.size RC4_options,.-RC4_options
507___ 494___
508} 495}
509 496
diff --git a/src/lib/libcrypto/rc4/asm/rc4-parisc.pl b/src/lib/libcrypto/rc4/asm/rc4-parisc.pl
index 24e3e0c30b..831d785979 100644
--- a/src/lib/libcrypto/rc4/asm/rc4-parisc.pl
+++ b/src/lib/libcrypto/rc4/asm/rc4-parisc.pl
@@ -286,24 +286,6 @@ L\$2nd
286 nop 286 nop
287 .PROCEND 287 .PROCEND
288 288
289 .EXPORT RC4_options,ENTRY
290 .ALIGN 8
291RC4_options
292 .PROC
293 .CALLINFO NO_CALLS
294 .ENTRY
295#ifdef __PIC__
296 addil LT'L\$opts, %r19
297 ldw RT'L\$opts(%r1), %r28
298#else
299 ldil L'L\$opts, %t1
300 ldo R'L\$opts(%t1), %r28
301#endif
302 bv (%r2)
303 .EXIT
304 nop
305 .PROCEND
306
307 .section .rodata 289 .section .rodata
308 .ALIGN 8 290 .ALIGN 8
309L\$opts 291L\$opts
diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
index 2bac7d744d..0472acce8a 100755
--- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
+++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl
@@ -503,33 +503,6 @@ RC4_set_key:
503 mov %eax,-4($dat) 503 mov %eax,-4($dat)
504 ret 504 ret
505.size RC4_set_key,.-RC4_set_key 505.size RC4_set_key,.-RC4_set_key
506
507.globl RC4_options
508.type RC4_options,\@abi-omnipotent
509.align 16
510RC4_options:
511 endbr64
512 lea .Lopts(%rip),%rax
513 mov OPENSSL_ia32cap_P(%rip),%edx
514 bt \$IA32CAP_BIT0_INTELP4,%edx
515 jc .L8xchar
516 bt \$IA32CAP_BIT0_INTEL,%edx
517 jnc .Ldone
518 add \$25,%rax
519 ret
520.L8xchar:
521 add \$12,%rax
522.Ldone:
523 ret
524.section .rodata
525.align 64
526.Lopts:
527.asciz "rc4(8x,int)"
528.asciz "rc4(8x,char)"
529.asciz "rc4(16x,int)"
530.align 64
531.text
532.size RC4_options,.-RC4_options
533___ 506___
534 507
535sub reg_part { 508sub reg_part {
diff --git a/src/lib/libcrypto/rc4/rc4.h b/src/lib/libcrypto/rc4/rc4.h
index f59185ed33..7ebe232106 100644
--- a/src/lib/libcrypto/rc4/rc4.h
+++ b/src/lib/libcrypto/rc4/rc4.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: rc4.h,v 1.13 2015/10/20 15:50:13 jsing Exp $ */ 1/* $OpenBSD: rc4.h,v 1.14 2023/07/28 10:35:14 tb Exp $ */
2/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -76,7 +76,6 @@ typedef struct rc4_key_st {
76 RC4_INT data[256]; 76 RC4_INT data[256];
77} RC4_KEY; 77} RC4_KEY;
78 78
79const char *RC4_options(void);
80void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 79void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);
81void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 80void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);
82void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, 81void RC4(RC4_KEY *key, size_t len, const unsigned char *indata,
diff --git a/src/lib/libcrypto/rc4/rc4_skey.c b/src/lib/libcrypto/rc4/rc4_skey.c
index e32a6e84a3..5833c7bd07 100644
--- a/src/lib/libcrypto/rc4/rc4_skey.c
+++ b/src/lib/libcrypto/rc4/rc4_skey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: rc4_skey.c,v 1.15 2022/11/26 16:08:54 tb Exp $ */ 1/* $OpenBSD: rc4_skey.c,v 1.16 2023/07/28 10:35:14 tb 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 *
@@ -57,24 +57,8 @@
57 */ 57 */
58 58
59#include <openssl/rc4.h> 59#include <openssl/rc4.h>
60#include "rc4_local.h"
61#include <openssl/opensslv.h>
62 60
63const char * 61#include "rc4_local.h"
64RC4_options(void)
65{
66#ifdef RC4_INDEX
67 if (sizeof(RC4_INT) == 1)
68 return("rc4(idx,char)");
69 else
70 return("rc4(idx,int)");
71#else
72 if (sizeof(RC4_INT) == 1)
73 return("rc4(ptr,char)");
74 else
75 return("rc4(ptr,int)");
76#endif
77}
78 62
79/* RC4 as implemented from a posting from 63/* RC4 as implemented from a posting from
80 * Newsgroups: sci.crypt 64 * Newsgroups: sci.crypt