From 2ed0c4b5bf2dfe871ee6210b71324fe1a5121a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Thu, 3 Sep 1998 10:14:33 +0200 Subject: Hacked configure scripts, makefiles and crypto_types.h. Rev: src/symmetric/Makefile.in:1.2 Rev: src/symmetric/cast.c:1.2 Rev: src/symmetric/configure.in:1.2 Rev: src/symmetric/desCode.h:1.2 Rev: src/symmetric/desKerb.c:1.2 Rev: src/symmetric/desQuick.c:1.2 Rev: src/symmetric/desUtil.c:1.2 Rev: src/symmetric/desdata.c:1.2 Rev: src/symmetric/idea.c:1.2 Rev: src/symmetric/include/cast.h:1.2 Rev: src/symmetric/include/crypto_types.h:1.2 Rev: src/symmetric/include/des.h:1.2 Rev: src/symmetric/include/idea.h:1.2 Rev: src/symmetric/include/md5.h:1.2 Rev: src/symmetric/include/rc4.h:1.2 Rev: src/symmetric/include/sha.h:1.2 Rev: src/symmetric/md5.c:1.2 Rev: src/symmetric/rc4.c:1.2 Rev: src/symmetric/sha.c:1.2 --- Makefile.in | 53 +++++++++++++++++++++++++++++++++----------------- cast.c | 4 ++-- configure.in | 14 +++++++++++++ desCode.h | 36 +++++++++++++++++----------------- desKerb.c | 4 ++-- desQuick.c | 6 +++--- desUtil.c | 8 ++++---- desdata.c | 2 +- idea.c | 46 +++++++++++++++++++++---------------------- include/cast.h | 12 ++++++------ include/crypto_types.h | 17 +++++++++++----- include/des.h | 12 ++++++------ include/idea.h | 14 ++++++------- include/md5.h | 10 +++++----- include/rc4.h | 8 ++++---- include/sha.h | 10 +++++----- md5.c | 16 +++++++-------- rc4.c | 14 ++++++------- sha.c | 18 ++++++++--------- 19 files changed, 171 insertions(+), 133 deletions(-) diff --git a/Makefile.in b/Makefile.in index 13441fdd..b6c143f8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -9,15 +9,10 @@ AR=ar # Reset VPATH SRCDIR=@srcdir@ -VPATH=$(SRCDIR):$(SRCDIR)/../include - -CRYPTO_INCLUDES=$(SRCDIR)/../include - -# Additional C preprocessor flags -PREFLAGS=$(EXTRA_CPP_FLAGS) -I$(CRYPTO_INCLUDES) -I. -I$(SRCDIR) $(DEFINES) +VPATH=$(SRCDIR):$(EXTRA_VPATH) # The flags to generate a shared library -CFLAGS=$(PREFLAGS) $(OTHERFLAGS) $(EXTRA_CFLAGS) +CPPFLAGS=$(PREFLAGS) $(DEFS) $(EXTRA_CPPFLAGS) LDFLAGS=@LDFLAGS@ default: algorithms.a @@ -57,8 +52,8 @@ desTest: desCore.a desTest.o # test all performance enhancement flags sure: - make clean ; make desTest 'CPPFLAGS=-Di386 -Umc68000 -Usparc' - make clean ; make desTest 'CPPFLAGS=-Dvax -Umc68000 -Usparc' + make clean ; make desTest 'CPPFLAGS=-Di386 -Umc68000 -Usparc' + make clean ; make desTest 'CPPFLAGS=-Dvax -Umc68000 -Usparc' make clean ; make desTest 'CPPFLAGS=-Dmc68000 -Usparc' make clean ; make desTest 'CPPFLAGS=-Dsparc -Umc68000' make clean ; make desTest @@ -141,19 +136,41 @@ desQuickCore.c: ### End of rules for desCore -# BEGIN NATIONAL SECURITY -MASS_DESTRUCTION_OBJS = idea.o rc4.o cast.o $(O) -# END NATIONAL SECURITY - -OBJS = $(MASS_DESTRUCTION_OBJS) sha.o md5.o +SRCS = sha.c md5.c idea.c rc4.c cast.c $(SC) $(GC) +OBJS = $(SRCS:.c=.o) algorithms.a: $(OBJS) rm -f algorithms.a $(AR) cru algorithms.a $(OBJS) $(RANLIB) algorithms.a -Makefile: $(SRCDIR)/Makefile.in config.status - CONFIG_FILES=Makefile CONFIG_HEADERS="" ./config.status - @echo "Run make again" - @exit 1 +#### Remaking the Makefile and configure scripts. #### + +#${srcdir}/configure: configure.in aclocal.m4 +${srcdir}/configure: configure.in + cd ${srcdir} && autoconf + +# autoheader might not change config.h.in, so touch a stamp file. +${srcdir}/config.h.in: stamp-h.in + +#${srcdir}/stamp-h.in: configure.in aclocal.m4 acconfig.h \ +# config.h.top config.h.bot + +${srcdir}/stamp-h.in: configure.in + cd ${srcdir} && autoheader + echo timestamp > ${srcdir}/stamp-h.in + +config.h: stamp-h + +stamp-h: config.h.in config.status + ./config.status + +Makefile: Makefile.in config.status + ./config.status + +config.status: configure + ./config.status --recheck +%.d: %.c + $(SHELL) -ec '$(CC) -MM -MG $(CPPFLAGS) $(DEFS) $< \ + | sed '\''s/\($*\)\.o:/\1\.o $@ : /g'\'' > $@' diff --git a/cast.c b/cast.c index c2e467c0..d07451ec 100644 --- a/cast.c +++ b/cast.c @@ -11,8 +11,8 @@ #include -#define u8 unsigned INT8 -#define u32 unsigned INT32 +#define u8 UINT8 +#define u32 UINT32 #include "cast_sboxes.h" diff --git a/configure.in b/configure.in index 6f9bd700..78d4034e 100755 --- a/configure.in +++ b/configure.in @@ -1,10 +1,24 @@ +dnl Process this file with autoconf to produce a configure script. + # $Id$ AC_INIT(sha.c) +AC_PROG_MAKE_SET + AC_PROG_CC AC_PROG_CPP AC_PROG_RANLIB +dnl Checks for libraries. + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(sys/time.h) + +dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST +dnl Checks for library functions. +AC_FUNC_MEMCMP + AC_OUTPUT(Makefile) diff --git a/desCode.h b/desCode.h index c38e491f..f9e2436d 100644 --- a/desCode.h +++ b/desCode.h @@ -11,7 +11,7 @@ #include "RCSID.h" RCSID2(desCode_hRcs, "$Id$"); -extern unsigned INT32 des_keymap[], des_bigmap[]; +extern UINT32 des_keymap[], des_bigmap[]; /* optional customization: * the idea here is to alter the code so it will still run correctly @@ -51,15 +51,15 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; * a macro definition that the users of the function doesn't * know about. - Niels */ #if 0 /* didn't feel like deleting */ -#define SREGFREE ; s = (unsigned INT8 *) D +#define SREGFREE ; s = (UINT8 *) D #define DEST s #define D m0 -#define BYTE unsigned INT32 +#define BYTE UINT32 #else #define SREGFREE #define DEST d #define D d -#define BYTE unsigned INT8 +#define BYTE UINT8 #endif /* handle constants in the optimal way for 386 & vax */ @@ -132,8 +132,8 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; #define LS2(z) k1 & z #define LS3(z) k2 & z #define REGQUICK \ - register unsigned INT32 k0, k1; \ - register unsigned INT32 *m0, *m1, *m2, *m3; + register UINT32 k0, k1; \ + register UINT32 *m0, *m1, *m2, *m3; #define SETQUICK \ ; k0 = 0XFCFC \ ; k1 = 16 \ @@ -143,8 +143,8 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; ; m2 = m1 + 64 \ ; m3 = m2 + 64 #define REGSMALL \ - register unsigned INT32 k0, k1, k2; \ - register unsigned INT32 *m0, *m1, *m2, *m3; + register UINT32 k0, k1, k2; \ + register UINT32 *m0, *m1, *m2, *m3; #define SETSMALL \ ; k0 = 0X01000100L \ ; k1 = 0X0FC \ @@ -189,8 +189,8 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; #define LS2(z) 0XFC & z #define LS3(z) 0XFC & z #define REGQUICK \ - register unsigned INT32 k0; \ - register unsigned INT32 *m0, *m1, *m2, *m3; + register UINT32 k0; \ + register UINT32 *m0, *m1, *m2, *m3; #define SETQUICK \ ; k0 = 0XFCFC \ ; m0 = des_bigmap \ @@ -198,7 +198,7 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; ; m2 = m1 + 64 \ ; m3 = m2 + 64 #define REGSMALL \ - register unsigned INT32 *m0, *m1, *m2, *m3, *m4, *m5, *m6, *m7; + register UINT32 *m0, *m1, *m2, *m3, *m4, *m5, *m6, *m7; #define SETSMALL \ ; m0 = des_keymap \ ; m1 = m0 + 64 \ @@ -214,7 +214,7 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; /* some basic stuff */ /* generate addresses from a base and an index */ -#define ADD(b,x) (unsigned INT32 *) ((unsigned INT8 *)b + (x)) +#define ADD(b,x) (UINT32 *) ((UINT8 *)b + (x)) /* low level rotate operations */ #define NOP(d,c,o) @@ -344,10 +344,10 @@ extern unsigned INT32 des_keymap[], des_bigmap[]; \ void \ NAME(REGISTER BYTE *D, \ - REGISTER unsigned INT32 *r, \ - REGISTER unsigned INT8 *s) \ + REGISTER UINT32 *r, \ + REGISTER UINT8 *s) \ { \ - register unsigned INT32 x, y, z; \ + register UINT32 x, y, z; \ \ /* declare temps & load data */ \ TEMP(LOAD); \ @@ -380,10 +380,10 @@ NAME(REGISTER BYTE *D, \ \ void \ NAME(REGISTER BYTE *D, \ - REGISTER unsigned INT32 *r, \ - REGISTER unsigned INT8 *s) \ + REGISTER UINT32 *r, \ + REGISTER UINT8 *s) \ { \ - register unsigned INT32 x, y, z; \ + register UINT32 x, y, z; \ \ /* declare temps & load data */ \ TEMP(LOAD); \ diff --git a/desKerb.c b/desKerb.c index 3e32b72f..eaf2ec03 100644 --- a/desKerb.c +++ b/desKerb.c @@ -16,7 +16,7 @@ DesFunc *DesCryptFuncs[2] = { DesSmallFipsDecrypt, DesSmallFipsEncrypt }; /* kerberos-compatible key schedule function */ int -des_key_sched(unsigned INT8 *k, unsigned INT32 *s) +des_key_sched(UINT8 *k, UINT32 *s) { return DesMethod(s, k); } @@ -24,7 +24,7 @@ des_key_sched(unsigned INT8 *k, unsigned INT32 *s) /* kerberos-compatible des coding function */ int -des_ecb_encrypt(unsigned INT8 *s, unsigned INT8 *d, unsigned INT32 *r, int e) +des_ecb_encrypt(UINT8 *s, UINT8 *d, UINT32 *r, int e) { (*DesCryptFuncs[e])(d, r, s); return 0; diff --git a/desQuick.c b/desQuick.c index b5220c28..4f24fff7 100644 --- a/desQuick.c +++ b/desQuick.c @@ -11,13 +11,13 @@ #include "RCSID.h" RCSID2(desQuick_cRcs, "$Id$"); -extern unsigned INT32 des_keymap[]; +extern UINT32 des_keymap[]; /* static information */ static int depth = 0; /* keep track of the request depth */ -unsigned INT32 des_bigmap[0x4000]; /* big lookup table */ +UINT32 des_bigmap[0x4000]; /* big lookup table */ /* fill in the 64k table used by the `quick' option */ @@ -25,7 +25,7 @@ void DesQuickInit(void) { int s1, s3, x; - unsigned INT32 * t0, * t1, * t2, * t3; + UINT32 * t0, * t1, * t2, * t3; if ( depth++ ) return; diff --git a/desUtil.c b/desUtil.c index bdf014b1..f359dd0e 100644 --- a/desUtil.c +++ b/desUtil.c @@ -11,11 +11,11 @@ RCSID2(desUtil_cRcs, "$Id$"); /* various tables */ -unsigned INT32 des_keymap[] = { +UINT32 des_keymap[] = { #include "keymap.h" }; -static unsigned INT8 rotors[] = { +static UINT8 rotors[] = { #include "rotors.h" }; static char parity[] = { @@ -28,9 +28,9 @@ RCSID2(ego, "\n\nFast DES Library Copyright (c) 1991 Dana L. How\n\n"); /* set up the method list from the key */ int -DesMethod(unsigned INT32 *method, unsigned INT8 *k) +DesMethod(UINT32 *method, UINT8 *k) { - register unsigned INT32 n, w; + register UINT32 n, w; register char * b0, * b1; char bits0[56], bits1[56]; diff --git a/desdata.c b/desdata.c index 4089be76..46e58041 100644 --- a/desdata.c +++ b/desdata.c @@ -60,7 +60,7 @@ int printf(const char *, ...); int main(int argc, char **argv) { - unsigned INT32 d, i, j, k, l, m, n, s; + UINT32 d, i, j, k, l, m, n, s; char b[256], ksr[56]; switch ( argv[1][0] ) { diff --git a/idea.c b/idea.c index 59a0a143..8c013fdf 100644 --- a/idea.c +++ b/idea.c @@ -42,12 +42,12 @@ * compiler doesn't schedule branches. */ #ifdef SMALL_CACHE -const static unsigned INT16 -mul(unsigned INT16 a, unsigned INT16 b) +const static UINT16 +mul(UINT16 a, UINT16 b) { - register unsigned INT32 p; + register UINT32 p; - p = (unsigned INT32)a * b; + p = (UINT32)a * b; if (p) { b = low16(p); @@ -70,11 +70,11 @@ mul(unsigned INT16 a, unsigned INT16 b) * algorithm. It is unrolled twice to avoid swapping the registers each * iteration, and some subtracts of t have been changed to adds. */ -static const unsigned INT16 -inv(unsigned INT16 x) +static const UINT16 +inv(UINT16 x) { - unsigned INT16 t0, t1; - unsigned INT16 q, y; + UINT16 t0, t1; + UINT16 q, y; if (x <= 1) return x; /* 0 and 1 are self-inverse */ @@ -102,8 +102,8 @@ inv(unsigned INT16 x) * Expand a 128-bit user key to a working encryption key ctx */ void -idea_expand(unsigned INT16 *ctx, - const unsigned INT8 *userkey) +idea_expand(UINT16 *ctx, + const UINT8 *userkey) { int i,j; @@ -125,13 +125,13 @@ idea_expand(unsigned INT16 *ctx, * inverted into an internal buffer, and then copied to the output. */ void -idea_invert(unsigned INT16 *d, - const unsigned INT16 *e) +idea_invert(UINT16 *d, + const UINT16 *e) { int i; - unsigned INT16 t1, t2, t3; - unsigned INT16 temp[IDEA_KEYLEN]; - unsigned INT16 *p = temp + IDEA_KEYLEN; + UINT16 t1, t2, t3; + UINT16 temp[IDEA_KEYLEN]; + UINT16 *p = temp + IDEA_KEYLEN; t1 = inv(*e++); t2 = -*e++; @@ -182,13 +182,13 @@ idea_invert(unsigned INT16 *d, #else /* !SMALL_CACHE */ #ifdef AVOID_JUMPS #define MUL(x,y) (x = low16(x-1), t16 = low16((y)-1), \ - t32 = (unsigned INT32)x*t16 + x + t16 + 1, x = low16(t32), \ + t32 = (UINT32)x*t16 + x + t16 + 1, x = low16(t32), \ t16 = t32>>16, x = (x-t16) + (x>16, \ x = (x-t16)+(xdigest[0]; b = ctx->digest[1]; c = ctx->digest[2]; @@ -138,9 +138,9 @@ static void md5_transform(struct md5_ctx *ctx, unsigned INT32 *data) | EXTRACT_UCHAR(s+1)) << 8) \ | EXTRACT_UCHAR(s)) -static void md5_block(struct md5_ctx *ctx, unsigned INT8 *block) +static void md5_block(struct md5_ctx *ctx, UINT8 *block) { - unsigned INT32 data[MD5_DATALEN]; + UINT32 data[MD5_DATALEN]; int i; /* Update block count */ @@ -155,8 +155,8 @@ static void md5_block(struct md5_ctx *ctx, unsigned INT8 *block) } void md5_update(struct md5_ctx *ctx, - unsigned INT8 *buffer, - unsigned INT32 len) + UINT8 *buffer, + UINT32 len) { if (ctx->index) { /* Try to fill partial block */ @@ -191,7 +191,7 @@ void md5_update(struct md5_ctx *ctx, void md5_final(struct md5_ctx *ctx) { - unsigned INT32 data[MD5_DATALEN]; + UINT32 data[MD5_DATALEN]; int i; int words; @@ -228,7 +228,7 @@ void md5_final(struct md5_ctx *ctx) md5_transform(ctx, data); } -void md5_digest(struct md5_ctx *ctx, INT8 *s) +void md5_digest(struct md5_ctx *ctx, UINT8 *s) { int i; diff --git a/rc4.c b/rc4.c index 0b302341..034c0ca5 100644 --- a/rc4.c +++ b/rc4.c @@ -11,11 +11,11 @@ RCSID("$Id$"); #define SWAP(a,b) do { int _t = a; a = b; b = _t; } while(0) -void rc4_set_key(struct rc4_ctx *ctx, const unsigned INT8 *key, INT32 len) +void rc4_set_key(struct rc4_ctx *ctx, const UINT8 *key, UINT32 len) { - register unsigned INT8 j; /* Depends on the eight-bitness of these variables. */ + register UINT8 j; /* Depends on the eight-bitness of these variables. */ unsigned i; - INT32 k; + UINT32 k; /* Initialize context */ i = 0; @@ -32,15 +32,15 @@ void rc4_set_key(struct rc4_ctx *ctx, const unsigned INT8 *key, INT32 len) ctx->i = ctx->j = 0; } -void rc4_crypt(struct rc4_ctx *ctx, unsigned INT8 *dest, const unsigned INT8 *src, INT32 len) +void rc4_crypt(struct rc4_ctx *ctx, UINT8 *dest, const UINT8 *src, UINT32 len) { - register unsigned INT8 i, j; /* Depends on the eight-bitness of these variables */ + register UINT8 i, j; i = ctx->i; j = ctx->j; while(len--) { - i++; - j += ctx->S[i]; + i++; i &= 0xff; + j += ctx->S[i]; j &= 0xff; SWAP(ctx->S[i], ctx->S[j]); *dest++ = *src++ ^ ctx->S[ (ctx->S[i] + ctx->S[j]) & 0xff ]; } diff --git a/sha.c b/sha.c index 6470da63..081369ee 100644 --- a/sha.c +++ b/sha.c @@ -139,9 +139,9 @@ void sha_init(struct sha_ctx *ctx) Note that this function destroys the data area */ -static void sha_transform(struct sha_ctx *ctx, unsigned INT32 *data ) +static void sha_transform(struct sha_ctx *ctx, UINT32 *data ) { - unsigned INT32 A, B, C, D, E; /* Local vars */ + UINT32 A, B, C, D, E; /* Local vars */ /* Set up first buffer and local data buffer */ A = ctx->digest[0]; @@ -254,9 +254,9 @@ static void sha_transform(struct sha_ctx *ctx, unsigned INT32 *data ) | EXTRACT_UCHAR(s+2)) << 8) \ | EXTRACT_UCHAR(s+3)) #else -unsigned INT32 STRING2INT(unsigned INT8 *s) +UINT32 STRING2INT(UINT8 *s) { - unsigned INT32 r; + UINT32 r; int i; for (i = 0, r = 0; i < 4; i++, s++) @@ -265,9 +265,9 @@ unsigned INT32 STRING2INT(unsigned INT8 *s) } #endif -static void sha_block(struct sha_ctx *ctx, unsigned INT8 *block) +static void sha_block(struct sha_ctx *ctx, UINT8 *block) { - unsigned INT32 data[SHA_DATALEN]; + UINT32 data[SHA_DATALEN]; int i; /* Update block count */ @@ -281,7 +281,7 @@ static void sha_block(struct sha_ctx *ctx, unsigned INT8 *block) sha_transform(ctx, data); } -void sha_update(struct sha_ctx *ctx, unsigned INT8 *buffer, unsigned INT32 len) +void sha_update(struct sha_ctx *ctx, UINT8 *buffer, UINT32 len) { if (ctx->index) { /* Try to fill partial block */ @@ -316,7 +316,7 @@ void sha_update(struct sha_ctx *ctx, unsigned INT8 *buffer, unsigned INT32 len) void sha_final(struct sha_ctx *ctx) { - unsigned INT32 data[SHA_DATALEN]; + UINT32 data[SHA_DATALEN]; int i; int words; @@ -352,7 +352,7 @@ void sha_final(struct sha_ctx *ctx) sha_transform(ctx, data); } -void sha_digest(struct sha_ctx *ctx, INT8 *s) +void sha_digest(struct sha_ctx *ctx, UINT8 *s) { int i; -- cgit v1.2.1