diff options
Diffstat (limited to 'src/lib/libcrypto/bf/blowfish.c')
-rw-r--r-- | src/lib/libcrypto/bf/blowfish.c | 74 |
1 files changed, 1 insertions, 73 deletions
diff --git a/src/lib/libcrypto/bf/blowfish.c b/src/lib/libcrypto/bf/blowfish.c index 4fa8a563f1..fa6d66fcea 100644 --- a/src/lib/libcrypto/bf/blowfish.c +++ b/src/lib/libcrypto/bf/blowfish.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: blowfish.c,v 1.1 2024/03/27 11:24:15 jsing Exp $ */ | 1 | /* $OpenBSD: blowfish.c,v 1.2 2024/03/27 11:54:29 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 | * |
@@ -344,7 +344,6 @@ static const BF_KEY bf_init = { | |||
344 | void | 344 | void |
345 | BF_encrypt(BF_LONG *data, const BF_KEY *key) | 345 | BF_encrypt(BF_LONG *data, const BF_KEY *key) |
346 | { | 346 | { |
347 | #ifndef BF_PTR2 | ||
348 | BF_LONG l, r; | 347 | BF_LONG l, r; |
349 | const BF_LONG *p, *s; | 348 | const BF_LONG *p, *s; |
350 | 349 | ||
@@ -380,41 +379,6 @@ BF_encrypt(BF_LONG *data, const BF_KEY *key) | |||
380 | 379 | ||
381 | data[1] = l&0xffffffffL; | 380 | data[1] = l&0xffffffffL; |
382 | data[0] = r&0xffffffffL; | 381 | data[0] = r&0xffffffffL; |
383 | #else | ||
384 | BF_LONG l, r,t, *k; | ||
385 | |||
386 | l = data[0]; | ||
387 | r = data[1]; | ||
388 | k = (BF_LONG*)key; | ||
389 | |||
390 | l ^= k[0]; | ||
391 | BF_ENC(r, l, k, 1); | ||
392 | BF_ENC(l, r, k, 2); | ||
393 | BF_ENC(r, l, k, 3); | ||
394 | BF_ENC(l, r, k, 4); | ||
395 | BF_ENC(r, l, k, 5); | ||
396 | BF_ENC(l, r, k, 6); | ||
397 | BF_ENC(r, l, k, 7); | ||
398 | BF_ENC(l, r, k, 8); | ||
399 | BF_ENC(r, l, k, 9); | ||
400 | BF_ENC(l, r,k, 10); | ||
401 | BF_ENC(r, l,k, 11); | ||
402 | BF_ENC(l, r,k, 12); | ||
403 | BF_ENC(r, l,k, 13); | ||
404 | BF_ENC(l, r,k, 14); | ||
405 | BF_ENC(r, l,k, 15); | ||
406 | BF_ENC(l, r,k, 16); | ||
407 | #if BF_ROUNDS == 20 | ||
408 | BF_ENC(r, l,k, 17); | ||
409 | BF_ENC(l, r,k, 18); | ||
410 | BF_ENC(r, l,k, 19); | ||
411 | BF_ENC(l, r,k, 20); | ||
412 | #endif | ||
413 | r ^= k[BF_ROUNDS + 1]; | ||
414 | |||
415 | data[1] = l&0xffffffffL; | ||
416 | data[0] = r&0xffffffffL; | ||
417 | #endif | ||
418 | } | 382 | } |
419 | 383 | ||
420 | #ifndef BF_DEFAULT_OPTIONS | 384 | #ifndef BF_DEFAULT_OPTIONS |
@@ -422,7 +386,6 @@ BF_encrypt(BF_LONG *data, const BF_KEY *key) | |||
422 | void | 386 | void |
423 | BF_decrypt(BF_LONG *data, const BF_KEY *key) | 387 | BF_decrypt(BF_LONG *data, const BF_KEY *key) |
424 | { | 388 | { |
425 | #ifndef BF_PTR2 | ||
426 | BF_LONG l, r; | 389 | BF_LONG l, r; |
427 | const BF_LONG *p, *s; | 390 | const BF_LONG *p, *s; |
428 | 391 | ||
@@ -458,41 +421,6 @@ BF_decrypt(BF_LONG *data, const BF_KEY *key) | |||
458 | 421 | ||
459 | data[1] = l&0xffffffffL; | 422 | data[1] = l&0xffffffffL; |
460 | data[0] = r&0xffffffffL; | 423 | data[0] = r&0xffffffffL; |
461 | #else | ||
462 | BF_LONG l, r,t, *k; | ||
463 | |||
464 | l = data[0]; | ||
465 | r = data[1]; | ||
466 | k = (BF_LONG *)key; | ||
467 | |||
468 | l ^= k[BF_ROUNDS + 1]; | ||
469 | #if BF_ROUNDS == 20 | ||
470 | BF_ENC(r, l,k, 20); | ||
471 | BF_ENC(l, r,k, 19); | ||
472 | BF_ENC(r, l,k, 18); | ||
473 | BF_ENC(l, r,k, 17); | ||
474 | #endif | ||
475 | BF_ENC(r, l,k, 16); | ||
476 | BF_ENC(l, r,k, 15); | ||
477 | BF_ENC(r, l,k, 14); | ||
478 | BF_ENC(l, r,k, 13); | ||
479 | BF_ENC(r, l,k, 12); | ||
480 | BF_ENC(l, r,k, 11); | ||
481 | BF_ENC(r, l,k, 10); | ||
482 | BF_ENC(l, r, k, 9); | ||
483 | BF_ENC(r, l, k, 8); | ||
484 | BF_ENC(l, r, k, 7); | ||
485 | BF_ENC(r, l, k, 6); | ||
486 | BF_ENC(l, r, k, 5); | ||
487 | BF_ENC(r, l, k, 4); | ||
488 | BF_ENC(l, r, k, 3); | ||
489 | BF_ENC(r, l, k, 2); | ||
490 | BF_ENC(l, r, k, 1); | ||
491 | r ^= k[0]; | ||
492 | |||
493 | data[1] = l&0xffffffffL; | ||
494 | data[0] = r&0xffffffffL; | ||
495 | #endif | ||
496 | } | 424 | } |
497 | 425 | ||
498 | void | 426 | void |