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/rmd_dgst.c | |
| parent | 89181603212b41e95cde36b1be5a146ce8fb2935 (diff) | |
| download | openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.tar.gz openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.tar.bz2 openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.zip | |
resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/ripemd/rmd_dgst.c')
| -rw-r--r-- | src/lib/libcrypto/ripemd/rmd_dgst.c | 212 |
1 files changed, 5 insertions, 207 deletions
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; |
