diff -acrN tw_ASR_1.3.1_src/Makefile tw_RIPE1/Makefile *** tw_ASR_1.3.1_src/Makefile Tue May 4 10:31:00 1999 --- tw_RIPE1/Makefile Tue Sep 26 20:56:07 2000 *************** *** 15,28 **** # destination for man pages MANDIR = /usr/man # This needs to change to reflect the path ! # on your system # system utilities ! LEX = lex ! #LEX = flex # For the GNU crowd ! YACC = yacc ! #YACC = bison -y # For the GNU crowd (make it look like yacc) # # see ./contrib/README.linux for tips on # # making work. --- 15,28 ---- # destination for man pages MANDIR = /usr/man # This needs to change to reflect the path ! # on your system # system utilities ! #LEX = lex ! LEX = flex # For the GNU crowd ! #YACC = yacc ! YACC = bison -y # For the GNU crowd (make it look like yacc) # # see ./contrib/README.linux for tips on # # making work. *************** *** 75,81 **** #LIBS = -lmalloc -lsun # IRIX 6.x #LIBS = -lx # Xenix #LIBS = -lbsd # MIPS RISC/OS ! #LIBS = -lgnumalloc # Encore / UMAX V # If you don't have the install command, you need to replace --- 75,81 ---- #LIBS = -lmalloc -lsun # IRIX 6.x #LIBS = -lx # Xenix #LIBS = -lbsd # MIPS RISC/OS ! #LIBS = -lgnumalloc # Encore / UMAX V # If you don't have the install command, you need to replace diff -acrN tw_ASR_1.3.1_src/include/config.h tw_RIPE1/include/config.h *** tw_ASR_1.3.1_src/include/config.h Tue May 4 10:31:00 1999 --- tw_RIPE1/include/config.h Tue Sep 26 21:05:12 2000 *************** *** 70,76 **** #define SIG6FUNC sig_md2_get #define SIG7FUNC sig_sha_get #define SIG8FUNC sig_haval_get ! #define SIG9FUNC sig_null_get #define SIG0NAME "nullsig" #define SIG1NAME "md5" --- 70,76 ---- #define SIG6FUNC sig_md2_get #define SIG7FUNC sig_sha_get #define SIG8FUNC sig_haval_get ! #define SIG9FUNC sig_rmd160_get #define SIG0NAME "nullsig" #define SIG1NAME "md5" *************** *** 81,87 **** #define SIG6NAME "md2" #define SIG7NAME "sha" #define SIG8NAME "haval" ! #define SIG9NAME "nullsig" /******* path to Tripwire files ************************************** * --- 81,87 ---- #define SIG6NAME "md2" #define SIG7NAME "sha" #define SIG8NAME "haval" ! #define SIG9NAME "rmd160" /******* path to Tripwire files ************************************** * diff -acrN tw_ASR_1.3.1_src/include/tripwire.h tw_RIPE1/include/tripwire.h *** tw_ASR_1.3.1_src/include/tripwire.h Tue May 4 10:31:00 1999 --- tw_RIPE1/include/tripwire.h Mon Sep 25 15:08:12 2000 *************** *** 47,52 **** --- 47,53 ---- #include "../sigs/md4/md4.h" #include "../sigs/sha/sha.h" #include "../sigs/haval/haval.h" + #include "../sigs/rmd160/rmd160.h" /* essential includes common to all sources files */ diff -acrN tw_ASR_1.3.1_src/man/siggen.8 tw_RIPE1/man/siggen.8 *** tw_ASR_1.3.1_src/man/siggen.8 Tue May 4 10:31:00 1999 --- tw_RIPE1/man/siggen.8 Thu Sep 28 17:41:38 2000 *************** *** 62,68 **** signature 8 - generates Haval, a 128-bit signature code. .TP .B \-9 ! signature 9 \- generates null signature (reserved for future expansion). .TP .IR "file1" " [" "file2..." "]" List of filesystem objects for which to display values. --- 62,68 ---- signature 8 - generates Haval, a 128-bit signature code. .TP .B \-9 ! signature 9 \- generates RIPEMD-160, the "RACE Integrity Primitives Evaluation" signature code. .TP .IR "file1" " [" "file2..." "]" List of filesystem objects for which to display values. diff -acrN tw_ASR_1.3.1_src/man/tw.config.5 tw_RIPE1/man/tw.config.5 *** tw_ASR_1.3.1_src/man/tw.config.5 Tue May 4 10:31:00 1999 --- tw_RIPE1/man/tw.config.5 Thu Sep 28 17:46:27 2000 *************** *** 144,150 **** signature 8 \- Haval, a strong 128-bit signature algorithm .TP .I 9 ! signature 9 \- null signature (reserved for future expansion) .RE .TP 15 .I templates --- 144,150 ---- signature 8 \- Haval, a strong 128-bit signature algorithm .TP .I 9 ! signature 9 \- RIPEMD-160, the "RACE Integrity Primitives Evaluation" algorithm (European answer to SHA-1) .RE .TP 15 .I templates diff -acrN tw_ASR_1.3.1_src/sigs/rmd160/Makefile tw_RIPE1/sigs/rmd160/Makefile *** tw_ASR_1.3.1_src/sigs/rmd160/Makefile Thu Jan 1 01:00:00 1970 --- tw_RIPE1/sigs/rmd160/Makefile Tue Sep 26 17:00:35 2000 *************** *** 0 **** --- 1,19 ---- + # Makefile for RIPE-MD160 wrapper + # + # Klaus Bosau + # 26.9.2000 + + CC = gcc + CFLAGS = -03 -fomit-frame-pointer -Wall + + all: rmd160.o rmd160wrapper.o + + .c.o: + $(CC) $(CFLAGS) -c $< + + clean: + -rm -rf *.o .pure + + rmd160.o: ../../include/byteorder.h + rmd160wrapper.o: ../../include/byteorder.h + diff -acrN tw_ASR_1.3.1_src/sigs/rmd160/rmd160.c tw_RIPE1/sigs/rmd160/rmd160.c *** tw_ASR_1.3.1_src/sigs/rmd160/rmd160.c Thu Jan 1 01:00:00 1970 --- tw_RIPE1/sigs/rmd160/rmd160.c Tue Sep 26 16:17:24 2000 *************** *** 0 **** --- 1,285 ---- + /********************************************************************\ + * FILE: rmd160.c + * CONTENTS: A sample C-implementation of the RIPEMD-160 hash-function. + * TARGET: any computer with an ANSI C compiler + * AUTHOR: Antoon Bosselaers, Dept. Electrical Eng.-ESAT/COSIC + * DATE: 1 March 1996 VERSION: 1.0 + ********************************************************************** + * Copyright (c) Katholieke Universiteit Leuven 1996, All Rights Reserved + * The Katholieke Universiteit Leuven makes no representations concerning + * either the merchantability of this software or the suitability of this + * software for any particular purpose. It is provided "as is" without + * express or implied warranty of any kind. These notices must be retained + * in any copies of any part of this documentation and/or software. + \********************************************************************/ + + /* header files */ + #include + #include + #include + #include "rmd160.h" + + /********************************************************************/ + void MDinit(word *MDbuf) + /* Initialization of the 5-word MDbuf array to the magic + initialization constants + */ + { + MDbuf[0] = 0x67452301UL; + MDbuf[1] = 0xefcdab89UL; + MDbuf[2] = 0x98badcfeUL; + MDbuf[3] = 0x10325476UL; + MDbuf[4] = 0xc3d2e1f0UL; + } + + /********************************************************************/ + void MDcompress(word *MDbuf, word *X) + /* The compression function is called for every complete 64-byte + message block. The 5-word internal state MDbuf is updated using + message words X[0] through X[15]. The conversion from a string + of 64 bytes to an array of 16 words using a Little-endian + convention is the responsibility of the calling function. + */ + { + /* make two copies of the old state */ + word aa = MDbuf[0], bb = MDbuf[1], cc = MDbuf[2], + dd = MDbuf[3], ee = MDbuf[4]; + word aaa = MDbuf[0], bbb = MDbuf[1], ccc = MDbuf[2], + ddd = MDbuf[3], eee = MDbuf[4]; + + /* round 1 */ + FF1(aa, bb, cc, dd, ee, X[ 0], 11); + FF1(ee, aa, bb, cc, dd, X[ 1], 14); + FF1(dd, ee, aa, bb, cc, X[ 2], 15); + FF1(cc, dd, ee, aa, bb, X[ 3], 12); + FF1(bb, cc, dd, ee, aa, X[ 4], 5); + FF1(aa, bb, cc, dd, ee, X[ 5], 8); + FF1(ee, aa, bb, cc, dd, X[ 6], 7); + FF1(dd, ee, aa, bb, cc, X[ 7], 9); + FF1(cc, dd, ee, aa, bb, X[ 8], 11); + FF1(bb, cc, dd, ee, aa, X[ 9], 13); + FF1(aa, bb, cc, dd, ee, X[10], 14); + FF1(ee, aa, bb, cc, dd, X[11], 15); + FF1(dd, ee, aa, bb, cc, X[12], 6); + FF1(cc, dd, ee, aa, bb, X[13], 7); + FF1(bb, cc, dd, ee, aa, X[14], 9); + FF1(aa, bb, cc, dd, ee, X[15], 8); + + /* round 2 */ + FF2(ee, aa, bb, cc, dd, X[ 7], 7); + FF2(dd, ee, aa, bb, cc, X[ 4], 6); + FF2(cc, dd, ee, aa, bb, X[13], 8); + FF2(bb, cc, dd, ee, aa, X[ 1], 13); + FF2(aa, bb, cc, dd, ee, X[10], 11); + FF2(ee, aa, bb, cc, dd, X[ 6], 9); + FF2(dd, ee, aa, bb, cc, X[15], 7); + FF2(cc, dd, ee, aa, bb, X[ 3], 15); + FF2(bb, cc, dd, ee, aa, X[12], 7); + FF2(aa, bb, cc, dd, ee, X[ 0], 12); + FF2(ee, aa, bb, cc, dd, X[ 9], 15); + FF2(dd, ee, aa, bb, cc, X[ 5], 9); + FF2(cc, dd, ee, aa, bb, X[ 2], 11); + FF2(bb, cc, dd, ee, aa, X[14], 7); + FF2(aa, bb, cc, dd, ee, X[11], 13); + FF2(ee, aa, bb, cc, dd, X[ 8], 12); + + /* round 3 */ + FF3(dd, ee, aa, bb, cc, X[ 3], 11); + FF3(cc, dd, ee, aa, bb, X[10], 13); + FF3(bb, cc, dd, ee, aa, X[14], 6); + FF3(aa, bb, cc, dd, ee, X[ 4], 7); + FF3(ee, aa, bb, cc, dd, X[ 9], 14); + FF3(dd, ee, aa, bb, cc, X[15], 9); + FF3(cc, dd, ee, aa, bb, X[ 8], 13); + FF3(bb, cc, dd, ee, aa, X[ 1], 15); + FF3(aa, bb, cc, dd, ee, X[ 2], 14); + FF3(ee, aa, bb, cc, dd, X[ 7], 8); + FF3(dd, ee, aa, bb, cc, X[ 0], 13); + FF3(cc, dd, ee, aa, bb, X[ 6], 6); + FF3(bb, cc, dd, ee, aa, X[13], 5); + FF3(aa, bb, cc, dd, ee, X[11], 12); + FF3(ee, aa, bb, cc, dd, X[ 5], 7); + FF3(dd, ee, aa, bb, cc, X[12], 5); + + /* round 4 */ + FF4(cc, dd, ee, aa, bb, X[ 1], 11); + FF4(bb, cc, dd, ee, aa, X[ 9], 12); + FF4(aa, bb, cc, dd, ee, X[11], 14); + FF4(ee, aa, bb, cc, dd, X[10], 15); + FF4(dd, ee, aa, bb, cc, X[ 0], 14); + FF4(cc, dd, ee, aa, bb, X[ 8], 15); + FF4(bb, cc, dd, ee, aa, X[12], 9); + FF4(aa, bb, cc, dd, ee, X[ 4], 8); + FF4(ee, aa, bb, cc, dd, X[13], 9); + FF4(dd, ee, aa, bb, cc, X[ 3], 14); + FF4(cc, dd, ee, aa, bb, X[ 7], 5); + FF4(bb, cc, dd, ee, aa, X[15], 6); + FF4(aa, bb, cc, dd, ee, X[14], 8); + FF4(ee, aa, bb, cc, dd, X[ 5], 6); + FF4(dd, ee, aa, bb, cc, X[ 6], 5); + FF4(cc, dd, ee, aa, bb, X[ 2], 12); + + /* round 5 */ + FF5(bb, cc, dd, ee, aa, X[ 4], 9); + FF5(aa, bb, cc, dd, ee, X[ 0], 15); + FF5(ee, aa, bb, cc, dd, X[ 5], 5); + FF5(dd, ee, aa, bb, cc, X[ 9], 11); + FF5(cc, dd, ee, aa, bb, X[ 7], 6); + FF5(bb, cc, dd, ee, aa, X[12], 8); + FF5(aa, bb, cc, dd, ee, X[ 2], 13); + FF5(ee, aa, bb, cc, dd, X[10], 12); + FF5(dd, ee, aa, bb, cc, X[14], 5); + FF5(cc, dd, ee, aa, bb, X[ 1], 12); + FF5(bb, cc, dd, ee, aa, X[ 3], 13); + FF5(aa, bb, cc, dd, ee, X[ 8], 14); + FF5(ee, aa, bb, cc, dd, X[11], 11); + FF5(dd, ee, aa, bb, cc, X[ 6], 8); + FF5(cc, dd, ee, aa, bb, X[15], 5); + FF5(bb, cc, dd, ee, aa, X[13], 6); + + /* parallel round 1 */ + FFF5(aaa, bbb, ccc, ddd, eee, X[ 5], 8); + FFF5(eee, aaa, bbb, ccc, ddd, X[14], 9); + FFF5(ddd, eee, aaa, bbb, ccc, X[ 7], 9); + FFF5(ccc, ddd, eee, aaa, bbb, X[ 0], 11); + FFF5(bbb, ccc, ddd, eee, aaa, X[ 9], 13); + FFF5(aaa, bbb, ccc, ddd, eee, X[ 2], 15); + FFF5(eee, aaa, bbb, ccc, ddd, X[11], 15); + FFF5(ddd, eee, aaa, bbb, ccc, X[ 4], 5); + FFF5(ccc, ddd, eee, aaa, bbb, X[13], 7); + FFF5(bbb, ccc, ddd, eee, aaa, X[ 6], 7); + FFF5(aaa, bbb, ccc, ddd, eee, X[15], 8); + FFF5(eee, aaa, bbb, ccc, ddd, X[ 8], 11); + FFF5(ddd, eee, aaa, bbb, ccc, X[ 1], 14); + FFF5(ccc, ddd, eee, aaa, bbb, X[10], 14); + FFF5(bbb, ccc, ddd, eee, aaa, X[ 3], 12); + FFF5(aaa, bbb, ccc, ddd, eee, X[12], 6); + + /* parallel round 2 */ + FFF4(eee, aaa, bbb, ccc, ddd, X[ 6], 9); + FFF4(ddd, eee, aaa, bbb, ccc, X[11], 13); + FFF4(ccc, ddd, eee, aaa, bbb, X[ 3], 15); + FFF4(bbb, ccc, ddd, eee, aaa, X[ 7], 7); + FFF4(aaa, bbb, ccc, ddd, eee, X[ 0], 12); + FFF4(eee, aaa, bbb, ccc, ddd, X[13], 8); + FFF4(ddd, eee, aaa, bbb, ccc, X[ 5], 9); + FFF4(ccc, ddd, eee, aaa, bbb, X[10], 11); + FFF4(bbb, ccc, ddd, eee, aaa, X[14], 7); + FFF4(aaa, bbb, ccc, ddd, eee, X[15], 7); + FFF4(eee, aaa, bbb, ccc, ddd, X[ 8], 12); + FFF4(ddd, eee, aaa, bbb, ccc, X[12], 7); + FFF4(ccc, ddd, eee, aaa, bbb, X[ 4], 6); + FFF4(bbb, ccc, ddd, eee, aaa, X[ 9], 15); + FFF4(aaa, bbb, ccc, ddd, eee, X[ 1], 13); + FFF4(eee, aaa, bbb, ccc, ddd, X[ 2], 11); + + /* parallel round 3 */ + FFF3(ddd, eee, aaa, bbb, ccc, X[15], 9); + FFF3(ccc, ddd, eee, aaa, bbb, X[ 5], 7); + FFF3(bbb, ccc, ddd, eee, aaa, X[ 1], 15); + FFF3(aaa, bbb, ccc, ddd, eee, X[ 3], 11); + FFF3(eee, aaa, bbb, ccc, ddd, X[ 7], 8); + FFF3(ddd, eee, aaa, bbb, ccc, X[14], 6); + FFF3(ccc, ddd, eee, aaa, bbb, X[ 6], 6); + FFF3(bbb, ccc, ddd, eee, aaa, X[ 9], 14); + FFF3(aaa, bbb, ccc, ddd, eee, X[11], 12); + FFF3(eee, aaa, bbb, ccc, ddd, X[ 8], 13); + FFF3(ddd, eee, aaa, bbb, ccc, X[12], 5); + FFF3(ccc, ddd, eee, aaa, bbb, X[ 2], 14); + FFF3(bbb, ccc, ddd, eee, aaa, X[10], 13); + FFF3(aaa, bbb, ccc, ddd, eee, X[ 0], 13); + FFF3(eee, aaa, bbb, ccc, ddd, X[ 4], 7); + FFF3(ddd, eee, aaa, bbb, ccc, X[13], 5); + + /* parallel round 4 */ + FFF2(ccc, ddd, eee, aaa, bbb, X[ 8], 15); + FFF2(bbb, ccc, ddd, eee, aaa, X[ 6], 5); + FFF2(aaa, bbb, ccc, ddd, eee, X[ 4], 8); + FFF2(eee, aaa, bbb, ccc, ddd, X[ 1], 11); + FFF2(ddd, eee, aaa, bbb, ccc, X[ 3], 14); + FFF2(ccc, ddd, eee, aaa, bbb, X[11], 14); + FFF2(bbb, ccc, ddd, eee, aaa, X[15], 6); + FFF2(aaa, bbb, ccc, ddd, eee, X[ 0], 14); + FFF2(eee, aaa, bbb, ccc, ddd, X[ 5], 6); + FFF2(ddd, eee, aaa, bbb, ccc, X[12], 9); + FFF2(ccc, ddd, eee, aaa, bbb, X[ 2], 12); + FFF2(bbb, ccc, ddd, eee, aaa, X[13], 9); + FFF2(aaa, bbb, ccc, ddd, eee, X[ 9], 12); + FFF2(eee, aaa, bbb, ccc, ddd, X[ 7], 5); + FFF2(ddd, eee, aaa, bbb, ccc, X[10], 15); + FFF2(ccc, ddd, eee, aaa, bbb, X[14], 8); + + /* parallel round 5 */ + FFF1(bbb, ccc, ddd, eee, aaa, X[12] , 8); + FFF1(aaa, bbb, ccc, ddd, eee, X[15] , 5); + FFF1(eee, aaa, bbb, ccc, ddd, X[10] , 12); + FFF1(ddd, eee, aaa, bbb, ccc, X[ 4] , 9); + FFF1(ccc, ddd, eee, aaa, bbb, X[ 1] , 12); + FFF1(bbb, ccc, ddd, eee, aaa, X[ 5] , 5); + FFF1(aaa, bbb, ccc, ddd, eee, X[ 8] , 14); + FFF1(eee, aaa, bbb, ccc, ddd, X[ 7] , 6); + FFF1(ddd, eee, aaa, bbb, ccc, X[ 6] , 8); + FFF1(ccc, ddd, eee, aaa, bbb, X[ 2] , 13); + FFF1(bbb, ccc, ddd, eee, aaa, X[13] , 6); + FFF1(aaa, bbb, ccc, ddd, eee, X[14] , 5); + FFF1(eee, aaa, bbb, ccc, ddd, X[ 0] , 15); + FFF1(ddd, eee, aaa, bbb, ccc, X[ 3] , 13); + FFF1(ccc, ddd, eee, aaa, bbb, X[ 9] , 11); + FFF1(bbb, ccc, ddd, eee, aaa, X[11] , 11); + + /* combine results into new state */ + ddd += cc + MDbuf[1]; + MDbuf[1] = MDbuf[2] + dd + eee; + MDbuf[2] = MDbuf[3] + ee + aaa; + MDbuf[3] = MDbuf[4] + aa + bbb; + MDbuf[4] = MDbuf[0] + bb + ccc; + MDbuf[0] = ddd; + } + + /********************************************************************/ + void MDfinish(word *MDbuf, byte *string, word lswlen, word mswlen) + /* The final value of the 5-word MDbuf array is calculated. + lswlen and mswlen contain, respectively, the least and most significant + 32 bits of the message bit length mod 2^64, and string is an incomplete + block containing the (lswlen mod 512) remaining message bits. + (In case the message is already a multiple of 512 bits, string + is not used.) The conversion of the 5-word final state MDbuf to + the 20-byte hash result using a Little-endian convention is the + responsibility of the calling function. + */ + { + size_t i, length; + byte mask; + word X[16]; + + /* clear 16-word message block */ + memset(X, 0, 16*sizeof(word)); + + /* copy (lswlen mod 512) bits from string into X */ + length = ((lswlen&511)+7)/8; /* number of bytes */ + mask = (lswlen&7) ? ((byte)1 << (lswlen&7)) - 1 : 0xff; + for (i=0; i>2] ^= (word) (*string&mask) << (8*(i&3)); + else + X[i>>2] ^= (word) *string++ << (8*(i&3)); + } + + /* append a single 1 */ + X[(lswlen>>5)&15] ^= (word)1 << (8*((lswlen>>3)&3)+7-(lswlen&7)); + + if ((lswlen & 511) > 447) { + /* length doesn't fit in this block anymore. + Compress, and put length in the next block */ + MDcompress(MDbuf, X); + memset(X, 0, 16*sizeof(word)); + } + /* append length in bits*/ + X[14] = lswlen; + X[15] = mswlen; + MDcompress(MDbuf, X); + } + + /************************ end of file rmd160.c **********************/ + diff -acrN tw_ASR_1.3.1_src/sigs/rmd160/rmd160.h tw_RIPE1/sigs/rmd160/rmd160.h *** tw_ASR_1.3.1_src/sigs/rmd160/rmd160.h Thu Jan 1 01:00:00 1970 --- tw_RIPE1/sigs/rmd160/rmd160.h Thu Sep 28 16:33:01 2000 *************** *** 0 **** --- 1,99 ---- + /********************************************************************\ + * FILE: rmd160.h + * CONTENTS: Header file for a sample C-implementation of the + * RIPEMD-160 hash-function. + * AUTHOR: Antoon Bosselaers, Dept. Electrical Eng.-ESAT/COSIC + * DATE: 1 March 1996 VERSION: 1.0 + \********************************************************************/ + + #ifndef RMD160H /* make sure this file is read only once */ + #define RMD160H + + /********************************************************************/ + /* Type definitions of an 8 and a 32-bit integer type, respectively. + Adapt these, if necessary, for your operating system and compiler + */ + typedef unsigned char byte; /* unsigned 8-bit integer */ + typedef unsigned long word; /* unsigned 32-bit integer */ + + /********************************************************************/ + /* Macro definitions */ + + /* ROL(x, n) cyclically rotates x over n bits to the left + x must be of an unsigned 32 bits type and 0 <= n < 32. + */ + #define ROL(x, n) (((x) << (n)) | ((x) >> (32-(n)))) + + /* The five basic RIPEMD-160 functions F1(), F2(), F3(), F4(), and F5() + */ + #define F1(x, y, z) ((x) ^ (y) ^ (z)) + #define F2(x, y, z) (((x) & (y)) | (~(x) & (z))) + #define F3(x, y, z) (((x) | ~(y)) ^ (z)) + #define F4(x, y, z) (((x) & (z)) | ((y) & ~(z))) + #define F5(x, y, z) ((x) ^ ((y) | ~(z))) + + /* The ten basic RIPEMD-160 transformations FF1() through FFF5() + */ + #define FF1(a, b, c, d, e, x, s) {\ + (a) += F1((b), (c), (d)) + (x);\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FF2(a, b, c, d, e, x, s) {\ + (a) += F2((b), (c), (d)) + (x) + 0x5a827999UL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FF3(a, b, c, d, e, x, s) {\ + (a) += F3((b), (c), (d)) + (x) + 0x6ed9eba1UL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FF4(a, b, c, d, e, x, s) {\ + (a) += F4((b), (c), (d)) + (x) + 0x8f1bbcdcUL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FF5(a, b, c, d, e, x, s) {\ + (a) += F5((b), (c), (d)) + (x) + 0xa953fd4eUL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FFF1(a, b, c, d, e, x, s) {\ + (a) += F1((b), (c), (d)) + (x);\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FFF2(a, b, c, d, e, x, s) {\ + (a) += F2((b), (c), (d)) + (x) + 0x7a6d76e9UL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FFF3(a, b, c, d, e, x, s) {\ + (a) += F3((b), (c), (d)) + (x) + 0x6d703ef3UL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FFF4(a, b, c, d, e, x, s) {\ + (a) += F4((b), (c), (d)) + (x) + 0x5c4dd124UL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + #define FFF5(a, b, c, d, e, x, s) {\ + (a) += F5((b), (c), (d)) + (x) + 0x50a28be6UL;\ + (a) = ROL((a), (s)) + (e);\ + (c) = ROL((c), 10);\ + } + + /********************************************************************/ + /* Function prototypes */ + + void MDinit(word *MDbuf); + void MDcompress(word *MDbuf, word *X); + void MDfinish(word *MDbuf, byte *string, word lswlen, word mswlen); + int sig_rmd160_get(); /* interface to TRIPWIRE */ + + #endif /* RMD160H */ + + /*********************** end of file rmd160.h ***********************/ + diff -acrN tw_ASR_1.3.1_src/sigs/rmd160/rmd160wrapper.c tw_RIPE1/sigs/rmd160/rmd160wrapper.c *** tw_ASR_1.3.1_src/sigs/rmd160/rmd160wrapper.c Thu Jan 1 01:00:00 1970 --- tw_RIPE1/sigs/rmd160/rmd160wrapper.c Tue Sep 26 21:24:54 2000 *************** *** 0 **** --- 1,170 ---- + #ifndef lint + static char rcsid[] = "$Id: rmd160wrapper.c, Klaus Bosau$"; + #endif + + /* + * rmd160wrapper.c + * + * signature function hook for RIPE-MD160 for Tripwire. + * + * Klaus Bosau + * 26.9.2000 + */ + + #include "../../include/config.h" + #include + #include + #ifdef STDLIBH + #include + #include + #endif + #ifdef STRINGH + #include + #else + #include + #endif + #include "../../include/sigs.h" + #include "rmd160.h" + #include + + char *pltob64(); + + #ifdef TW_TYPE32 + typedef unsigned TW_TYPE32 LONGr; + #else + typedef unsigned long LONGr; + #endif + + /* + * int + * pf_signature(int fd_in, char *ps_signature, int siglen) + * + * fd_in: pointer to input file descriptor + * ps_signature: pointer to array where signature will be stored + * siglen: length of the signature array (for overflow checking) + */ + + + #define BUFLEN 4096 + #define RMDBITS 160 + + static void byteReverse(LONGr *buffer) { + /* bytes 0,1,2,3 --> 3,2,1,0 */ + + LONGr value; + int count; + + for( count = 0; count < 5; count++ ) + { + value = ( buffer[ count ] << 16 ) | ( buffer[ count ] >> 16 ); + buffer[ count ] = ( ( value & 0xFF00FF00L ) >> 8 ) | ( ( value & 0x00FF00FFL ) << 8 ); + } + } + + void pack_chunk(word *chunk, byte *buf) { + /* pack 64 bytes into 16 little-endian 32-bit words */ + + int j; + + for (j = 0; j < 16; ++j, buf += 4) + *chunk++ = (word) buf[0] | (word) buf[1] << 8 | + (word) buf[2] << 16 | (word) buf[3] << 24 ; + } + + void rmdfp(FILE *fp, word mdbuf[RMDBITS / 32]) { + /* calculate the message digest of a file + and return it in array form */ + + int bytesread; + int i; + word tmp; + word chunk[16]; + char buf[BUFLEN]; + word length[2]; + static byte code[RMDBITS / 8]; + + length[0] = length[1] = 0; + MDinit(mdbuf); + + /* do all full BUFLEN portions */ + + while ((bytesread = fread(buf, 1, BUFLEN, fp)) == BUFLEN) { + + for (i = 0; i < BUFLEN; i += 64) { + pack_chunk(chunk, buf + i); + MDcompress(mdbuf, chunk); + } + + if ((tmp = length[0] + bytesread) < length[0]) + ++ length[1]; /* overflow */ + length[0] = tmp; + } + + /* do all the remaining 64-byte blocks */ + + for (i = 0; i < bytesread - 63; i += 64) { + pack_chunk(chunk, buf + i); + MDcompress(mdbuf, chunk); + } + + if ((tmp = length[0] + bytesread) < length[0]) + ++ length[1]; /* overflow */ + length[0] = tmp; + + /* do the last partial or zero length block */ + + MDfinish(mdbuf, buf + i, length[0] << 3, + length[0] >> 29 | length[1] << 3); + + #ifdef LITTLE_ENDIAN + byteReverse(mdbuf); + #endif + + } + + int sig_rmd160_get (fd_in, ps_signature, siglen) + int fd_in; + char *ps_signature; + int siglen; + { + int i; + char s[128]; + FILE *fp; + word md[5]; /* message digest */ + + ps_signature[0] = '\0'; + + /* get stdio handle + * we use dup() so we can close() it later + */ + if (!(fp = (FILE *) fdopen(dup(fd_in), "rb"))) { + perror("sig_rmd160_get: fdopen()"); + exit(1); + } + + /* rewind the file descriptor */ + rewind(fp); + + /* create the message digest */ + rmdfp(fp, md); + + /* print out the signature */ + if (printhex) { + for (i = 0; i < 5; i++) { + #if (TW_TYPE32 == int) + sprintf(s, "%08x", md[i]); + #else + sprintf(s, "%08lx", md[i]); + #endif + strcat(ps_signature, s); + } + } + /* base 64 */ + else { + pltob64(md, ps_signature, 5); + } + + fclose(fp); + + return 0; + } diff -acrN tw_ASR_1.3.1_src/src/Makefile tw_RIPE1/src/Makefile *** tw_ASR_1.3.1_src/src/Makefile Tue May 4 10:31:00 1999 --- tw_RIPE1/src/Makefile Mon Sep 25 22:27:52 2000 *************** *** 20,25 **** --- 20,26 ---- SIG6DIR = $(SIGDIR)/md2 SIG7DIR = $(SIGDIR)/sha SIG8DIR = $(SIGDIR)/haval + SIG9DIR = $(SIGDIR)/rmd160 SIGDIRS = $(SIG1DIR) $(SIG2DIR) $(SIG3DIR) $(SIG4DIR) $(SIG5DIR) \ $(SIG6DIR) $(SIG7DIR) $(SIG8DIR) $(SIG9DIR) *************** *** 32,37 **** --- 33,39 ---- OSIG6 = $(SIG6DIR)/md2.o $(SIG6DIR)/md2wrapper.o OSIG7 = $(SIG7DIR)/sha.o $(SIG7DIR)/shawrapper.o OSIG8 = $(SIG8DIR)/haval.o $(SIG8DIR)/havalwrapper.o + OSIG9 = $(SIG9DIR)/rmd160.o $(SIG9DIR)/rmd160wrapper.o OSIGS = $(OSIG1) $(OSIG2) $(OSIG3) $(OSIG4) $(OSIG5) $(OSIG6) $(OSIG7) \ $(OSIG8) $(OSIG9) *************** *** 44,49 **** --- 46,52 ---- CSIG6 = $(SIG6DIR)/md2.c $(SIG6DIR)/md2wrapper.c CSIG7 = $(SIG7DIR)/sha.c $(SIG7DIR)/shawrapper.c CSIG8 = $(SIG8DIR)/haval.c $(SIG8DIR)/havalwrapper.c + CSIG9 = $(SIG9DIR)/rmd160.c $(SIG9DIR)/rmd160wrapper.c CSIGS = $(CSIG1) $(CSIG2) $(CSIG3) $(CSIG4) $(CSIG5) $(CSIG6) $(CSIG7) \ $(CSIG8) $(CSIG9) *************** *** 77,82 **** --- 80,87 ---- (cd $(SIG7DIR); make CC="$(CC)" CFLAGS="$(CFLAGS) -I. -I..") $(OSIG8): ../include/byteorder.h (cd $(SIG8DIR); make CC="$(CC)" CFLAGS="$(CFLAGS) -I. -I..") + $(OSIG9): ../include/byteorder.h + (cd $(SIG9DIR); make CC="$(CC)" CFLAGS="$(CFLAGS) -I. -I..") ../include/byteorder.h ../include/inode.h: (cd ../util; make CC=$(CC) CFLAGS="$(CFLAGS)" \ diff -acrN tw_ASR_1.3.1_src/tests/test0.key tw_RIPE1/tests/test0.key *** tw_ASR_1.3.1_src/tests/test0.key Tue May 4 10:31:00 1999 --- tw_RIPE1/tests/test0.key Wed Sep 27 08:55:19 2000 *************** *** 8,14 **** sig6: md2 : 8350e5a3e24c153df2275c9f80692773 sig7: sha : da39a3ee5e6b4b0d3255bfef95601890afd80709 sig8: haval : 1bdc556b29ad02ec09af8c66477f2a87 ! sig9: nullsig : 0 *** ./testfiles/t_file1 *** sig0: nullsig : 0 sig1: md5 : 0cc175b9c0f1b6a831c399e269772661 --- 8,14 ---- sig6: md2 : 8350e5a3e24c153df2275c9f80692773 sig7: sha : da39a3ee5e6b4b0d3255bfef95601890afd80709 sig8: haval : 1bdc556b29ad02ec09af8c66477f2a87 ! sig9: rmd160 : 9c1185a5c5e9fc54612808977ee8f548b2258d31 *** ./testfiles/t_file1 *** sig0: nullsig : 0 sig1: md5 : 0cc175b9c0f1b6a831c399e269772661 *************** *** 19,25 **** sig6: md2 : 32ec01ec4a6dac72c0ab96fb34c0b5d1 sig7: sha : 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 sig8: haval : 24d2bc955a219e3e06462c91b555cfa1 ! sig9: nullsig : 0 *** ./testfiles/t_file10 *** sig0: nullsig : 0 sig1: md5 : ba1f2511fc30423bdbb183fe33f3dd0f --- 19,25 ---- sig6: md2 : 32ec01ec4a6dac72c0ab96fb34c0b5d1 sig7: sha : 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 sig8: haval : 24d2bc955a219e3e06462c91b555cfa1 ! sig9: rmd160 : 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe *** ./testfiles/t_file10 *** sig0: nullsig : 0 sig1: md5 : ba1f2511fc30423bdbb183fe33f3dd0f *************** *** 30,36 **** sig6: md2 : 9efb894dacb19a345e3519bff3fadd65 sig7: sha : a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0 sig8: haval : 6508d08fbf578a95661847ffda055627 ! sig9: nullsig : 0 *** ./testfiles/t_file11 *** sig0: nullsig : 0 sig1: md5 : e7df7cd2ca07f4f1ab415d457a6e1c13 --- 30,36 ---- sig6: md2 : 9efb894dacb19a345e3519bff3fadd65 sig7: sha : a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0 sig8: haval : 6508d08fbf578a95661847ffda055627 ! sig9: rmd160 : 7fdc7622a4f32585fa735acec274497986dea823 *** ./testfiles/t_file11 *** sig0: nullsig : 0 sig1: md5 : e7df7cd2ca07f4f1ab415d457a6e1c13 *************** *** 41,47 **** sig6: md2 : ffc70b71eb524609e8e58ae761be4e7b sig7: sha : 1be168ff837f043bde17c0314341c84271047b31 sig8: haval : ce11d80d0ef871d1549f8cea2337c0c4 ! sig9: nullsig : 0 *** ./testfiles/t_file12 *** sig0: nullsig : 0 sig1: md5 : d577273ff885c3f84dadb8578bb41399 --- 41,47 ---- sig6: md2 : ffc70b71eb524609e8e58ae761be4e7b sig7: sha : 1be168ff837f043bde17c0314341c84271047b31 sig8: haval : ce11d80d0ef871d1549f8cea2337c0c4 ! sig9: rmd160 : 0bb5d1252d5182a7a7513897bde831ed118661d4 *** ./testfiles/t_file12 *** sig0: nullsig : 0 sig1: md5 : d577273ff885c3f84dadb8578bb41399 *************** *** 52,58 **** sig6: md2 : 3c84d0028288e38d32199b73c9ee91d3 sig7: sha : 2672275fe0c456fb671e4f417fb2f9892c7573ba sig8: haval : 3f85b9d3b459bc9955ca896c4dc6fb24 ! sig9: nullsig : 0 *** ./testfiles/t_file13 *** sig0: nullsig : 0 sig1: md5 : f447b20a7fcbf53a5d5be013ea0b15af --- 52,58 ---- sig6: md2 : 3c84d0028288e38d32199b73c9ee91d3 sig7: sha : 2672275fe0c456fb671e4f417fb2f9892c7573ba sig8: haval : 3f85b9d3b459bc9955ca896c4dc6fb24 ! sig9: rmd160 : ead888178685c5d3a0400befba9188e4da3d5144 *** ./testfiles/t_file13 *** sig0: nullsig : 0 sig1: md5 : f447b20a7fcbf53a5d5be013ea0b15af *************** *** 63,69 **** sig6: md2 : 9e899601601eb0af4d9e9fdf8771c187 sig7: sha : c4f9375f9834b4e7f0a528cc65c055702bf5f24a sig8: haval : b5bc9108d246c166adda8ebd2f73e002 ! sig9: nullsig : 0 *** ./testfiles/t_file14 *** sig0: nullsig : 0 sig1: md5 : 1b504d3328e16fdf281d1fb9516dd90b --- 63,69 ---- sig6: md2 : 9e899601601eb0af4d9e9fdf8771c187 sig7: sha : c4f9375f9834b4e7f0a528cc65c055702bf5f24a sig8: haval : b5bc9108d246c166adda8ebd2f73e002 ! sig9: rmd160 : f0a13f9f6869ca3503386312756cdad7be98e0ac *** ./testfiles/t_file14 *** sig0: nullsig : 0 sig1: md5 : 1b504d3328e16fdf281d1fb9516dd90b *************** *** 74,80 **** sig6: md2 : eb95dea75b5c1c004ebd79751079a915 sig7: sha : e017693e4a04a59d0b0f400fe98177fe7ee13cf7 sig8: haval : a0997d012a4e7fafcbce108114809c21 ! sig9: nullsig : 0 *** ./testfiles/t_file15 *** sig0: nullsig : 0 sig1: md5 : b2cfa4183267af678ea06c7407d4d6d8 --- 74,80 ---- sig6: md2 : eb95dea75b5c1c004ebd79751079a915 sig7: sha : e017693e4a04a59d0b0f400fe98177fe7ee13cf7 sig8: haval : a0997d012a4e7fafcbce108114809c21 ! sig9: rmd160 : e2d74468aa3d9b875392bb689cef278a7ddb9ca9 *** ./testfiles/t_file15 *** sig0: nullsig : 0 sig1: md5 : b2cfa4183267af678ea06c7407d4d6d8 *************** *** 85,91 **** sig6: md2 : 33b61247dc9e2d0931633fdc3b181a88 sig7: sha : 179c94cf45c6e383baf52621687305204cef16f9 sig8: haval : fec312ff60147311bc6991b95484ee89 ! sig9: nullsig : 0 *** ./testfiles/t_file16 *** sig0: nullsig : 0 sig1: md5 : d50b9edee452966e27baf56d33d83a55 --- 85,91 ---- sig6: md2 : 33b61247dc9e2d0931633fdc3b181a88 sig7: sha : 179c94cf45c6e383baf52621687305204cef16f9 sig8: haval : fec312ff60147311bc6991b95484ee89 ! sig9: rmd160 : de9037c09bc7022fcf935e26ab1c3194d2848495 *** ./testfiles/t_file16 *** sig0: nullsig : 0 sig1: md5 : d50b9edee452966e27baf56d33d83a55 *************** *** 96,102 **** sig6: md2 : 104cfc93647951d800bc0f7fc2f8efaa sig7: sha : 3eebeac5c732ee465299ef3212409133aa6378ab sig8: haval : ab66ef0b6a5306d306738be8ecbe0b4b ! sig9: nullsig : 0 *** ./testfiles/t_file2 *** sig0: nullsig : 0 sig1: md5 : 900150983cd24fb0d6963f7d28e17f72 --- 96,102 ---- sig6: md2 : 104cfc93647951d800bc0f7fc2f8efaa sig7: sha : 3eebeac5c732ee465299ef3212409133aa6378ab sig8: haval : ab66ef0b6a5306d306738be8ecbe0b4b ! sig9: rmd160 : 2e3b93b63219f8ae53b37ab7615549e8a292acd6 *** ./testfiles/t_file2 *** sig0: nullsig : 0 sig1: md5 : 900150983cd24fb0d6963f7d28e17f72 *************** *** 107,113 **** sig6: md2 : da853b0d3f88d99b30283a69e6ded6bb sig7: sha : a9993e364706816aba3e25717850c26c9cd0d89d sig8: haval : c79c31129c3fe87e506b46c6913c52ac ! sig9: nullsig : 0 *** ./testfiles/t_file3 *** sig0: nullsig : 0 sig1: md5 : f96b697d7cb7938d525a2f31aaf161d0 --- 107,113 ---- sig6: md2 : da853b0d3f88d99b30283a69e6ded6bb sig7: sha : a9993e364706816aba3e25717850c26c9cd0d89d sig8: haval : c79c31129c3fe87e506b46c6913c52ac ! sig9: rmd160 : 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc *** ./testfiles/t_file3 *** sig0: nullsig : 0 sig1: md5 : f96b697d7cb7938d525a2f31aaf161d0 *************** *** 118,124 **** sig6: md2 : ab4f496bfb2a530b219ff33031fe06b0 sig7: sha : c12252ceda8be8994d5fa0290a47231c1d16aae3 sig8: haval : 2c574b6b79528a852df8240995fe6a21 ! sig9: nullsig : 0 *** ./testfiles/t_file4 *** sig0: nullsig : 0 sig1: md5 : c3fcd3d76192e4007dfb496cca67e13b --- 118,124 ---- sig6: md2 : ab4f496bfb2a530b219ff33031fe06b0 sig7: sha : c12252ceda8be8994d5fa0290a47231c1d16aae3 sig8: haval : 2c574b6b79528a852df8240995fe6a21 ! sig9: rmd160 : 5d0689ef49d2fae572b881b123a85ffa21595f36 *** ./testfiles/t_file4 *** sig0: nullsig : 0 sig1: md5 : c3fcd3d76192e4007dfb496cca67e13b *************** *** 129,135 **** sig6: md2 : 4e8ddff3650292ab5a4108c3aa47940b sig7: sha : 32d10c7b8cf96570ca04ce37f2a19d84240d3a89 sig8: haval : 92e8ec9ad7fd209d97e9ce21b50440e9 ! sig9: nullsig : 0 *** ./testfiles/t_file5 *** sig0: nullsig : 0 sig1: md5 : d174ab98d277d9f5a5611c2c9f419d9f --- 129,135 ---- sig6: md2 : 4e8ddff3650292ab5a4108c3aa47940b sig7: sha : 32d10c7b8cf96570ca04ce37f2a19d84240d3a89 sig8: haval : 92e8ec9ad7fd209d97e9ce21b50440e9 ! sig9: rmd160 : f71c27109c692c1b56bbdceb5b9d2865b3708dbc *** ./testfiles/t_file5 *** sig0: nullsig : 0 sig1: md5 : d174ab98d277d9f5a5611c2c9f419d9f *************** *** 140,146 **** sig6: md2 : da33def2a42df13975352846c30338cd sig7: sha : 761c457bf73b14d27e9e9265c46f4b4dda11f940 sig8: haval : 4ae2f37cef9275cce0d73f6a1eb9cdd8 ! sig9: nullsig : 0 *** ./testfiles/t_file6 *** sig0: nullsig : 0 sig1: md5 : 57edf4a22be3c955ac49da2e2107b67a --- 140,146 ---- sig6: md2 : da33def2a42df13975352846c30338cd sig7: sha : 761c457bf73b14d27e9e9265c46f4b4dda11f940 sig8: haval : 4ae2f37cef9275cce0d73f6a1eb9cdd8 ! sig9: rmd160 : b0e20b6e3116640286ed3a87a5713079b21f5189 *** ./testfiles/t_file6 *** sig0: nullsig : 0 sig1: md5 : 57edf4a22be3c955ac49da2e2107b67a *************** *** 151,157 **** sig6: md2 : d5976f79d83d3a0dc9806c3c66f3efd8 sig7: sha : 50abf5706a150990a08b2c5ea40fa0e585554732 sig8: haval : fe866802ab5df3fa16cdc4547ad9578f ! sig9: nullsig : 0 *** ./testfiles/t_file7 *** sig0: nullsig : 0 sig1: md5 : 8215ef0796a20bcaaae116d3876c664a --- 151,157 ---- sig6: md2 : d5976f79d83d3a0dc9806c3c66f3efd8 sig7: sha : 50abf5706a150990a08b2c5ea40fa0e585554732 sig8: haval : fe866802ab5df3fa16cdc4547ad9578f ! sig9: rmd160 : 9b752e45573d4b39f4dbd3323cab82bf63326bfb *** ./testfiles/t_file7 *** sig0: nullsig : 0 sig1: md5 : 8215ef0796a20bcaaae116d3876c664a *************** *** 162,168 **** sig6: md2 : 0dff6b398ad5a62ac8d97566b80c3a7f sig7: sha : 84983e441c3bd26ebaae4aa1f95129e5e54670f1 sig8: haval : 468c2898bdd3b5b6ca9e79cc4eba8c6c ! sig9: nullsig : 0 *** ./testfiles/t_file8 *** sig0: nullsig : 0 sig1: md5 : b026324c6904b2a9cb4b88d6d61c81d1 --- 162,168 ---- sig6: md2 : 0dff6b398ad5a62ac8d97566b80c3a7f sig7: sha : 84983e441c3bd26ebaae4aa1f95129e5e54670f1 sig8: haval : 468c2898bdd3b5b6ca9e79cc4eba8c6c ! sig9: rmd160 : 12a053384a9c0c88e405a06c27dcf49ada62eb2b *** ./testfiles/t_file8 *** sig0: nullsig : 0 sig1: md5 : b026324c6904b2a9cb4b88d6d61c81d1 *************** *** 173,179 **** sig6: md2 : 7126e6e44d6bde5b0c04e9a7c14672ea sig7: sha : e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e sig8: haval : 6f35238887e9b7ed5eb6dd3e362b297f ! sig9: nullsig : 0 *** ./testfiles/t_file9 *** sig0: nullsig : 0 sig1: md5 : 2737b49252e2a4c0fe4c342e92b13285 --- 173,179 ---- sig6: md2 : 7126e6e44d6bde5b0c04e9a7c14672ea sig7: sha : e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e sig8: haval : 6f35238887e9b7ed5eb6dd3e362b297f ! sig9: rmd160 : 0e25f9d48d432ff5256e6da30ab644d1ca726cb7 *** ./testfiles/t_file9 *** sig0: nullsig : 0 sig1: md5 : 2737b49252e2a4c0fe4c342e92b13285 *************** *** 184,187 **** sig6: md2 : d2c224507e8667ab345f4c734de5a444 sig7: sha : ad552e6dc057d1d825bf49df79d6b98eba846ebe sig8: haval : 915aa6753dd4a0907b93aadcc7891e6e ! sig9: nullsig : 0 --- 184,187 ---- sig6: md2 : d2c224507e8667ab345f4c734de5a444 sig7: sha : ad552e6dc057d1d825bf49df79d6b98eba846ebe sig8: haval : 915aa6753dd4a0907b93aadcc7891e6e ! sig9: rmd160 : d6eb6a87fdec3ba81871d832810560aabdd588ce diff -acrN tw_ASR_1.3.1_src/tests/tw.conf.test tw_RIPE1/tests/tw.conf.test *** tw_ASR_1.3.1_src/tests/tw.conf.test Tue May 4 10:31:00 1999 --- tw_RIPE1/tests/tw.conf.test Mon Sep 25 15:11:08 2000 *************** *** 36,41 **** --- 36,44 ---- !/build/sigs/sha/shawrapper.o !/build/sigs/haval/haval.o !/build/sigs/haval/havalwrapper.o + !/build/sigs/rmd160/rmd160.o + !/build/sigs/rmd160/rmd160wrapper.o + # helper executables built at compile-time !/build/util/types diff -acrN tw_ASR_1.3.1_src/tests/tw.db_TEST tw_RIPE1/tests/tw.db_TEST *** tw_ASR_1.3.1_src/tests/tw.db_TEST Tue May 4 10:31:00 1999 --- tw_RIPE1/tests/tw.db_TEST Thu Nov 9 18:26:10 2000 *************** *** 124,129 **** --- 124,134 ---- /build/sigs/md5/md5.h 0 001.X0 100640 666757 1 0 0 1139 0tBh14 0tBh14 0tBlGi 0 0dzgN.0CItEkU4zOsY6PO4 0 0 0 0 0 0 0 0 /build/sigs/md5/md5wrapper.c 0 001.X0 100640 666758 1 0 0 2032 0tBh14 0tBh14 0tBlGi 0 0nR.9i2lAVOUTVjj7TI.q0 0 0 0 0 0 0 0 0 /build/sigs/md5/README.md5 0 001.X0 100640 666759 1 0 0 2575 0tBh14 0tBh14 0tBlGi 0 3659z16SPZZ4YfCH:gm2Sp 0 0 0 0 0 0 0 0 + /build/sigs/rmd160 0 001.X0 40755 655431 2 0 0 1024 0v:VVh 0v:PEE 0v:PEE 0 0 0 0 0 0 0 0 0 0 + /build/sigs/rmd160/Makefile 0 001.X0 100640 655432 1 0 0 281 0v:PHV 0vqBeJ 0vqGZ5 0 3GERUg6f.4a18MuWYVe.qb 0 0 0 0 0 0 0 0 + /build/sigs/rmd160/rmd160.h 0 001.X0 100644 655433 1 0 0 3479 0v:PHV 0vqrQT 0vqrQT 0 3QCOPzsNOdYSD84Pk5rLa3 0 0 0 0 0 0 0 0 + /build/sigs/rmd160/rmd160wrapper.c 0 001.X0 100640 655434 1 0 0 3413 0v:PHV 0vqFW6 0vqGZ5 0 3bOmMQY3Ph9SL0:OOytEoB 0 0 0 0 0 0 0 0 + /build/sigs/rmd160/rmd160.c 0 001.X0 100644 655435 1 0 0 10875 0v:PHV 0vqA.q 0vqGZ5 0 0qQQzmdNi5IDJd6pK:9c6e 0 0 0 0 0 0 0 0 /build/sigs/sha 0 001.X0 40750 670238 2 0 0 512 0tBlGs 0tBh14 0tBlGi 0 0 0 0 0 0 0 0 0 0 /build/sigs/sha/Makefile 0 001.X0 100640 670239 1 0 0 292 0tBh14 0tBh14 0tBlGi 0 2ZdiPtncH9HIHmBvZbwERb 0 0 0 0 0 0 0 0 /build/sigs/sha/sha.c 0 001.X0 100640 670240 1 0 0 11560 0tBh14 0tBh14 0tBlGi 0 3e2V8qEqTk5URVpuTa1RTO 0 0 0 0 0 0 0 0