From: jsing Date: Wed, 27 Mar 2024 11:54:29 +0000 (+0000) Subject: Unifdef BF_PTR2. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=58c06324ff72c0dd64c6a759bdb687c8bed51cbb;p=openbsd Unifdef BF_PTR2. This removes the unused Intel special version of BF_ENC(). ok tb@ --- diff --git a/lib/libcrypto/bf/bf_local.h b/lib/libcrypto/bf/bf_local.h index f463dda3605..8fc5a5dbd8e 100644 --- a/lib/libcrypto/bf/bf_local.h +++ b/lib/libcrypto/bf/bf_local.h @@ -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 /* BF_PTR, BF_PTR2 */ +#include /* BF_PTR */ #ifndef HEADER_BF_LOCL_H #define HEADER_BF_LOCL_H @@ -107,26 +107,7 @@ /* 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 */ diff --git a/lib/libcrypto/bf/blowfish.c b/lib/libcrypto/bf/blowfish.c index 4fa8a563f16..fa6d66fcea6 100644 --- a/lib/libcrypto/bf/blowfish.c +++ b/lib/libcrypto/bf/blowfish.c @@ -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