diff options
| author | djm <> | 2008-09-06 12:17:54 +0000 |
|---|---|---|
| committer | djm <> | 2008-09-06 12:17:54 +0000 |
| commit | 6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda (patch) | |
| tree | 7ccc28afe1789ea3dbedf72365f955d5b8e105b5 /src/lib/libcrypto/ripemd | |
| parent | 89181603212b41e95cde36b1be5a146ce8fb2935 (diff) | |
| download | openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.tar.gz openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.tar.bz2 openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.zip | |
resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/ripemd')
| -rw-r--r-- | src/lib/libcrypto/ripemd/asm/rmd-586.pl | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/ripemd/ripemd.h | 10 | ||||
| -rw-r--r-- | src/lib/libcrypto/ripemd/rmd_dgst.c | 212 | ||||
| -rw-r--r-- | src/lib/libcrypto/ripemd/rmd_locl.h | 14 | ||||
| -rw-r--r-- | src/lib/libcrypto/ripemd/rmd_one.c | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/ripemd/rmdtest.c | 8 |
6 files changed, 18 insertions, 232 deletions
diff --git a/src/lib/libcrypto/ripemd/asm/rmd-586.pl b/src/lib/libcrypto/ripemd/asm/rmd-586.pl index 0ab6f76bff..4f3c4c967f 100644 --- a/src/lib/libcrypto/ripemd/asm/rmd-586.pl +++ b/src/lib/libcrypto/ripemd/asm/rmd-586.pl | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | #!/usr/local/bin/perl | 1 | #!/usr/local/bin/perl |
| 2 | 2 | ||
| 3 | # Normal is the | 3 | # Normal is the |
| 4 | # ripemd160_block_asm_host_order(RIPEMD160_CTX *c, ULONG *X,int blocks); | 4 | # ripemd160_block_asm_data_order(RIPEMD160_CTX *c, ULONG *X,int blocks); |
| 5 | 5 | ||
| 6 | $normal=0; | 6 | $normal=0; |
| 7 | 7 | ||
| @@ -56,7 +56,7 @@ $KR3=0x7A6D76E9; | |||
| 56 | 8, 5,12, 9,12, 5,14, 6, 8,13, 6, 5,15,13,11,11, | 56 | 8, 5,12, 9,12, 5,14, 6, 8,13, 6, 5,15,13,11,11, |
| 57 | ); | 57 | ); |
| 58 | 58 | ||
| 59 | &ripemd160_block("ripemd160_block_asm_host_order"); | 59 | &ripemd160_block("ripemd160_block_asm_data_order"); |
| 60 | &asm_finish(); | 60 | &asm_finish(); |
| 61 | 61 | ||
| 62 | sub Xv | 62 | sub Xv |
diff --git a/src/lib/libcrypto/ripemd/ripemd.h b/src/lib/libcrypto/ripemd/ripemd.h index 7d0d998189..033a5965b5 100644 --- a/src/lib/libcrypto/ripemd/ripemd.h +++ b/src/lib/libcrypto/ripemd/ripemd.h | |||
| @@ -60,6 +60,7 @@ | |||
| 60 | #define HEADER_RIPEMD_H | 60 | #define HEADER_RIPEMD_H |
| 61 | 61 | ||
| 62 | #include <openssl/e_os2.h> | 62 | #include <openssl/e_os2.h> |
| 63 | #include <stddef.h> | ||
| 63 | 64 | ||
| 64 | #ifdef __cplusplus | 65 | #ifdef __cplusplus |
| 65 | extern "C" { | 66 | extern "C" { |
| @@ -87,16 +88,13 @@ typedef struct RIPEMD160state_st | |||
| 87 | RIPEMD160_LONG A,B,C,D,E; | 88 | RIPEMD160_LONG A,B,C,D,E; |
| 88 | RIPEMD160_LONG Nl,Nh; | 89 | RIPEMD160_LONG Nl,Nh; |
| 89 | RIPEMD160_LONG data[RIPEMD160_LBLOCK]; | 90 | RIPEMD160_LONG data[RIPEMD160_LBLOCK]; |
| 90 | int num; | 91 | unsigned int num; |
| 91 | } RIPEMD160_CTX; | 92 | } RIPEMD160_CTX; |
| 92 | 93 | ||
| 93 | #ifdef OPENSSL_FIPS | ||
| 94 | int private_RIPEMD160_Init(RIPEMD160_CTX *c); | ||
| 95 | #endif | ||
| 96 | int RIPEMD160_Init(RIPEMD160_CTX *c); | 94 | int RIPEMD160_Init(RIPEMD160_CTX *c); |
| 97 | int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, unsigned long len); | 95 | int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); |
| 98 | int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); | 96 | int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); |
| 99 | unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, | 97 | unsigned char *RIPEMD160(const unsigned char *d, size_t n, |
| 100 | unsigned char *md); | 98 | unsigned char *md); |
| 101 | void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); | 99 | void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); |
| 102 | #ifdef __cplusplus | 100 | #ifdef __cplusplus |
diff --git a/src/lib/libcrypto/ripemd/rmd_dgst.c b/src/lib/libcrypto/ripemd/rmd_dgst.c index 58ff010d11..1f2401aa7e 100644 --- a/src/lib/libcrypto/ripemd/rmd_dgst.c +++ b/src/lib/libcrypto/ripemd/rmd_dgst.c | |||
| @@ -58,19 +58,18 @@ | |||
| 58 | 58 | ||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> |
| 60 | #include "rmd_locl.h" | 60 | #include "rmd_locl.h" |
| 61 | #include <openssl/fips.h> | ||
| 62 | #include <openssl/opensslv.h> | 61 | #include <openssl/opensslv.h> |
| 63 | 62 | ||
| 64 | const char *RMD160_version="RIPE-MD160" OPENSSL_VERSION_PTEXT; | 63 | const char RMD160_version[]="RIPE-MD160" OPENSSL_VERSION_PTEXT; |
| 65 | 64 | ||
| 66 | # ifdef RMD160_ASM | 65 | # ifdef RMD160_ASM |
| 67 | void ripemd160_block_x86(RIPEMD160_CTX *c, unsigned long *p,int num); | 66 | void ripemd160_block_x86(RIPEMD160_CTX *c, unsigned long *p,size_t num); |
| 68 | # define ripemd160_block ripemd160_block_x86 | 67 | # define ripemd160_block ripemd160_block_x86 |
| 69 | # else | 68 | # else |
| 70 | void ripemd160_block(RIPEMD160_CTX *c, unsigned long *p,int num); | 69 | void ripemd160_block(RIPEMD160_CTX *c, unsigned long *p,size_t num); |
| 71 | # endif | 70 | # endif |
| 72 | 71 | ||
| 73 | FIPS_NON_FIPS_MD_Init(RIPEMD160) | 72 | int RIPEMD160_Init(RIPEMD160_CTX *c) |
| 74 | { | 73 | { |
| 75 | c->A=RIPEMD160_A; | 74 | c->A=RIPEMD160_A; |
| 76 | c->B=RIPEMD160_B; | 75 | c->B=RIPEMD160_B; |
| @@ -83,212 +82,11 @@ FIPS_NON_FIPS_MD_Init(RIPEMD160) | |||
| 83 | return 1; | 82 | return 1; |
| 84 | } | 83 | } |
| 85 | 84 | ||
| 86 | #ifndef ripemd160_block_host_order | ||
| 87 | #ifdef X | ||
| 88 | #undef X | ||
| 89 | #endif | ||
| 90 | #define X(i) XX[i] | ||
| 91 | void ripemd160_block_host_order (RIPEMD160_CTX *ctx, const void *p, int num) | ||
| 92 | { | ||
| 93 | const RIPEMD160_LONG *XX=p; | ||
| 94 | register volatile unsigned MD32_REG_T A,B,C,D,E; | ||
| 95 | register unsigned MD32_REG_T a,b,c,d,e; | ||
| 96 | |||
| 97 | for (;num--;XX+=HASH_LBLOCK) | ||
| 98 | { | ||
| 99 | |||
| 100 | A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; | ||
| 101 | |||
| 102 | RIP1(A,B,C,D,E,WL00,SL00); | ||
| 103 | RIP1(E,A,B,C,D,WL01,SL01); | ||
| 104 | RIP1(D,E,A,B,C,WL02,SL02); | ||
| 105 | RIP1(C,D,E,A,B,WL03,SL03); | ||
| 106 | RIP1(B,C,D,E,A,WL04,SL04); | ||
| 107 | RIP1(A,B,C,D,E,WL05,SL05); | ||
| 108 | RIP1(E,A,B,C,D,WL06,SL06); | ||
| 109 | RIP1(D,E,A,B,C,WL07,SL07); | ||
| 110 | RIP1(C,D,E,A,B,WL08,SL08); | ||
| 111 | RIP1(B,C,D,E,A,WL09,SL09); | ||
| 112 | RIP1(A,B,C,D,E,WL10,SL10); | ||
| 113 | RIP1(E,A,B,C,D,WL11,SL11); | ||
| 114 | RIP1(D,E,A,B,C,WL12,SL12); | ||
| 115 | RIP1(C,D,E,A,B,WL13,SL13); | ||
| 116 | RIP1(B,C,D,E,A,WL14,SL14); | ||
| 117 | RIP1(A,B,C,D,E,WL15,SL15); | ||
| 118 | |||
| 119 | RIP2(E,A,B,C,D,WL16,SL16,KL1); | ||
| 120 | RIP2(D,E,A,B,C,WL17,SL17,KL1); | ||
| 121 | RIP2(C,D,E,A,B,WL18,SL18,KL1); | ||
| 122 | RIP2(B,C,D,E,A,WL19,SL19,KL1); | ||
| 123 | RIP2(A,B,C,D,E,WL20,SL20,KL1); | ||
| 124 | RIP2(E,A,B,C,D,WL21,SL21,KL1); | ||
| 125 | RIP2(D,E,A,B,C,WL22,SL22,KL1); | ||
| 126 | RIP2(C,D,E,A,B,WL23,SL23,KL1); | ||
| 127 | RIP2(B,C,D,E,A,WL24,SL24,KL1); | ||
| 128 | RIP2(A,B,C,D,E,WL25,SL25,KL1); | ||
| 129 | RIP2(E,A,B,C,D,WL26,SL26,KL1); | ||
| 130 | RIP2(D,E,A,B,C,WL27,SL27,KL1); | ||
| 131 | RIP2(C,D,E,A,B,WL28,SL28,KL1); | ||
| 132 | RIP2(B,C,D,E,A,WL29,SL29,KL1); | ||
| 133 | RIP2(A,B,C,D,E,WL30,SL30,KL1); | ||
| 134 | RIP2(E,A,B,C,D,WL31,SL31,KL1); | ||
| 135 | |||
| 136 | RIP3(D,E,A,B,C,WL32,SL32,KL2); | ||
| 137 | RIP3(C,D,E,A,B,WL33,SL33,KL2); | ||
| 138 | RIP3(B,C,D,E,A,WL34,SL34,KL2); | ||
| 139 | RIP3(A,B,C,D,E,WL35,SL35,KL2); | ||
| 140 | RIP3(E,A,B,C,D,WL36,SL36,KL2); | ||
| 141 | RIP3(D,E,A,B,C,WL37,SL37,KL2); | ||
| 142 | RIP3(C,D,E,A,B,WL38,SL38,KL2); | ||
| 143 | RIP3(B,C,D,E,A,WL39,SL39,KL2); | ||
| 144 | RIP3(A,B,C,D,E,WL40,SL40,KL2); | ||
| 145 | RIP3(E,A,B,C,D,WL41,SL41,KL2); | ||
| 146 | RIP3(D,E,A,B,C,WL42,SL42,KL2); | ||
| 147 | RIP3(C,D,E,A,B,WL43,SL43,KL2); | ||
| 148 | RIP3(B,C,D,E,A,WL44,SL44,KL2); | ||
| 149 | RIP3(A,B,C,D,E,WL45,SL45,KL2); | ||
| 150 | RIP3(E,A,B,C,D,WL46,SL46,KL2); | ||
| 151 | RIP3(D,E,A,B,C,WL47,SL47,KL2); | ||
| 152 | |||
| 153 | RIP4(C,D,E,A,B,WL48,SL48,KL3); | ||
| 154 | RIP4(B,C,D,E,A,WL49,SL49,KL3); | ||
| 155 | RIP4(A,B,C,D,E,WL50,SL50,KL3); | ||
| 156 | RIP4(E,A,B,C,D,WL51,SL51,KL3); | ||
| 157 | RIP4(D,E,A,B,C,WL52,SL52,KL3); | ||
| 158 | RIP4(C,D,E,A,B,WL53,SL53,KL3); | ||
| 159 | RIP4(B,C,D,E,A,WL54,SL54,KL3); | ||
| 160 | RIP4(A,B,C,D,E,WL55,SL55,KL3); | ||
| 161 | RIP4(E,A,B,C,D,WL56,SL56,KL3); | ||
| 162 | RIP4(D,E,A,B,C,WL57,SL57,KL3); | ||
| 163 | RIP4(C,D,E,A,B,WL58,SL58,KL3); | ||
| 164 | RIP4(B,C,D,E,A,WL59,SL59,KL3); | ||
| 165 | RIP4(A,B,C,D,E,WL60,SL60,KL3); | ||
| 166 | RIP4(E,A,B,C,D,WL61,SL61,KL3); | ||
| 167 | RIP4(D,E,A,B,C,WL62,SL62,KL3); | ||
| 168 | RIP4(C,D,E,A,B,WL63,SL63,KL3); | ||
| 169 | |||
| 170 | RIP5(B,C,D,E,A,WL64,SL64,KL4); | ||
| 171 | RIP5(A,B,C,D,E,WL65,SL65,KL4); | ||
| 172 | RIP5(E,A,B,C,D,WL66,SL66,KL4); | ||
| 173 | RIP5(D,E,A,B,C,WL67,SL67,KL4); | ||
| 174 | RIP5(C,D,E,A,B,WL68,SL68,KL4); | ||
| 175 | RIP5(B,C,D,E,A,WL69,SL69,KL4); | ||
| 176 | RIP5(A,B,C,D,E,WL70,SL70,KL4); | ||
| 177 | RIP5(E,A,B,C,D,WL71,SL71,KL4); | ||
| 178 | RIP5(D,E,A,B,C,WL72,SL72,KL4); | ||
| 179 | RIP5(C,D,E,A,B,WL73,SL73,KL4); | ||
| 180 | RIP5(B,C,D,E,A,WL74,SL74,KL4); | ||
| 181 | RIP5(A,B,C,D,E,WL75,SL75,KL4); | ||
| 182 | RIP5(E,A,B,C,D,WL76,SL76,KL4); | ||
| 183 | RIP5(D,E,A,B,C,WL77,SL77,KL4); | ||
| 184 | RIP5(C,D,E,A,B,WL78,SL78,KL4); | ||
| 185 | RIP5(B,C,D,E,A,WL79,SL79,KL4); | ||
| 186 | |||
| 187 | a=A; b=B; c=C; d=D; e=E; | ||
| 188 | /* Do other half */ | ||
| 189 | A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; | ||
| 190 | |||
| 191 | RIP5(A,B,C,D,E,WR00,SR00,KR0); | ||
| 192 | RIP5(E,A,B,C,D,WR01,SR01,KR0); | ||
| 193 | RIP5(D,E,A,B,C,WR02,SR02,KR0); | ||
| 194 | RIP5(C,D,E,A,B,WR03,SR03,KR0); | ||
| 195 | RIP5(B,C,D,E,A,WR04,SR04,KR0); | ||
| 196 | RIP5(A,B,C,D,E,WR05,SR05,KR0); | ||
| 197 | RIP5(E,A,B,C,D,WR06,SR06,KR0); | ||
| 198 | RIP5(D,E,A,B,C,WR07,SR07,KR0); | ||
| 199 | RIP5(C,D,E,A,B,WR08,SR08,KR0); | ||
| 200 | RIP5(B,C,D,E,A,WR09,SR09,KR0); | ||
| 201 | RIP5(A,B,C,D,E,WR10,SR10,KR0); | ||
| 202 | RIP5(E,A,B,C,D,WR11,SR11,KR0); | ||
| 203 | RIP5(D,E,A,B,C,WR12,SR12,KR0); | ||
| 204 | RIP5(C,D,E,A,B,WR13,SR13,KR0); | ||
| 205 | RIP5(B,C,D,E,A,WR14,SR14,KR0); | ||
| 206 | RIP5(A,B,C,D,E,WR15,SR15,KR0); | ||
| 207 | |||
| 208 | RIP4(E,A,B,C,D,WR16,SR16,KR1); | ||
| 209 | RIP4(D,E,A,B,C,WR17,SR17,KR1); | ||
| 210 | RIP4(C,D,E,A,B,WR18,SR18,KR1); | ||
| 211 | RIP4(B,C,D,E,A,WR19,SR19,KR1); | ||
| 212 | RIP4(A,B,C,D,E,WR20,SR20,KR1); | ||
| 213 | RIP4(E,A,B,C,D,WR21,SR21,KR1); | ||
| 214 | RIP4(D,E,A,B,C,WR22,SR22,KR1); | ||
| 215 | RIP4(C,D,E,A,B,WR23,SR23,KR1); | ||
| 216 | RIP4(B,C,D,E,A,WR24,SR24,KR1); | ||
| 217 | RIP4(A,B,C,D,E,WR25,SR25,KR1); | ||
| 218 | RIP4(E,A,B,C,D,WR26,SR26,KR1); | ||
| 219 | RIP4(D,E,A,B,C,WR27,SR27,KR1); | ||
| 220 | RIP4(C,D,E,A,B,WR28,SR28,KR1); | ||
| 221 | RIP4(B,C,D,E,A,WR29,SR29,KR1); | ||
| 222 | RIP4(A,B,C,D,E,WR30,SR30,KR1); | ||
| 223 | RIP4(E,A,B,C,D,WR31,SR31,KR1); | ||
| 224 | |||
| 225 | RIP3(D,E,A,B,C,WR32,SR32,KR2); | ||
| 226 | RIP3(C,D,E,A,B,WR33,SR33,KR2); | ||
| 227 | RIP3(B,C,D,E,A,WR34,SR34,KR2); | ||
| 228 | RIP3(A,B,C,D,E,WR35,SR35,KR2); | ||
| 229 | RIP3(E,A,B,C,D,WR36,SR36,KR2); | ||
| 230 | RIP3(D,E,A,B,C,WR37,SR37,KR2); | ||
| 231 | RIP3(C,D,E,A,B,WR38,SR38,KR2); | ||
| 232 | RIP3(B,C,D,E,A,WR39,SR39,KR2); | ||
| 233 | RIP3(A,B,C,D,E,WR40,SR40,KR2); | ||
| 234 | RIP3(E,A,B,C,D,WR41,SR41,KR2); | ||
| 235 | RIP3(D,E,A,B,C,WR42,SR42,KR2); | ||
| 236 | RIP3(C,D,E,A,B,WR43,SR43,KR2); | ||
| 237 | RIP3(B,C,D,E,A,WR44,SR44,KR2); | ||
| 238 | RIP3(A,B,C,D,E,WR45,SR45,KR2); | ||
| 239 | RIP3(E,A,B,C,D,WR46,SR46,KR2); | ||
| 240 | RIP3(D,E,A,B,C,WR47,SR47,KR2); | ||
| 241 | |||
| 242 | RIP2(C,D,E,A,B,WR48,SR48,KR3); | ||
| 243 | RIP2(B,C,D,E,A,WR49,SR49,KR3); | ||
| 244 | RIP2(A,B,C,D,E,WR50,SR50,KR3); | ||
| 245 | RIP2(E,A,B,C,D,WR51,SR51,KR3); | ||
| 246 | RIP2(D,E,A,B,C,WR52,SR52,KR3); | ||
| 247 | RIP2(C,D,E,A,B,WR53,SR53,KR3); | ||
| 248 | RIP2(B,C,D,E,A,WR54,SR54,KR3); | ||
| 249 | RIP2(A,B,C,D,E,WR55,SR55,KR3); | ||
| 250 | RIP2(E,A,B,C,D,WR56,SR56,KR3); | ||
| 251 | RIP2(D,E,A,B,C,WR57,SR57,KR3); | ||
| 252 | RIP2(C,D,E,A,B,WR58,SR58,KR3); | ||
| 253 | RIP2(B,C,D,E,A,WR59,SR59,KR3); | ||
| 254 | RIP2(A,B,C,D,E,WR60,SR60,KR3); | ||
| 255 | RIP2(E,A,B,C,D,WR61,SR61,KR3); | ||
| 256 | RIP2(D,E,A,B,C,WR62,SR62,KR3); | ||
| 257 | RIP2(C,D,E,A,B,WR63,SR63,KR3); | ||
| 258 | |||
| 259 | RIP1(B,C,D,E,A,WR64,SR64); | ||
| 260 | RIP1(A,B,C,D,E,WR65,SR65); | ||
| 261 | RIP1(E,A,B,C,D,WR66,SR66); | ||
| 262 | RIP1(D,E,A,B,C,WR67,SR67); | ||
| 263 | RIP1(C,D,E,A,B,WR68,SR68); | ||
| 264 | RIP1(B,C,D,E,A,WR69,SR69); | ||
| 265 | RIP1(A,B,C,D,E,WR70,SR70); | ||
| 266 | RIP1(E,A,B,C,D,WR71,SR71); | ||
| 267 | RIP1(D,E,A,B,C,WR72,SR72); | ||
| 268 | RIP1(C,D,E,A,B,WR73,SR73); | ||
| 269 | RIP1(B,C,D,E,A,WR74,SR74); | ||
| 270 | RIP1(A,B,C,D,E,WR75,SR75); | ||
| 271 | RIP1(E,A,B,C,D,WR76,SR76); | ||
| 272 | RIP1(D,E,A,B,C,WR77,SR77); | ||
| 273 | RIP1(C,D,E,A,B,WR78,SR78); | ||
| 274 | RIP1(B,C,D,E,A,WR79,SR79); | ||
| 275 | |||
| 276 | D =ctx->B+c+D; | ||
| 277 | ctx->B=ctx->C+d+E; | ||
| 278 | ctx->C=ctx->D+e+A; | ||
| 279 | ctx->D=ctx->E+a+B; | ||
| 280 | ctx->E=ctx->A+b+C; | ||
| 281 | ctx->A=D; | ||
| 282 | |||
| 283 | } | ||
| 284 | } | ||
| 285 | #endif | ||
| 286 | |||
| 287 | #ifndef ripemd160_block_data_order | 85 | #ifndef ripemd160_block_data_order |
| 288 | #ifdef X | 86 | #ifdef X |
| 289 | #undef X | 87 | #undef X |
| 290 | #endif | 88 | #endif |
| 291 | void ripemd160_block_data_order (RIPEMD160_CTX *ctx, const void *p, int num) | 89 | void ripemd160_block_data_order (RIPEMD160_CTX *ctx, const void *p, size_t num) |
| 292 | { | 90 | { |
| 293 | const unsigned char *data=p; | 91 | const unsigned char *data=p; |
| 294 | register volatile unsigned MD32_REG_T A,B,C,D,E; | 92 | register volatile unsigned MD32_REG_T A,B,C,D,E; |
diff --git a/src/lib/libcrypto/ripemd/rmd_locl.h b/src/lib/libcrypto/ripemd/rmd_locl.h index 7b835dfbd4..f14b346e66 100644 --- a/src/lib/libcrypto/ripemd/rmd_locl.h +++ b/src/lib/libcrypto/ripemd/rmd_locl.h | |||
| @@ -72,28 +72,20 @@ | |||
| 72 | */ | 72 | */ |
| 73 | #ifdef RMD160_ASM | 73 | #ifdef RMD160_ASM |
| 74 | # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) | 74 | # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) |
| 75 | # define ripemd160_block_host_order ripemd160_block_asm_host_order | 75 | # define ripemd160_block_data_order ripemd160_block_asm_data_order |
| 76 | # endif | 76 | # endif |
| 77 | #endif | 77 | #endif |
| 78 | 78 | ||
| 79 | void ripemd160_block_host_order (RIPEMD160_CTX *c, const void *p,int num); | 79 | void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,size_t num); |
| 80 | void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,int num); | ||
| 81 | |||
| 82 | #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) | ||
| 83 | #define ripemd160_block_data_order ripemd160_block_host_order | ||
| 84 | #endif | ||
| 85 | 80 | ||
| 86 | #define DATA_ORDER_IS_LITTLE_ENDIAN | 81 | #define DATA_ORDER_IS_LITTLE_ENDIAN |
| 87 | 82 | ||
| 88 | #define HASH_LONG RIPEMD160_LONG | 83 | #define HASH_LONG RIPEMD160_LONG |
| 89 | #define HASH_LONG_LOG2 RIPEMD160_LONG_LOG2 | ||
| 90 | #define HASH_CTX RIPEMD160_CTX | 84 | #define HASH_CTX RIPEMD160_CTX |
| 91 | #define HASH_CBLOCK RIPEMD160_CBLOCK | 85 | #define HASH_CBLOCK RIPEMD160_CBLOCK |
| 92 | #define HASH_LBLOCK RIPEMD160_LBLOCK | ||
| 93 | #define HASH_UPDATE RIPEMD160_Update | 86 | #define HASH_UPDATE RIPEMD160_Update |
| 94 | #define HASH_TRANSFORM RIPEMD160_Transform | 87 | #define HASH_TRANSFORM RIPEMD160_Transform |
| 95 | #define HASH_FINAL RIPEMD160_Final | 88 | #define HASH_FINAL RIPEMD160_Final |
| 96 | #define HASH_BLOCK_HOST_ORDER ripemd160_block_host_order | ||
| 97 | #define HASH_MAKE_STRING(c,s) do { \ | 89 | #define HASH_MAKE_STRING(c,s) do { \ |
| 98 | unsigned long ll; \ | 90 | unsigned long ll; \ |
| 99 | ll=(c)->A; HOST_l2c(ll,(s)); \ | 91 | ll=(c)->A; HOST_l2c(ll,(s)); \ |
| @@ -102,9 +94,7 @@ void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,int num); | |||
| 102 | ll=(c)->D; HOST_l2c(ll,(s)); \ | 94 | ll=(c)->D; HOST_l2c(ll,(s)); \ |
| 103 | ll=(c)->E; HOST_l2c(ll,(s)); \ | 95 | ll=(c)->E; HOST_l2c(ll,(s)); \ |
| 104 | } while (0) | 96 | } while (0) |
| 105 | #if !defined(L_ENDIAN) || defined(ripemd160_block_data_order) | ||
| 106 | #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order | 97 | #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order |
| 107 | #endif | ||
| 108 | 98 | ||
| 109 | #include "md32_common.h" | 99 | #include "md32_common.h" |
| 110 | 100 | ||
diff --git a/src/lib/libcrypto/ripemd/rmd_one.c b/src/lib/libcrypto/ripemd/rmd_one.c index b88446b267..3efb13758f 100644 --- a/src/lib/libcrypto/ripemd/rmd_one.c +++ b/src/lib/libcrypto/ripemd/rmd_one.c | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | #include <openssl/ripemd.h> | 61 | #include <openssl/ripemd.h> |
| 62 | #include <openssl/crypto.h> | 62 | #include <openssl/crypto.h> |
| 63 | 63 | ||
| 64 | unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, | 64 | unsigned char *RIPEMD160(const unsigned char *d, size_t n, |
| 65 | unsigned char *md) | 65 | unsigned char *md) |
| 66 | { | 66 | { |
| 67 | RIPEMD160_CTX c; | 67 | RIPEMD160_CTX c; |
diff --git a/src/lib/libcrypto/ripemd/rmdtest.c b/src/lib/libcrypto/ripemd/rmdtest.c index d4c709e646..fb34e0e836 100644 --- a/src/lib/libcrypto/ripemd/rmdtest.c +++ b/src/lib/libcrypto/ripemd/rmdtest.c | |||
| @@ -103,19 +103,19 @@ static char *pt(unsigned char *md); | |||
| 103 | int main(int argc, char *argv[]) | 103 | int main(int argc, char *argv[]) |
| 104 | { | 104 | { |
| 105 | int i,err=0; | 105 | int i,err=0; |
| 106 | unsigned char **P,**R; | 106 | char **P,**R; |
| 107 | char *p; | 107 | char *p; |
| 108 | unsigned char md[RIPEMD160_DIGEST_LENGTH]; | 108 | unsigned char md[RIPEMD160_DIGEST_LENGTH]; |
| 109 | 109 | ||
| 110 | P=(unsigned char **)test; | 110 | P=test; |
| 111 | R=(unsigned char **)ret; | 111 | R=ret; |
| 112 | i=1; | 112 | i=1; |
| 113 | while (*P != NULL) | 113 | while (*P != NULL) |
| 114 | { | 114 | { |
| 115 | #ifdef CHARSET_EBCDIC | 115 | #ifdef CHARSET_EBCDIC |
| 116 | ebcdic2ascii((char *)*P, (char *)*P, strlen((char *)*P)); | 116 | ebcdic2ascii((char *)*P, (char *)*P, strlen((char *)*P)); |
| 117 | #endif | 117 | #endif |
| 118 | EVP_Digest(&(P[0][0]),(unsigned long)strlen((char *)*P),md,NULL,EVP_ripemd160(), NULL); | 118 | EVP_Digest(&(P[0][0]),strlen((char *)*P),md,NULL,EVP_ripemd160(), NULL); |
| 119 | p=pt(md); | 119 | p=pt(md); |
| 120 | if (strcmp(p,(char *)*R) != 0) | 120 | if (strcmp(p,(char *)*R) != 0) |
| 121 | { | 121 | { |
