summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2023-08-10 12:27:35 +0000
committerjsing <>2023-08-10 12:27:35 +0000
commit54037ab22b98d9ba49b187256b41fbe78bc9aae9 (patch)
tree3e6dd287a71fff1f13cf0d5dcfaf478b65e4966a /src/lib
parentda2b70213ef5e51becce23dac0c73dc5f11f2ad5 (diff)
downloadopenbsd-54037ab22b98d9ba49b187256b41fbe78bc9aae9.tar.gz
openbsd-54037ab22b98d9ba49b187256b41fbe78bc9aae9.tar.bz2
openbsd-54037ab22b98d9ba49b187256b41fbe78bc9aae9.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 'src/lib')
-rw-r--r--src/lib/libcrypto/ripemd/ripemd.c384
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
188void 185void
189ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p, size_t num) 186ripemd160_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;