diff options
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/md4')
| -rw-r--r-- | Cryptlib/OpenSSL/crypto/md4/md4_dgst.c | 45 | ||||
| -rw-r--r-- | Cryptlib/OpenSSL/crypto/md4/md4_locl.h | 75 |
2 files changed, 58 insertions, 62 deletions
diff --git a/Cryptlib/OpenSSL/crypto/md4/md4_dgst.c b/Cryptlib/OpenSSL/crypto/md4/md4_dgst.c index 584d9b82..614fca00 100644 --- a/Cryptlib/OpenSSL/crypto/md4/md4_dgst.c +++ b/Cryptlib/OpenSSL/crypto/md4/md4_dgst.c @@ -57,12 +57,9 @@ */ #include <stdio.h> -#include "md4_locl.h" #include <openssl/opensslv.h> -#include <openssl/err.h> -#ifdef OPENSSL_FIPS -# include <openssl/fips.h> -#endif +#include <openssl/crypto.h> +#include "md4_locl.h" const char MD4_version[] = "MD4" OPENSSL_VERSION_PTEXT; @@ -75,15 +72,13 @@ const char MD4_version[] = "MD4" OPENSSL_VERSION_PTEXT; #define INIT_DATA_C (unsigned long)0x98badcfeL #define INIT_DATA_D (unsigned long)0x10325476L -FIPS_NON_FIPS_MD_Init(MD4) +fips_md_init(MD4) { + memset(c, 0, sizeof(*c)); c->A = INIT_DATA_A; c->B = INIT_DATA_B; c->C = INIT_DATA_C; c->D = INIT_DATA_D; - c->Nl = 0; - c->Nh = 0; - c->num = 0; return 1; } @@ -111,52 +106,52 @@ void md4_block_data_order(MD4_CTX *c, const void *data_, size_t num) D = c->D; for (; num--;) { - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(0) = l; - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(1) = l; /* Round 0 */ R0(A, B, C, D, X(0), 3, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(2) = l; R0(D, A, B, C, X(1), 7, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(3) = l; R0(C, D, A, B, X(2), 11, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(4) = l; R0(B, C, D, A, X(3), 19, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(5) = l; R0(A, B, C, D, X(4), 3, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(6) = l; R0(D, A, B, C, X(5), 7, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(7) = l; R0(C, D, A, B, X(6), 11, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(8) = l; R0(B, C, D, A, X(7), 19, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(9) = l; R0(A, B, C, D, X(8), 3, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(10) = l; R0(D, A, B, C, X(9), 7, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(11) = l; R0(C, D, A, B, X(10), 11, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(12) = l; R0(B, C, D, A, X(11), 19, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(13) = l; R0(A, B, C, D, X(12), 3, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(14) = l; R0(D, A, B, C, X(13), 7, 0); - HOST_c2l(data, l); + (void)HOST_c2l(data, l); X(15) = l; R0(C, D, A, B, X(14), 11, 0); R0(B, C, D, A, X(15), 19, 0); diff --git a/Cryptlib/OpenSSL/crypto/md4/md4_locl.h b/Cryptlib/OpenSSL/crypto/md4/md4_locl.h index c8085b0e..dc86a86c 100644 --- a/Cryptlib/OpenSSL/crypto/md4/md4_locl.h +++ b/Cryptlib/OpenSSL/crypto/md4/md4_locl.h @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -62,51 +62,52 @@ #include <openssl/md4.h> #ifndef MD4_LONG_LOG2 -#define MD4_LONG_LOG2 2 /* default to 32 bits */ +# define MD4_LONG_LOG2 2 /* default to 32 bits */ #endif -void md4_block_data_order (MD4_CTX *c, const void *p,size_t num); +void md4_block_data_order(MD4_CTX *c, const void *p, size_t num); #define DATA_ORDER_IS_LITTLE_ENDIAN -#define HASH_LONG MD4_LONG -#define HASH_CTX MD4_CTX -#define HASH_CBLOCK MD4_CBLOCK -#define HASH_UPDATE MD4_Update -#define HASH_TRANSFORM MD4_Transform -#define HASH_FINAL MD4_Final -#define HASH_MAKE_STRING(c,s) do { \ - unsigned long ll; \ - ll=(c)->A; HOST_l2c(ll,(s)); \ - ll=(c)->B; HOST_l2c(ll,(s)); \ - ll=(c)->C; HOST_l2c(ll,(s)); \ - ll=(c)->D; HOST_l2c(ll,(s)); \ - } while (0) -#define HASH_BLOCK_DATA_ORDER md4_block_data_order +#define HASH_LONG MD4_LONG +#define HASH_CTX MD4_CTX +#define HASH_CBLOCK MD4_CBLOCK +#define HASH_UPDATE MD4_Update +#define HASH_TRANSFORM MD4_Transform +#define HASH_FINAL MD4_Final +#define HASH_MAKE_STRING(c,s) do { \ + unsigned long ll; \ + ll=(c)->A; (void)HOST_l2c(ll,(s)); \ + ll=(c)->B; (void)HOST_l2c(ll,(s)); \ + ll=(c)->C; (void)HOST_l2c(ll,(s)); \ + ll=(c)->D; (void)HOST_l2c(ll,(s)); \ + } while (0) +#define HASH_BLOCK_DATA_ORDER md4_block_data_order #include "md32_common.h" -/* -#define F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) -#define G(x,y,z) (((x) & (y)) | ((x) & ((z))) | ((y) & ((z)))) +/*- +#define F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) +#define G(x,y,z) (((x) & (y)) | ((x) & ((z))) | ((y) & ((z)))) */ -/* As pointed out by Wei Dai <weidai@eskimo.com>, the above can be - * simplified to the code below. Wei attributes these optimizations - * to Peter Gutmann's SHS code, and he attributes it to Rich Schroeppel. +/* + * As pointed out by Wei Dai <weidai@eskimo.com>, the above can be simplified + * to the code below. Wei attributes these optimizations to Peter Gutmann's + * SHS code, and he attributes it to Rich Schroeppel. */ -#define F(b,c,d) ((((c) ^ (d)) & (b)) ^ (d)) -#define G(b,c,d) (((b) & (c)) | ((b) & (d)) | ((c) & (d))) -#define H(b,c,d) ((b) ^ (c) ^ (d)) +#define F(b,c,d) ((((c) ^ (d)) & (b)) ^ (d)) +#define G(b,c,d) (((b) & (c)) | ((b) & (d)) | ((c) & (d))) +#define H(b,c,d) ((b) ^ (c) ^ (d)) #define R0(a,b,c,d,k,s,t) { \ - a+=((k)+(t)+F((b),(c),(d))); \ - a=ROTATE(a,s); }; + a+=((k)+(t)+F((b),(c),(d))); \ + a=ROTATE(a,s); }; #define R1(a,b,c,d,k,s,t) { \ - a+=((k)+(t)+G((b),(c),(d))); \ - a=ROTATE(a,s); };\ + a+=((k)+(t)+G((b),(c),(d))); \ + a=ROTATE(a,s); };\ #define R2(a,b,c,d,k,s,t) { \ - a+=((k)+(t)+H((b),(c),(d))); \ - a=ROTATE(a,s); }; + a+=((k)+(t)+H((b),(c),(d))); \ + a=ROTATE(a,s); }; |
