Unifdef BF_PTR2.
authorjsing <jsing@openbsd.org>
Wed, 27 Mar 2024 11:54:29 +0000 (11:54 +0000)
committerjsing <jsing@openbsd.org>
Wed, 27 Mar 2024 11:54:29 +0000 (11:54 +0000)
This removes the unused Intel special version of BF_ENC().

ok tb@

lib/libcrypto/bf/bf_local.h
lib/libcrypto/bf/blowfish.c

index f463dda..8fc5a5d 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bf_local.h,v 1.2 2024/03/27 11:44:39 jsing Exp $ */
+/* $OpenBSD: bf_local.h,v 1.3 2024/03/27 11:54:29 jsing Exp $ */
 /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -56,7 +56,7 @@
  * [including the GNU Public Licence.]
  */
 
-#include <openssl/opensslconf.h> /* BF_PTR, BF_PTR2 */
+#include <openssl/opensslconf.h> /* BF_PTR */
 
 #ifndef HEADER_BF_LOCL_H
 #define HEADER_BF_LOCL_H
 /* This is actually a big endian algorithm, the most significant byte
  * is used to lookup array 0 */
 
-#if defined(BF_PTR2)
-
-/*
- * This is basically a special Intel version. Point is that Intel
- * doesn't have many registers, but offers a reach choice of addressing
- * modes. So we spare some registers by directly traversing BF_KEY
- * structure and hiring the most decorated addressing mode. The code
- * generated by EGCS is *perfectly* competitive with assembler
- * implementation!
- */
-#define BF_ENC(LL,R,KEY,Pi) (\
-       LL^=KEY[Pi], \
-       t=  KEY[BF_ROUNDS+2 +   0 + ((R>>24)&0xFF)], \
-       t+= KEY[BF_ROUNDS+2 + 256 + ((R>>16)&0xFF)], \
-       t^= KEY[BF_ROUNDS+2 + 512 + ((R>>8 )&0xFF)], \
-       t+= KEY[BF_ROUNDS+2 + 768 + ((R    )&0xFF)], \
-       LL^=t \
-       )
-
-#elif defined(BF_PTR)
+#if defined(BF_PTR)
 
 #ifndef BF_LONG_LOG2
 #define BF_LONG_LOG2  2       /* default to BF_LONG being 32 bits */
index 4fa8a56..fa6d66f 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: blowfish.c,v 1.1 2024/03/27 11:24:15 jsing Exp $ */
+/* $OpenBSD: blowfish.c,v 1.2 2024/03/27 11:54:29 jsing Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -344,7 +344,6 @@ static const BF_KEY bf_init = {
 void
 BF_encrypt(BF_LONG *data, const BF_KEY *key)
 {
-#ifndef BF_PTR2
        BF_LONG l, r;
        const BF_LONG *p, *s;
 
@@ -380,41 +379,6 @@ BF_encrypt(BF_LONG *data, const BF_KEY *key)
 
        data[1] = l&0xffffffffL;
        data[0] = r&0xffffffffL;
-#else
-       BF_LONG l, r,t, *k;
-
-       l = data[0];
-       r = data[1];
-       k = (BF_LONG*)key;
-
-       l ^= k[0];
-       BF_ENC(r, l, k, 1);
-       BF_ENC(l, r, k, 2);
-       BF_ENC(r, l, k, 3);
-       BF_ENC(l, r, k, 4);
-       BF_ENC(r, l, k, 5);
-       BF_ENC(l, r, k, 6);
-       BF_ENC(r, l, k, 7);
-       BF_ENC(l, r, k, 8);
-       BF_ENC(r, l, k, 9);
-       BF_ENC(l, r,k, 10);
-       BF_ENC(r, l,k, 11);
-       BF_ENC(l, r,k, 12);
-       BF_ENC(r, l,k, 13);
-       BF_ENC(l, r,k, 14);
-       BF_ENC(r, l,k, 15);
-       BF_ENC(l, r,k, 16);
-#if BF_ROUNDS == 20
-       BF_ENC(r, l,k, 17);
-       BF_ENC(l, r,k, 18);
-       BF_ENC(r, l,k, 19);
-       BF_ENC(l, r,k, 20);
-#endif
-       r ^= k[BF_ROUNDS + 1];
-
-       data[1] = l&0xffffffffL;
-       data[0] = r&0xffffffffL;
-#endif
 }
 
 #ifndef BF_DEFAULT_OPTIONS
@@ -422,7 +386,6 @@ BF_encrypt(BF_LONG *data, const BF_KEY *key)
 void
 BF_decrypt(BF_LONG *data, const BF_KEY *key)
 {
-#ifndef BF_PTR2
        BF_LONG l, r;
        const BF_LONG *p, *s;
 
@@ -458,41 +421,6 @@ BF_decrypt(BF_LONG *data, const BF_KEY *key)
 
        data[1] = l&0xffffffffL;
        data[0] = r&0xffffffffL;
-#else
-       BF_LONG l, r,t, *k;
-
-       l = data[0];
-       r = data[1];
-       k = (BF_LONG *)key;
-
-       l ^= k[BF_ROUNDS + 1];
-#if BF_ROUNDS == 20
-       BF_ENC(r, l,k, 20);
-       BF_ENC(l, r,k, 19);
-       BF_ENC(r, l,k, 18);
-       BF_ENC(l, r,k, 17);
-#endif
-       BF_ENC(r, l,k, 16);
-       BF_ENC(l, r,k, 15);
-       BF_ENC(r, l,k, 14);
-       BF_ENC(l, r,k, 13);
-       BF_ENC(r, l,k, 12);
-       BF_ENC(l, r,k, 11);
-       BF_ENC(r, l,k, 10);
-       BF_ENC(l, r, k, 9);
-       BF_ENC(r, l, k, 8);
-       BF_ENC(l, r, k, 7);
-       BF_ENC(r, l, k, 6);
-       BF_ENC(l, r, k, 5);
-       BF_ENC(r, l, k, 4);
-       BF_ENC(l, r, k, 3);
-       BF_ENC(r, l, k, 2);
-       BF_ENC(l, r, k, 1);
-       r ^= k[0];
-
-       data[1] = l&0xffffffffL;
-       data[0] = r&0xffffffffL;
-#endif
 }
 
 void