diff options
| author | jsing <> | 2023-08-10 12:27:35 +0000 |
|---|---|---|
| committer | jsing <> | 2023-08-10 12:27:35 +0000 |
| commit | ee984a836be616b177076456216000c4ab5b69f7 (patch) | |
| tree | 3e6dd287a71fff1f13cf0d5dcfaf478b65e4966a /src/lib/libc | |
| parent | 73405132b1c817fdf18733cd0c7e5e2e170e8cb5 (diff) | |
| download | openbsd-ee984a836be616b177076456216000c4ab5b69f7.tar.gz openbsd-ee984a836be616b177076456216000c4ab5b69f7.tar.bz2 openbsd-ee984a836be616b177076456216000c4ab5b69f7.zip | |
Mop up the last MD32_XARRAY.
MD32_XARRAY was added as a workaround for a broken HP C compiler (circa
1999). Clean it up to simplify the code.
No change in generated assembly.
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/ripemd/ripemd.c | 384 |
1 files changed, 187 insertions, 197 deletions
diff --git a/src/lib/libcrypto/ripemd/ripemd.c b/src/lib/libcrypto/ripemd/ripemd.c index e22afe8e11..344d9f6689 100644 --- a/src/lib/libcrypto/ripemd/ripemd.c +++ b/src/lib/libcrypto/ripemd/ripemd.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ripemd.c,v 1.6 2023/08/10 11:06:36 jsing Exp $ */ | 1 | /* $OpenBSD: ripemd.c,v 1.7 2023/08/10 12:27:35 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -182,24 +182,14 @@ RIPEMD160_Init(RIPEMD160_CTX *c) | |||
| 182 | } | 182 | } |
| 183 | 183 | ||
| 184 | #ifndef ripemd160_block_data_order | 184 | #ifndef ripemd160_block_data_order |
| 185 | #ifdef X | ||
| 186 | #undef X | ||
| 187 | #endif | ||
| 188 | void | 185 | void |
| 189 | ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p, size_t num) | 186 | ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p, size_t num) |
| 190 | { | 187 | { |
| 191 | const unsigned char *data = p; | 188 | const unsigned char *data = p; |
| 192 | unsigned int A, B, C, D, E; | 189 | unsigned int A, B, C, D, E; |
| 193 | unsigned int a, b, c, d, e, l; | 190 | unsigned int a, b, c, d, e, l; |
| 194 | #ifndef MD32_XARRAY | 191 | unsigned int X0, X1, X2, X3, X4, X5, X6, X7, |
| 195 | /* See comment in crypto/sha/sha_locl.h for details. */ | 192 | X8, X9, X10, X11, X12, X13, X14, X15; |
| 196 | unsigned int XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, | ||
| 197 | XX8, XX9, XX10, XX11, XX12, XX13, XX14, XX15; | ||
| 198 | # define X(i) XX##i | ||
| 199 | #else | ||
| 200 | RIPEMD160_LONG XX[16]; | ||
| 201 | # define X(i) XX[i] | ||
| 202 | #endif | ||
| 203 | 193 | ||
| 204 | for (; num--; ) { | 194 | for (; num--; ) { |
| 205 | 195 | ||
| @@ -210,121 +200,121 @@ ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p, size_t num) | |||
| 210 | E = ctx->E; | 200 | E = ctx->E; |
| 211 | 201 | ||
| 212 | HOST_c2l(data, l); | 202 | HOST_c2l(data, l); |
| 213 | X( 0) = l; | 203 | X0 = l; |
| 214 | HOST_c2l(data, l); | 204 | HOST_c2l(data, l); |
| 215 | X( 1) = l; | 205 | X1 = l; |
| 216 | RIP1(A, B, C, D, E, X(0), 11); | 206 | RIP1(A, B, C, D, E, X0, 11); |
| 217 | HOST_c2l(data, l); | 207 | HOST_c2l(data, l); |
| 218 | X( 2) = l; | 208 | X2 = l; |
| 219 | RIP1(E, A, B, C, D, X(1), 14); | 209 | RIP1(E, A, B, C, D, X1, 14); |
| 220 | HOST_c2l(data, l); | 210 | HOST_c2l(data, l); |
| 221 | X( 3) = l; | 211 | X3 = l; |
| 222 | RIP1(D, E, A, B, C, X(2), 15); | 212 | RIP1(D, E, A, B, C, X2, 15); |
| 223 | HOST_c2l(data, l); | 213 | HOST_c2l(data, l); |
| 224 | X( 4) = l; | 214 | X4 = l; |
| 225 | RIP1(C, D, E, A, B, X(3), 12); | 215 | RIP1(C, D, E, A, B, X3, 12); |
| 226 | HOST_c2l(data, l); | 216 | HOST_c2l(data, l); |
| 227 | X( 5) = l; | 217 | X5 = l; |
| 228 | RIP1(B, C, D, E, A, X(4), 5); | 218 | RIP1(B, C, D, E, A, X4, 5); |
| 229 | HOST_c2l(data, l); | 219 | HOST_c2l(data, l); |
| 230 | X( 6) = l; | 220 | X6 = l; |
| 231 | RIP1(A, B, C, D, E, X(5), 8); | 221 | RIP1(A, B, C, D, E, X5, 8); |
| 232 | HOST_c2l(data, l); | 222 | HOST_c2l(data, l); |
| 233 | X( 7) = l; | 223 | X7 = l; |
| 234 | RIP1(E, A, B, C, D, X(6), 7); | 224 | RIP1(E, A, B, C, D, X6, 7); |
| 235 | HOST_c2l(data, l); | 225 | HOST_c2l(data, l); |
| 236 | X( 8) = l; | 226 | X8 = l; |
| 237 | RIP1(D, E, A, B, C, X(7), 9); | 227 | RIP1(D, E, A, B, C, X7, 9); |
| 238 | HOST_c2l(data, l); | 228 | HOST_c2l(data, l); |
| 239 | X( 9) = l; | 229 | X9 = l; |
| 240 | RIP1(C, D, E, A, B, X(8), 11); | 230 | RIP1(C, D, E, A, B, X8, 11); |
| 241 | HOST_c2l(data, l); | 231 | HOST_c2l(data, l); |
| 242 | X(10) = l; | 232 | X10 = l; |
| 243 | RIP1(B, C, D, E, A, X(9), 13); | 233 | RIP1(B, C, D, E, A, X9, 13); |
| 244 | HOST_c2l(data, l); | 234 | HOST_c2l(data, l); |
| 245 | X(11) = l; | 235 | X11 = l; |
| 246 | RIP1(A, B, C, D, E, X(10), 14); | 236 | RIP1(A, B, C, D, E, X10, 14); |
| 247 | HOST_c2l(data, l); | 237 | HOST_c2l(data, l); |
| 248 | X(12) = l; | 238 | X12 = l; |
| 249 | RIP1(E, A, B, C, D, X(11), 15); | 239 | RIP1(E, A, B, C, D, X11, 15); |
| 250 | HOST_c2l(data, l); | 240 | HOST_c2l(data, l); |
| 251 | X(13) = l; | 241 | X13 = l; |
| 252 | RIP1(D, E, A, B, C, X(12), 6); | 242 | RIP1(D, E, A, B, C, X12, 6); |
| 253 | HOST_c2l(data, l); | 243 | HOST_c2l(data, l); |
| 254 | X(14) = l; | 244 | X14 = l; |
| 255 | RIP1(C, D, E, A, B, X(13), 7); | 245 | RIP1(C, D, E, A, B, X13, 7); |
| 256 | HOST_c2l(data, l); | 246 | HOST_c2l(data, l); |
| 257 | X(15) = l; | 247 | X15 = l; |
| 258 | RIP1(B, C, D, E, A, X(14), 9); | 248 | RIP1(B, C, D, E, A, X14, 9); |
| 259 | RIP1(A, B, C, D, E, X(15), 8); | 249 | RIP1(A, B, C, D, E, X15, 8); |
| 260 | 250 | ||
| 261 | RIP2(E, A, B, C, D, X(7), 7, KL1); | 251 | RIP2(E, A, B, C, D, X7, 7, KL1); |
| 262 | RIP2(D, E, A, B, C, X(4), 6, KL1); | 252 | RIP2(D, E, A, B, C, X4, 6, KL1); |
| 263 | RIP2(C, D, E, A, B, X(13), 8, KL1); | 253 | RIP2(C, D, E, A, B, X13, 8, KL1); |
| 264 | RIP2(B, C, D, E, A, X(1), 13, KL1); | 254 | RIP2(B, C, D, E, A, X1, 13, KL1); |
| 265 | RIP2(A, B, C, D, E, X(10), 11, KL1); | 255 | RIP2(A, B, C, D, E, X10, 11, KL1); |
| 266 | RIP2(E, A, B, C, D, X(6), 9, KL1); | 256 | RIP2(E, A, B, C, D, X6, 9, KL1); |
| 267 | RIP2(D, E, A, B, C, X(15), 7, KL1); | 257 | RIP2(D, E, A, B, C, X15, 7, KL1); |
| 268 | RIP2(C, D, E, A, B, X(3), 15, KL1); | 258 | RIP2(C, D, E, A, B, X3, 15, KL1); |
| 269 | RIP2(B, C, D, E, A, X(12), 7, KL1); | 259 | RIP2(B, C, D, E, A, X12, 7, KL1); |
| 270 | RIP2(A, B, C, D, E, X(0), 12, KL1); | 260 | RIP2(A, B, C, D, E, X0, 12, KL1); |
| 271 | RIP2(E, A, B, C, D, X(9), 15, KL1); | 261 | RIP2(E, A, B, C, D, X9, 15, KL1); |
| 272 | RIP2(D, E, A, B, C, X(5), 9, KL1); | 262 | RIP2(D, E, A, B, C, X5, 9, KL1); |
| 273 | RIP2(C, D, E, A, B, X(2), 11, KL1); | 263 | RIP2(C, D, E, A, B, X2, 11, KL1); |
| 274 | RIP2(B, C, D, E, A, X(14), 7, KL1); | 264 | RIP2(B, C, D, E, A, X14, 7, KL1); |
| 275 | RIP2(A, B, C, D, E, X(11), 13, KL1); | 265 | RIP2(A, B, C, D, E, X11, 13, KL1); |
| 276 | RIP2(E, A, B, C, D, X(8), 12, KL1); | 266 | RIP2(E, A, B, C, D, X8, 12, KL1); |
| 277 | 267 | ||
| 278 | RIP3(D, E, A, B, C, X(3), 11, KL2); | 268 | RIP3(D, E, A, B, C, X3, 11, KL2); |
| 279 | RIP3(C, D, E, A, B, X(10), 13, KL2); | 269 | RIP3(C, D, E, A, B, X10, 13, KL2); |
| 280 | RIP3(B, C, D, E, A, X(14), 6, KL2); | 270 | RIP3(B, C, D, E, A, X14, 6, KL2); |
| 281 | RIP3(A, B, C, D, E, X(4), 7, KL2); | 271 | RIP3(A, B, C, D, E, X4, 7, KL2); |
| 282 | RIP3(E, A, B, C, D, X(9), 14, KL2); | 272 | RIP3(E, A, B, C, D, X9, 14, KL2); |
| 283 | RIP3(D, E, A, B, C, X(15), 9, KL2); | 273 | RIP3(D, E, A, B, C, X15, 9, KL2); |
| 284 | RIP3(C, D, E, A, B, X(8), 13, KL2); | 274 | RIP3(C, D, E, A, B, X8, 13, KL2); |
| 285 | RIP3(B, C, D, E, A, X(1), 15, KL2); | 275 | RIP3(B, C, D, E, A, X1, 15, KL2); |
| 286 | RIP3(A, B, C, D, E, X(2), 14, KL2); | 276 | RIP3(A, B, C, D, E, X2, 14, KL2); |
| 287 | RIP3(E, A, B, C, D, X(7), 8, KL2); | 277 | RIP3(E, A, B, C, D, X7, 8, KL2); |
| 288 | RIP3(D, E, A, B, C, X(0), 13, KL2); | 278 | RIP3(D, E, A, B, C, X0, 13, KL2); |
| 289 | RIP3(C, D, E, A, B, X(6), 6, KL2); | 279 | RIP3(C, D, E, A, B, X6, 6, KL2); |
| 290 | RIP3(B, C, D, E, A, X(13), 5, KL2); | 280 | RIP3(B, C, D, E, A, X13, 5, KL2); |
| 291 | RIP3(A, B, C, D, E, X(11), 12, KL2); | 281 | RIP3(A, B, C, D, E, X11, 12, KL2); |
| 292 | RIP3(E, A, B, C, D, X(5), 7, KL2); | 282 | RIP3(E, A, B, C, D, X5, 7, KL2); |
| 293 | RIP3(D, E, A, B, C, X(12), 5, KL2); | 283 | RIP3(D, E, A, B, C, X12, 5, KL2); |
| 294 | 284 | ||
| 295 | RIP4(C, D, E, A, B, X(1), 11, KL3); | 285 | RIP4(C, D, E, A, B, X1, 11, KL3); |
| 296 | RIP4(B, C, D, E, A, X(9), 12, KL3); | 286 | RIP4(B, C, D, E, A, X9, 12, KL3); |
| 297 | RIP4(A, B, C, D, E, X(11), 14, KL3); | 287 | RIP4(A, B, C, D, E, X11, 14, KL3); |
| 298 | RIP4(E, A, B, C, D, X(10), 15, KL3); | 288 | RIP4(E, A, B, C, D, X10, 15, KL3); |
| 299 | RIP4(D, E, A, B, C, X(0), 14, KL3); | 289 | RIP4(D, E, A, B, C, X0, 14, KL3); |
| 300 | RIP4(C, D, E, A, B, X(8), 15, KL3); | 290 | RIP4(C, D, E, A, B, X8, 15, KL3); |
| 301 | RIP4(B, C, D, E, A, X(12), 9, KL3); | 291 | RIP4(B, C, D, E, A, X12, 9, KL3); |
| 302 | RIP4(A, B, C, D, E, X(4), 8, KL3); | 292 | RIP4(A, B, C, D, E, X4, 8, KL3); |
| 303 | RIP4(E, A, B, C, D, X(13), 9, KL3); | 293 | RIP4(E, A, B, C, D, X13, 9, KL3); |
| 304 | RIP4(D, E, A, B, C, X(3), 14, KL3); | 294 | RIP4(D, E, A, B, C, X3, 14, KL3); |
| 305 | RIP4(C, D, E, A, B, X(7), 5, KL3); | 295 | RIP4(C, D, E, A, B, X7, 5, KL3); |
| 306 | RIP4(B, C, D, E, A, X(15), 6, KL3); | 296 | RIP4(B, C, D, E, A, X15, 6, KL3); |
| 307 | RIP4(A, B, C, D, E, X(14), 8, KL3); | 297 | RIP4(A, B, C, D, E, X14, 8, KL3); |
| 308 | RIP4(E, A, B, C, D, X(5), 6, KL3); | 298 | RIP4(E, A, B, C, D, X5, 6, KL3); |
| 309 | RIP4(D, E, A, B, C, X(6), 5, KL3); | 299 | RIP4(D, E, A, B, C, X6, 5, KL3); |
| 310 | RIP4(C, D, E, A, B, X(2), 12, KL3); | 300 | RIP4(C, D, E, A, B, X2, 12, KL3); |
| 311 | 301 | ||
| 312 | RIP5(B, C, D, E, A, X(4), 9, KL4); | 302 | RIP5(B, C, D, E, A, X4, 9, KL4); |
| 313 | RIP5(A, B, C, D, E, X(0), 15, KL4); | 303 | RIP5(A, B, C, D, E, X0, 15, KL4); |
| 314 | RIP5(E, A, B, C, D, X(5), 5, KL4); | 304 | RIP5(E, A, B, C, D, X5, 5, KL4); |
| 315 | RIP5(D, E, A, B, C, X(9), 11, KL4); | 305 | RIP5(D, E, A, B, C, X9, 11, KL4); |
| 316 | RIP5(C, D, E, A, B, X(7), 6, KL4); | 306 | RIP5(C, D, E, A, B, X7, 6, KL4); |
| 317 | RIP5(B, C, D, E, A, X(12), 8, KL4); | 307 | RIP5(B, C, D, E, A, X12, 8, KL4); |
| 318 | RIP5(A, B, C, D, E, X(2), 13, KL4); | 308 | RIP5(A, B, C, D, E, X2, 13, KL4); |
| 319 | RIP5(E, A, B, C, D, X(10), 12, KL4); | 309 | RIP5(E, A, B, C, D, X10, 12, KL4); |
| 320 | RIP5(D, E, A, B, C, X(14), 5, KL4); | 310 | RIP5(D, E, A, B, C, X14, 5, KL4); |
| 321 | RIP5(C, D, E, A, B, X(1), 12, KL4); | 311 | RIP5(C, D, E, A, B, X1, 12, KL4); |
| 322 | RIP5(B, C, D, E, A, X(3), 13, KL4); | 312 | RIP5(B, C, D, E, A, X3, 13, KL4); |
| 323 | RIP5(A, B, C, D, E, X(8), 14, KL4); | 313 | RIP5(A, B, C, D, E, X8, 14, KL4); |
| 324 | RIP5(E, A, B, C, D, X(11), 11, KL4); | 314 | RIP5(E, A, B, C, D, X11, 11, KL4); |
| 325 | RIP5(D, E, A, B, C, X(6), 8, KL4); | 315 | RIP5(D, E, A, B, C, X6, 8, KL4); |
| 326 | RIP5(C, D, E, A, B, X(15), 5, KL4); | 316 | RIP5(C, D, E, A, B, X15, 5, KL4); |
| 327 | RIP5(B, C, D, E, A, X(13), 6, KL4); | 317 | RIP5(B, C, D, E, A, X13, 6, KL4); |
| 328 | 318 | ||
| 329 | a = A; | 319 | a = A; |
| 330 | b = B; | 320 | b = B; |
| @@ -338,90 +328,90 @@ ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p, size_t num) | |||
| 338 | D = ctx->D; | 328 | D = ctx->D; |
| 339 | E = ctx->E; | 329 | E = ctx->E; |
| 340 | 330 | ||
| 341 | RIP5(A, B, C, D, E, X(5), 8, KR0); | 331 | RIP5(A, B, C, D, E, X5, 8, KR0); |
| 342 | RIP5(E, A, B, C, D, X(14), 9, KR0); | 332 | RIP5(E, A, B, C, D, X14, 9, KR0); |
| 343 | RIP5(D, E, A, B, C, X(7), 9, KR0); | 333 | RIP5(D, E, A, B, C, X7, 9, KR0); |
| 344 | RIP5(C, D, E, A, B, X(0), 11, KR0); | 334 | RIP5(C, D, E, A, B, X0, 11, KR0); |
| 345 | RIP5(B, C, D, E, A, X(9), 13, KR0); | 335 | RIP5(B, C, D, E, A, X9, 13, KR0); |
| 346 | RIP5(A, B, C, D, E, X(2), 15, KR0); | 336 | RIP5(A, B, C, D, E, X2, 15, KR0); |
| 347 | RIP5(E, A, B, C, D, X(11), 15, KR0); | 337 | RIP5(E, A, B, C, D, X11, 15, KR0); |
| 348 | RIP5(D, E, A, B, C, X(4), 5, KR0); | 338 | RIP5(D, E, A, B, C, X4, 5, KR0); |
| 349 | RIP5(C, D, E, A, B, X(13), 7, KR0); | 339 | RIP5(C, D, E, A, B, X13, 7, KR0); |
| 350 | RIP5(B, C, D, E, A, X(6), 7, KR0); | 340 | RIP5(B, C, D, E, A, X6, 7, KR0); |
| 351 | RIP5(A, B, C, D, E, X(15), 8, KR0); | 341 | RIP5(A, B, C, D, E, X15, 8, KR0); |
| 352 | RIP5(E, A, B, C, D, X(8), 11, KR0); | 342 | RIP5(E, A, B, C, D, X8, 11, KR0); |
| 353 | RIP5(D, E, A, B, C, X(1), 14, KR0); | 343 | RIP5(D, E, A, B, C, X1, 14, KR0); |
| 354 | RIP5(C, D, E, A, B, X(10), 14, KR0); | 344 | RIP5(C, D, E, A, B, X10, 14, KR0); |
| 355 | RIP5(B, C, D, E, A, X(3), 12, KR0); | 345 | RIP5(B, C, D, E, A, X3, 12, KR0); |
| 356 | RIP5(A, B, C, D, E, X(12), 6, KR0); | 346 | RIP5(A, B, C, D, E, X12, 6, KR0); |
| 357 | 347 | ||
| 358 | RIP4(E, A, B, C, D, X(6), 9, KR1); | 348 | RIP4(E, A, B, C, D, X6, 9, KR1); |
| 359 | RIP4(D, E, A, B, C, X(11), 13, KR1); | 349 | RIP4(D, E, A, B, C, X11, 13, KR1); |
| 360 | RIP4(C, D, E, A, B, X(3), 15, KR1); | 350 | RIP4(C, D, E, A, B, X3, 15, KR1); |
| 361 | RIP4(B, C, D, E, A, X(7), 7, KR1); | 351 | RIP4(B, C, D, E, A, X7, 7, KR1); |
| 362 | RIP4(A, B, C, D, E, X(0), 12, KR1); | 352 | RIP4(A, B, C, D, E, X0, 12, KR1); |
| 363 | RIP4(E, A, B, C, D, X(13), 8, KR1); | 353 | RIP4(E, A, B, C, D, X13, 8, KR1); |
| 364 | RIP4(D, E, A, B, C, X(5), 9, KR1); | 354 | RIP4(D, E, A, B, C, X5, 9, KR1); |
| 365 | RIP4(C, D, E, A, B, X(10), 11, KR1); | 355 | RIP4(C, D, E, A, B, X10, 11, KR1); |
| 366 | RIP4(B, C, D, E, A, X(14), 7, KR1); | 356 | RIP4(B, C, D, E, A, X14, 7, KR1); |
| 367 | RIP4(A, B, C, D, E, X(15), 7, KR1); | 357 | RIP4(A, B, C, D, E, X15, 7, KR1); |
| 368 | RIP4(E, A, B, C, D, X(8), 12, KR1); | 358 | RIP4(E, A, B, C, D, X8, 12, KR1); |
| 369 | RIP4(D, E, A, B, C, X(12), 7, KR1); | 359 | RIP4(D, E, A, B, C, X12, 7, KR1); |
| 370 | RIP4(C, D, E, A, B, X(4), 6, KR1); | 360 | RIP4(C, D, E, A, B, X4, 6, KR1); |
| 371 | RIP4(B, C, D, E, A, X(9), 15, KR1); | 361 | RIP4(B, C, D, E, A, X9, 15, KR1); |
| 372 | RIP4(A, B, C, D, E, X(1), 13, KR1); | 362 | RIP4(A, B, C, D, E, X1, 13, KR1); |
| 373 | RIP4(E, A, B, C, D, X(2), 11, KR1); | 363 | RIP4(E, A, B, C, D, X2, 11, KR1); |
| 374 | 364 | ||
| 375 | RIP3(D, E, A, B, C, X(15), 9, KR2); | 365 | RIP3(D, E, A, B, C, X15, 9, KR2); |
| 376 | RIP3(C, D, E, A, B, X(5), 7, KR2); | 366 | RIP3(C, D, E, A, B, X5, 7, KR2); |
| 377 | RIP3(B, C, D, E, A, X(1), 15, KR2); | 367 | RIP3(B, C, D, E, A, X1, 15, KR2); |
| 378 | RIP3(A, B, C, D, E, X(3), 11, KR2); | 368 | RIP3(A, B, C, D, E, X3, 11, KR2); |
| 379 | RIP3(E, A, B, C, D, X(7), 8, KR2); | 369 | RIP3(E, A, B, C, D, X7, 8, KR2); |
| 380 | RIP3(D, E, A, B, C, X(14), 6, KR2); | 370 | RIP3(D, E, A, B, C, X14, 6, KR2); |
| 381 | RIP3(C, D, E, A, B, X(6), 6, KR2); | 371 | RIP3(C, D, E, A, B, X6, 6, KR2); |
| 382 | RIP3(B, C, D, E, A, X(9), 14, KR2); | 372 | RIP3(B, C, D, E, A, X9, 14, KR2); |
| 383 | RIP3(A, B, C, D, E, X(11), 12, KR2); | 373 | RIP3(A, B, C, D, E, X11, 12, KR2); |
| 384 | RIP3(E, A, B, C, D, X(8), 13, KR2); | 374 | RIP3(E, A, B, C, D, X8, 13, KR2); |
| 385 | RIP3(D, E, A, B, C, X(12), 5, KR2); | 375 | RIP3(D, E, A, B, C, X12, 5, KR2); |
| 386 | RIP3(C, D, E, A, B, X(2), 14, KR2); | 376 | RIP3(C, D, E, A, B, X2, 14, KR2); |
| 387 | RIP3(B, C, D, E, A, X(10), 13, KR2); | 377 | RIP3(B, C, D, E, A, X10, 13, KR2); |
| 388 | RIP3(A, B, C, D, E, X(0), 13, KR2); | 378 | RIP3(A, B, C, D, E, X0, 13, KR2); |
| 389 | RIP3(E, A, B, C, D, X(4), 7, KR2); | 379 | RIP3(E, A, B, C, D, X4, 7, KR2); |
| 390 | RIP3(D, E, A, B, C, X(13), 5, KR2); | 380 | RIP3(D, E, A, B, C, X13, 5, KR2); |
| 391 | 381 | ||
| 392 | RIP2(C, D, E, A, B, X(8), 15, KR3); | 382 | RIP2(C, D, E, A, B, X8, 15, KR3); |
| 393 | RIP2(B, C, D, E, A, X(6), 5, KR3); | 383 | RIP2(B, C, D, E, A, X6, 5, KR3); |
| 394 | RIP2(A, B, C, D, E, X(4), 8, KR3); | 384 | RIP2(A, B, C, D, E, X4, 8, KR3); |
| 395 | RIP2(E, A, B, C, D, X(1), 11, KR3); | 385 | RIP2(E, A, B, C, D, X1, 11, KR3); |
| 396 | RIP2(D, E, A, B, C, X(3), 14, KR3); | 386 | RIP2(D, E, A, B, C, X3, 14, KR3); |
| 397 | RIP2(C, D, E, A, B, X(11), 14, KR3); | 387 | RIP2(C, D, E, A, B, X11, 14, KR3); |
| 398 | RIP2(B, C, D, E, A, X(15), 6, KR3); | 388 | RIP2(B, C, D, E, A, X15, 6, KR3); |
| 399 | RIP2(A, B, C, D, E, X(0), 14, KR3); | 389 | RIP2(A, B, C, D, E, X0, 14, KR3); |
| 400 | RIP2(E, A, B, C, D, X(5), 6, KR3); | 390 | RIP2(E, A, B, C, D, X5, 6, KR3); |
| 401 | RIP2(D, E, A, B, C, X(12), 9, KR3); | 391 | RIP2(D, E, A, B, C, X12, 9, KR3); |
| 402 | RIP2(C, D, E, A, B, X(2), 12, KR3); | 392 | RIP2(C, D, E, A, B, X2, 12, KR3); |
| 403 | RIP2(B, C, D, E, A, X(13), 9, KR3); | 393 | RIP2(B, C, D, E, A, X13, 9, KR3); |
| 404 | RIP2(A, B, C, D, E, X(9), 12, KR3); | 394 | RIP2(A, B, C, D, E, X9, 12, KR3); |
| 405 | RIP2(E, A, B, C, D, X(7), 5, KR3); | 395 | RIP2(E, A, B, C, D, X7, 5, KR3); |
| 406 | RIP2(D, E, A, B, C, X(10), 15, KR3); | 396 | RIP2(D, E, A, B, C, X10, 15, KR3); |
| 407 | RIP2(C, D, E, A, B, X(14), 8, KR3); | 397 | RIP2(C, D, E, A, B, X14, 8, KR3); |
| 408 | 398 | ||
| 409 | RIP1(B, C, D, E, A, X(12), 8); | 399 | RIP1(B, C, D, E, A, X12, 8); |
| 410 | RIP1(A, B, C, D, E, X(15), 5); | 400 | RIP1(A, B, C, D, E, X15, 5); |
| 411 | RIP1(E, A, B, C, D, X(10), 12); | 401 | RIP1(E, A, B, C, D, X10, 12); |
| 412 | RIP1(D, E, A, B, C, X(4), 9); | 402 | RIP1(D, E, A, B, C, X4, 9); |
| 413 | RIP1(C, D, E, A, B, X(1), 12); | 403 | RIP1(C, D, E, A, B, X1, 12); |
| 414 | RIP1(B, C, D, E, A, X(5), 5); | 404 | RIP1(B, C, D, E, A, X5, 5); |
| 415 | RIP1(A, B, C, D, E, X(8), 14); | 405 | RIP1(A, B, C, D, E, X8, 14); |
| 416 | RIP1(E, A, B, C, D, X(7), 6); | 406 | RIP1(E, A, B, C, D, X7, 6); |
| 417 | RIP1(D, E, A, B, C, X(6), 8); | 407 | RIP1(D, E, A, B, C, X6, 8); |
| 418 | RIP1(C, D, E, A, B, X(2), 13); | 408 | RIP1(C, D, E, A, B, X2, 13); |
| 419 | RIP1(B, C, D, E, A, X(13), 6); | 409 | RIP1(B, C, D, E, A, X13, 6); |
| 420 | RIP1(A, B, C, D, E, X(14), 5); | 410 | RIP1(A, B, C, D, E, X14, 5); |
| 421 | RIP1(E, A, B, C, D, X(0), 15); | 411 | RIP1(E, A, B, C, D, X0, 15); |
| 422 | RIP1(D, E, A, B, C, X(3), 13); | 412 | RIP1(D, E, A, B, C, X3, 13); |
| 423 | RIP1(C, D, E, A, B, X(9), 11); | 413 | RIP1(C, D, E, A, B, X9, 11); |
| 424 | RIP1(B, C, D, E, A, X(11), 11); | 414 | RIP1(B, C, D, E, A, X11, 11); |
| 425 | 415 | ||
| 426 | D = ctx->B + c + D; | 416 | D = ctx->B + c + D; |
| 427 | ctx->B = ctx->C + d + E; | 417 | ctx->B = ctx->C + d + E; |
