diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/sha/sha1dgst.c | 297 |
1 files changed, 135 insertions, 162 deletions
diff --git a/src/lib/libcrypto/sha/sha1dgst.c b/src/lib/libcrypto/sha/sha1dgst.c index 0822d038be..8703c9d2b5 100644 --- a/src/lib/libcrypto/sha/sha1dgst.c +++ b/src/lib/libcrypto/sha/sha1dgst.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: sha1dgst.c,v 1.23 2023/03/29 04:24:08 jsing Exp $ */ | 1 | /* $OpenBSD: sha1dgst.c,v 1.24 2023/03/29 05:03:34 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 | * |
| @@ -158,29 +158,6 @@ SHA1_Init(SHA_CTX *c) | |||
| 158 | (f)=xa+(e)+K_60_79+ROTATE((a),5)+F_60_79((b),(c),(d)); \ | 158 | (f)=xa+(e)+K_60_79+ROTATE((a),5)+F_60_79((b),(c),(d)); \ |
| 159 | (b)=ROTATE((b),30); | 159 | (b)=ROTATE((b),30); |
| 160 | 160 | ||
| 161 | #ifdef X | ||
| 162 | #undef X | ||
| 163 | #endif | ||
| 164 | #ifndef MD32_XARRAY | ||
| 165 | /* | ||
| 166 | * Originally X was an array. As it's automatic it's natural | ||
| 167 | * to expect RISC compiler to accommodate at least part of it in | ||
| 168 | * the register bank, isn't it? Unfortunately not all compilers | ||
| 169 | * "find" this expectation reasonable:-( On order to make such | ||
| 170 | * compilers generate better code I replace X[] with a bunch of | ||
| 171 | * X0, X1, etc. See the function body below... | ||
| 172 | * <appro@fy.chalmers.se> | ||
| 173 | */ | ||
| 174 | # define X(i) XX##i | ||
| 175 | #else | ||
| 176 | /* | ||
| 177 | * However! Some compilers (most notably HP C) get overwhelmed by | ||
| 178 | * that many local variables so that we have to have the way to | ||
| 179 | * fall down to the original behavior. | ||
| 180 | */ | ||
| 181 | # define X(i) XX[i] | ||
| 182 | #endif | ||
| 183 | |||
| 184 | #if !defined(SHA1_ASM) | 161 | #if !defined(SHA1_ASM) |
| 185 | #include <endian.h> | 162 | #include <endian.h> |
| 186 | static void | 163 | static void |
| @@ -188,12 +165,8 @@ sha1_block_data_order(SHA_CTX *c, const void *p, size_t num) | |||
| 188 | { | 165 | { |
| 189 | const unsigned char *data = p; | 166 | const unsigned char *data = p; |
| 190 | unsigned MD32_REG_T A, B,C, D,E, T, l; | 167 | unsigned MD32_REG_T A, B,C, D,E, T, l; |
| 191 | #ifndef MD32_XARRAY | 168 | unsigned MD32_REG_T X0, X1, X2, X3, X4, X5, X6, X7, |
| 192 | unsigned MD32_REG_T XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, | 169 | X8, X9, X10, X11, X12, X13, X14, X15; |
| 193 | XX8, XX9, XX10, XX11, XX12, XX13, XX14, XX15; | ||
| 194 | #else | ||
| 195 | SHA_LONG XX[16]; | ||
| 196 | #endif | ||
| 197 | 170 | ||
| 198 | A = c->h0; | 171 | A = c->h0; |
| 199 | B = c->h1; | 172 | B = c->h1; |
| @@ -207,159 +180,159 @@ sha1_block_data_order(SHA_CTX *c, const void *p, size_t num) | |||
| 207 | sizeof(SHA_LONG) == 4 && ((size_t)p % 4) == 0) { | 180 | sizeof(SHA_LONG) == 4 && ((size_t)p % 4) == 0) { |
| 208 | const SHA_LONG *W = (const SHA_LONG *)data; | 181 | const SHA_LONG *W = (const SHA_LONG *)data; |
| 209 | 182 | ||
| 210 | X( 0) = W[0]; | 183 | X0 = W[0]; |
| 211 | X( 1) = W[1]; | 184 | X1 = W[1]; |
| 212 | BODY_00_15( 0, A,B, C,D, E,T, X( 0)); | 185 | BODY_00_15( 0, A,B, C,D, E,T, X0); |
| 213 | X( 2) = W[2]; | 186 | X2 = W[2]; |
| 214 | BODY_00_15( 1, T,A, B,C, D,E, X( 1)); | 187 | BODY_00_15( 1, T,A, B,C, D,E, X1); |
| 215 | X( 3) = W[3]; | 188 | X3 = W[3]; |
| 216 | BODY_00_15( 2, E,T, A,B, C,D, X( 2)); | 189 | BODY_00_15( 2, E,T, A,B, C,D, X2); |
| 217 | X( 4) = W[4]; | 190 | X4 = W[4]; |
| 218 | BODY_00_15( 3, D,E, T,A, B,C, X( 3)); | 191 | BODY_00_15( 3, D,E, T,A, B,C, X3); |
| 219 | X( 5) = W[5]; | 192 | X5 = W[5]; |
| 220 | BODY_00_15( 4, C,D, E,T, A,B, X( 4)); | 193 | BODY_00_15( 4, C,D, E,T, A,B, X4); |
| 221 | X( 6) = W[6]; | 194 | X6 = W[6]; |
| 222 | BODY_00_15( 5, B,C, D,E, T,A, X( 5)); | 195 | BODY_00_15( 5, B,C, D,E, T,A, X5); |
| 223 | X( 7) = W[7]; | 196 | X7 = W[7]; |
| 224 | BODY_00_15( 6, A,B, C,D, E,T, X( 6)); | 197 | BODY_00_15( 6, A,B, C,D, E,T, X6); |
| 225 | X( 8) = W[8]; | 198 | X8 = W[8]; |
| 226 | BODY_00_15( 7, T,A, B,C, D,E, X( 7)); | 199 | BODY_00_15( 7, T,A, B,C, D,E, X7); |
| 227 | X( 9) = W[9]; | 200 | X9 = W[9]; |
| 228 | BODY_00_15( 8, E,T, A,B, C,D, X( 8)); | 201 | BODY_00_15( 8, E,T, A,B, C,D, X8); |
| 229 | X(10) = W[10]; | 202 | X10 = W[10]; |
| 230 | BODY_00_15( 9, D,E, T,A, B,C, X( 9)); | 203 | BODY_00_15( 9, D,E, T,A, B,C, X9); |
| 231 | X(11) = W[11]; | 204 | X11 = W[11]; |
| 232 | BODY_00_15(10, C,D, E,T, A,B, X(10)); | 205 | BODY_00_15(10, C,D, E,T, A,B, X10); |
| 233 | X(12) = W[12]; | 206 | X12 = W[12]; |
| 234 | BODY_00_15(11, B,C, D,E, T,A, X(11)); | 207 | BODY_00_15(11, B,C, D,E, T,A, X11); |
| 235 | X(13) = W[13]; | 208 | X13 = W[13]; |
| 236 | BODY_00_15(12, A,B, C,D, E,T, X(12)); | 209 | BODY_00_15(12, A,B, C,D, E,T, X12); |
| 237 | X(14) = W[14]; | 210 | X14 = W[14]; |
| 238 | BODY_00_15(13, T,A, B,C, D,E, X(13)); | 211 | BODY_00_15(13, T,A, B,C, D,E, X13); |
| 239 | X(15) = W[15]; | 212 | X15 = W[15]; |
| 240 | BODY_00_15(14, E,T, A,B, C,D, X(14)); | 213 | BODY_00_15(14, E,T, A,B, C,D, X14); |
| 241 | BODY_00_15(15, D,E, T,A, B,C, X(15)); | 214 | BODY_00_15(15, D,E, T,A, B,C, X15); |
| 242 | 215 | ||
| 243 | data += SHA_CBLOCK; | 216 | data += SHA_CBLOCK; |
| 244 | } else { | 217 | } else { |
| 245 | HOST_c2l(data, l); | 218 | HOST_c2l(data, l); |
| 246 | X( 0) = l; | 219 | X0 = l; |
| 247 | HOST_c2l(data, l); | 220 | HOST_c2l(data, l); |
| 248 | X( 1) = l; | 221 | X1 = l; |
| 249 | BODY_00_15( 0, A,B, C,D, E,T, X( 0)); | 222 | BODY_00_15( 0, A,B, C,D, E,T, X0); |
| 250 | HOST_c2l(data, l); | 223 | HOST_c2l(data, l); |
| 251 | X( 2) = l; | 224 | X2 = l; |
| 252 | BODY_00_15( 1, T,A, B,C, D,E, X( 1)); | 225 | BODY_00_15( 1, T,A, B,C, D,E, X1); |
| 253 | HOST_c2l(data, l); | 226 | HOST_c2l(data, l); |
| 254 | X( 3) = l; | 227 | X3 = l; |
| 255 | BODY_00_15( 2, E,T, A,B, C,D, X( 2)); | 228 | BODY_00_15( 2, E,T, A,B, C,D, X2); |
| 256 | HOST_c2l(data, l); | 229 | HOST_c2l(data, l); |
| 257 | X( 4) = l; | 230 | X4 = l; |
| 258 | BODY_00_15( 3, D,E, T,A, B,C, X( 3)); | 231 | BODY_00_15( 3, D,E, T,A, B,C, X3); |
| 259 | HOST_c2l(data, l); | 232 | HOST_c2l(data, l); |
| 260 | X( 5) = l; | 233 | X5 = l; |
| 261 | BODY_00_15( 4, C,D, E,T, A,B, X( 4)); | 234 | BODY_00_15( 4, C,D, E,T, A,B, X4); |
| 262 | HOST_c2l(data, l); | 235 | HOST_c2l(data, l); |
| 263 | X( 6) = l; | 236 | X6 = l; |
| 264 | BODY_00_15( 5, B,C, D,E, T,A, X( 5)); | 237 | BODY_00_15( 5, B,C, D,E, T,A, X5); |
| 265 | HOST_c2l(data, l); | 238 | HOST_c2l(data, l); |
| 266 | X( 7) = l; | 239 | X7 = l; |
| 267 | BODY_00_15( 6, A,B, C,D, E,T, X( 6)); | 240 | BODY_00_15( 6, A,B, C,D, E,T, X6); |
| 268 | HOST_c2l(data, l); | 241 | HOST_c2l(data, l); |
| 269 | X( 8) = l; | 242 | X8 = l; |
| 270 | BODY_00_15( 7, T,A, B,C, D,E, X( 7)); | 243 | BODY_00_15( 7, T,A, B,C, D,E, X7); |
| 271 | HOST_c2l(data, l); | 244 | HOST_c2l(data, l); |
| 272 | X( 9) = l; | 245 | X9 = l; |
| 273 | BODY_00_15( 8, E,T, A,B, C,D, X( 8)); | 246 | BODY_00_15( 8, E,T, A,B, C,D, X8); |
| 274 | HOST_c2l(data, l); | 247 | HOST_c2l(data, l); |
| 275 | X(10) = l; | 248 | X10 = l; |
| 276 | BODY_00_15( 9, D,E, T,A, B,C, X( 9)); | 249 | BODY_00_15( 9, D,E, T,A, B,C, X9); |
| 277 | HOST_c2l(data, l); | 250 | HOST_c2l(data, l); |
| 278 | X(11) = l; | 251 | X11 = l; |
| 279 | BODY_00_15(10, C,D, E,T, A,B, X(10)); | 252 | BODY_00_15(10, C,D, E,T, A,B, X10); |
| 280 | HOST_c2l(data, l); | 253 | HOST_c2l(data, l); |
| 281 | X(12) = l; | 254 | X12 = l; |
| 282 | BODY_00_15(11, B,C, D,E, T,A, X(11)); | 255 | BODY_00_15(11, B,C, D,E, T,A, X11); |
| 283 | HOST_c2l(data, l); | 256 | HOST_c2l(data, l); |
| 284 | X(13) = l; | 257 | X13 = l; |
| 285 | BODY_00_15(12, A,B, C,D, E,T, X(12)); | 258 | BODY_00_15(12, A,B, C,D, E,T, X12); |
| 286 | HOST_c2l(data, l); | 259 | HOST_c2l(data, l); |
| 287 | X(14) = l; | 260 | X14 = l; |
| 288 | BODY_00_15(13, T,A, B,C, D,E, X(13)); | 261 | BODY_00_15(13, T,A, B,C, D,E, X13); |
| 289 | HOST_c2l(data, l); | 262 | HOST_c2l(data, l); |
| 290 | X(15) = l; | 263 | X15 = l; |
| 291 | BODY_00_15(14, E,T, A,B, C,D, X(14)); | 264 | BODY_00_15(14, E,T, A,B, C,D, X14); |
| 292 | BODY_00_15(15, D,E, T,A, B,C, X(15)); | 265 | BODY_00_15(15, D,E, T,A, B,C, X15); |
| 293 | } | 266 | } |
| 294 | 267 | ||
| 295 | BODY_16_19(16, C,D, E,T, A,B, X( 0), X( 0), X( 2), X( 8), X(13)); | 268 | BODY_16_19(16, C,D, E,T, A,B, X0, X0, X2, X8, X13); |
| 296 | BODY_16_19(17, B,C, D,E, T,A, X( 1), X( 1), X( 3), X( 9), X(14)); | 269 | BODY_16_19(17, B,C, D,E, T,A, X1, X1, X3, X9, X14); |
| 297 | BODY_16_19(18, A,B, C,D, E,T, X( 2), X( 2), X( 4), X(10), X(15)); | 270 | BODY_16_19(18, A,B, C,D, E,T, X2, X2, X4, X10, X15); |
| 298 | BODY_16_19(19, T,A, B,C, D,E, X( 3), X( 3), X( 5), X(11), X( 0)); | 271 | BODY_16_19(19, T,A, B,C, D,E, X3, X3, X5, X11, X0); |
| 299 | 272 | ||
| 300 | BODY_20_31(20, E,T, A,B, C,D, X( 4), X( 4), X( 6), X(12), X( 1)); | 273 | BODY_20_31(20, E,T, A,B, C,D, X4, X4, X6, X12, X1); |
| 301 | BODY_20_31(21, D,E, T,A, B,C, X( 5), X( 5), X( 7), X(13), X( 2)); | 274 | BODY_20_31(21, D,E, T,A, B,C, X5, X5, X7, X13, X2); |
| 302 | BODY_20_31(22, C,D, E,T, A,B, X( 6), X( 6), X( 8), X(14), X( 3)); | 275 | BODY_20_31(22, C,D, E,T, A,B, X6, X6, X8, X14, X3); |
| 303 | BODY_20_31(23, B,C, D,E, T,A, X( 7), X( 7), X( 9), X(15), X( 4)); | 276 | BODY_20_31(23, B,C, D,E, T,A, X7, X7, X9, X15, X4); |
| 304 | BODY_20_31(24, A,B, C,D, E,T, X( 8), X( 8), X(10), X( 0), X( 5)); | 277 | BODY_20_31(24, A,B, C,D, E,T, X8, X8, X10, X0, X5); |
| 305 | BODY_20_31(25, T,A, B,C, D,E, X( 9), X( 9), X(11), X( 1), X( 6)); | 278 | BODY_20_31(25, T,A, B,C, D,E, X9, X9, X11, X1, X6); |
| 306 | BODY_20_31(26, E,T, A,B, C,D, X(10), X(10), X(12), X( 2), X( 7)); | 279 | BODY_20_31(26, E,T, A,B, C,D, X10, X10, X12, X2, X7); |
| 307 | BODY_20_31(27, D,E, T,A, B,C, X(11), X(11), X(13), X( 3), X( 8)); | 280 | BODY_20_31(27, D,E, T,A, B,C, X11, X11, X13, X3, X8); |
| 308 | BODY_20_31(28, C,D, E,T, A,B, X(12), X(12), X(14), X( 4), X( 9)); | 281 | BODY_20_31(28, C,D, E,T, A,B, X12, X12, X14, X4, X9); |
| 309 | BODY_20_31(29, B,C, D,E, T,A, X(13), X(13), X(15), X( 5), X(10)); | 282 | BODY_20_31(29, B,C, D,E, T,A, X13, X13, X15, X5, X10); |
| 310 | BODY_20_31(30, A,B, C,D, E,T, X(14), X(14), X( 0), X( 6), X(11)); | 283 | BODY_20_31(30, A,B, C,D, E,T, X14, X14, X0, X6, X11); |
| 311 | BODY_20_31(31, T,A, B,C, D,E, X(15), X(15), X( 1), X( 7), X(12)); | 284 | BODY_20_31(31, T,A, B,C, D,E, X15, X15, X1, X7, X12); |
| 312 | 285 | ||
| 313 | BODY_32_39(32, E,T, A,B, C,D, X( 0), X( 2), X( 8), X(13)); | 286 | BODY_32_39(32, E,T, A,B, C,D, X0, X2, X8, X13); |
| 314 | BODY_32_39(33, D,E, T,A, B,C, X( 1), X( 3), X( 9), X(14)); | 287 | BODY_32_39(33, D,E, T,A, B,C, X1, X3, X9, X14); |
| 315 | BODY_32_39(34, C,D, E,T, A,B, X( 2), X( 4), X(10), X(15)); | 288 | BODY_32_39(34, C,D, E,T, A,B, X2, X4, X10, X15); |
| 316 | BODY_32_39(35, B,C, D,E, T,A, X( 3), X( 5), X(11), X( 0)); | 289 | BODY_32_39(35, B,C, D,E, T,A, X3, X5, X11, X0); |
| 317 | BODY_32_39(36, A,B, C,D, E,T, X( 4), X( 6), X(12), X( 1)); | 290 | BODY_32_39(36, A,B, C,D, E,T, X4, X6, X12, X1); |
| 318 | BODY_32_39(37, T,A, B,C, D,E, X( 5), X( 7), X(13), X( 2)); | 291 | BODY_32_39(37, T,A, B,C, D,E, X5, X7, X13, X2); |
| 319 | BODY_32_39(38, E,T, A,B, C,D, X( 6), X( 8), X(14), X( 3)); | 292 | BODY_32_39(38, E,T, A,B, C,D, X6, X8, X14, X3); |
| 320 | BODY_32_39(39, D,E, T,A, B,C, X( 7), X( 9), X(15), X( 4)); | 293 | BODY_32_39(39, D,E, T,A, B,C, X7, X9, X15, X4); |
| 321 | 294 | ||
| 322 | BODY_40_59(40, C,D, E,T, A,B, X( 8), X(10), X( 0), X( 5)); | 295 | BODY_40_59(40, C,D, E,T, A,B, X8, X10, X0, X5); |
| 323 | BODY_40_59(41, B,C, D,E, T,A, X( 9), X(11), X( 1), X( 6)); | 296 | BODY_40_59(41, B,C, D,E, T,A, X9, X11, X1, X6); |
| 324 | BODY_40_59(42, A,B, C,D, E,T, X(10), X(12), X( 2), X( 7)); | 297 | BODY_40_59(42, A,B, C,D, E,T, X10, X12, X2, X7); |
| 325 | BODY_40_59(43, T,A, B,C, D,E, X(11), X(13), X( 3), X( 8)); | 298 | BODY_40_59(43, T,A, B,C, D,E, X11, X13, X3, X8); |
| 326 | BODY_40_59(44, E,T, A,B, C,D, X(12), X(14), X( 4), X( 9)); | 299 | BODY_40_59(44, E,T, A,B, C,D, X12, X14, X4, X9); |
| 327 | BODY_40_59(45, D,E, T,A, B,C, X(13), X(15), X( 5), X(10)); | 300 | BODY_40_59(45, D,E, T,A, B,C, X13, X15, X5, X10); |
| 328 | BODY_40_59(46, C,D, E,T, A,B, X(14), X( 0), X( 6), X(11)); | 301 | BODY_40_59(46, C,D, E,T, A,B, X14, X0, X6, X11); |
| 329 | BODY_40_59(47, B,C, D,E, T,A, X(15), X( 1), X( 7), X(12)); | 302 | BODY_40_59(47, B,C, D,E, T,A, X15, X1, X7, X12); |
| 330 | BODY_40_59(48, A,B, C,D, E,T, X( 0), X( 2), X( 8), X(13)); | 303 | BODY_40_59(48, A,B, C,D, E,T, X0, X2, X8, X13); |
| 331 | BODY_40_59(49, T,A, B,C, D,E, X( 1), X( 3), X( 9), X(14)); | 304 | BODY_40_59(49, T,A, B,C, D,E, X1, X3, X9, X14); |
| 332 | BODY_40_59(50, E,T, A,B, C,D, X( 2), X( 4), X(10), X(15)); | 305 | BODY_40_59(50, E,T, A,B, C,D, X2, X4, X10, X15); |
| 333 | BODY_40_59(51, D,E, T,A, B,C, X( 3), X( 5), X(11), X( 0)); | 306 | BODY_40_59(51, D,E, T,A, B,C, X3, X5, X11, X0); |
| 334 | BODY_40_59(52, C,D, E,T, A,B, X( 4), X( 6), X(12), X( 1)); | 307 | BODY_40_59(52, C,D, E,T, A,B, X4, X6, X12, X1); |
| 335 | BODY_40_59(53, B,C, D,E, T,A, X( 5), X( 7), X(13), X( 2)); | 308 | BODY_40_59(53, B,C, D,E, T,A, X5, X7, X13, X2); |
| 336 | BODY_40_59(54, A,B, C,D, E,T, X( 6), X( 8), X(14), X( 3)); | 309 | BODY_40_59(54, A,B, C,D, E,T, X6, X8, X14, X3); |
| 337 | BODY_40_59(55, T,A, B,C, D,E, X( 7), X( 9), X(15), X( 4)); | 310 | BODY_40_59(55, T,A, B,C, D,E, X7, X9, X15, X4); |
| 338 | BODY_40_59(56, E,T, A,B, C,D, X( 8), X(10), X( 0), X( 5)); | 311 | BODY_40_59(56, E,T, A,B, C,D, X8, X10, X0, X5); |
| 339 | BODY_40_59(57, D,E, T,A, B,C, X( 9), X(11), X( 1), X( 6)); | 312 | BODY_40_59(57, D,E, T,A, B,C, X9, X11, X1, X6); |
| 340 | BODY_40_59(58, C,D, E,T, A,B, X(10), X(12), X( 2), X( 7)); | 313 | BODY_40_59(58, C,D, E,T, A,B, X10, X12, X2, X7); |
| 341 | BODY_40_59(59, B,C, D,E, T,A, X(11), X(13), X( 3), X( 8)); | 314 | BODY_40_59(59, B,C, D,E, T,A, X11, X13, X3, X8); |
| 342 | 315 | ||
| 343 | BODY_60_79(60, A,B, C,D, E,T, X(12), X(14), X( 4), X( 9)); | 316 | BODY_60_79(60, A,B, C,D, E,T, X12, X14, X4, X9); |
| 344 | BODY_60_79(61, T,A, B,C, D,E, X(13), X(15), X( 5), X(10)); | 317 | BODY_60_79(61, T,A, B,C, D,E, X13, X15, X5, X10); |
| 345 | BODY_60_79(62, E,T, A,B, C,D, X(14), X( 0), X( 6), X(11)); | 318 | BODY_60_79(62, E,T, A,B, C,D, X14, X0, X6, X11); |
| 346 | BODY_60_79(63, D,E, T,A, B,C, X(15), X( 1), X( 7), X(12)); | 319 | BODY_60_79(63, D,E, T,A, B,C, X15, X1, X7, X12); |
| 347 | BODY_60_79(64, C,D, E,T, A,B, X( 0), X( 2), X( 8), X(13)); | 320 | BODY_60_79(64, C,D, E,T, A,B, X0, X2, X8, X13); |
| 348 | BODY_60_79(65, B,C, D,E, T,A, X( 1), X( 3), X( 9), X(14)); | 321 | BODY_60_79(65, B,C, D,E, T,A, X1, X3, X9, X14); |
| 349 | BODY_60_79(66, A,B, C,D, E,T, X( 2), X( 4), X(10), X(15)); | 322 | BODY_60_79(66, A,B, C,D, E,T, X2, X4, X10, X15); |
| 350 | BODY_60_79(67, T,A, B,C, D,E, X( 3), X( 5), X(11), X( 0)); | 323 | BODY_60_79(67, T,A, B,C, D,E, X3, X5, X11, X0); |
| 351 | BODY_60_79(68, E,T, A,B, C,D, X( 4), X( 6), X(12), X( 1)); | 324 | BODY_60_79(68, E,T, A,B, C,D, X4, X6, X12, X1); |
| 352 | BODY_60_79(69, D,E, T,A, B,C, X( 5), X( 7), X(13), X( 2)); | 325 | BODY_60_79(69, D,E, T,A, B,C, X5, X7, X13, X2); |
| 353 | BODY_60_79(70, C,D, E,T, A,B, X( 6), X( 8), X(14), X( 3)); | 326 | BODY_60_79(70, C,D, E,T, A,B, X6, X8, X14, X3); |
| 354 | BODY_60_79(71, B,C, D,E, T,A, X( 7), X( 9), X(15), X( 4)); | 327 | BODY_60_79(71, B,C, D,E, T,A, X7, X9, X15, X4); |
| 355 | BODY_60_79(72, A,B, C,D, E,T, X( 8), X(10), X( 0), X( 5)); | 328 | BODY_60_79(72, A,B, C,D, E,T, X8, X10, X0, X5); |
| 356 | BODY_60_79(73, T,A, B,C, D,E, X( 9), X(11), X( 1), X( 6)); | 329 | BODY_60_79(73, T,A, B,C, D,E, X9, X11, X1, X6); |
| 357 | BODY_60_79(74, E,T, A,B, C,D, X(10), X(12), X( 2), X( 7)); | 330 | BODY_60_79(74, E,T, A,B, C,D, X10, X12, X2, X7); |
| 358 | BODY_60_79(75, D,E, T,A, B,C, X(11), X(13), X( 3), X( 8)); | 331 | BODY_60_79(75, D,E, T,A, B,C, X11, X13, X3, X8); |
| 359 | BODY_60_79(76, C,D, E,T, A,B, X(12), X(14), X( 4), X( 9)); | 332 | BODY_60_79(76, C,D, E,T, A,B, X12, X14, X4, X9); |
| 360 | BODY_60_79(77, B,C, D,E, T,A, X(13), X(15), X( 5), X(10)); | 333 | BODY_60_79(77, B,C, D,E, T,A, X13, X15, X5, X10); |
| 361 | BODY_60_79(78, A,B, C,D, E,T, X(14), X( 0), X( 6), X(11)); | 334 | BODY_60_79(78, A,B, C,D, E,T, X14, X0, X6, X11); |
| 362 | BODY_60_79(79, T,A, B,C, D,E, X(15), X( 1), X( 7), X(12)); | 335 | BODY_60_79(79, T,A, B,C, D,E, X15, X1, X7, X12); |
| 363 | 336 | ||
| 364 | c->h0 = (c->h0 + E)&0xffffffffL; | 337 | c->h0 = (c->h0 + E)&0xffffffffL; |
| 365 | c->h1 = (c->h1 + T)&0xffffffffL; | 338 | c->h1 = (c->h1 + T)&0xffffffffL; |
