author | zautrix <zautrix> | 2006-02-24 19:41:06 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2006-02-24 19:41:06 (UTC) |
commit | 4e2553b95b2787ed7917073f6b628819b1f017c3 (patch) (unidiff) | |
tree | da5cb746bf3373cb2a368afda082999e6c22751f /pwmanager/libcrypt | |
parent | 08605356c77351d64e14e0fdd69bdb769f933909 (diff) | |
download | kdepimpi-4e2553b95b2787ed7917073f6b628819b1f017c3.zip kdepimpi-4e2553b95b2787ed7917073f6b628819b1f017c3.tar.gz kdepimpi-4e2553b95b2787ed7917073f6b628819b1f017c3.tar.bz2 |
gcc4 fixes
-rw-r--r-- | pwmanager/libcrypt/cipher/serpent.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pwmanager/libcrypt/cipher/serpent.c b/pwmanager/libcrypt/cipher/serpent.c index d606d9f..fb5df20 100644 --- a/pwmanager/libcrypt/cipher/serpent.c +++ b/pwmanager/libcrypt/cipher/serpent.c | |||
@@ -612,143 +612,143 @@ serpent_subkeys_generate (serpent_key_t key, serpent_subkeys_t subkeys) | |||
612 | u32_t k[132]; | 612 | u32_t k[132]; |
613 | u32_t *w = &w_real[8]; | 613 | u32_t *w = &w_real[8]; |
614 | int i, j; | 614 | int i, j; |
615 | 615 | ||
616 | /* Initialize with key values. */ | 616 | /* Initialize with key values. */ |
617 | for (i = 0; i < 8; i++) | 617 | for (i = 0; i < 8; i++) |
618 | w[i - 8] = key[i]; | 618 | w[i - 8] = key[i]; |
619 | 619 | ||
620 | /* Expand to intermediate key using the affine recurrence. */ | 620 | /* Expand to intermediate key using the affine recurrence. */ |
621 | for (i = 0; i < 132; i++) | 621 | for (i = 0; i < 132; i++) |
622 | w[i] = rol (w[i - 8] ^ w[i - 5] ^ w[i - 3] ^ w[i - 1] ^ PHI ^ i, 11); | 622 | w[i] = rol (w[i - 8] ^ w[i - 5] ^ w[i - 3] ^ w[i - 1] ^ PHI ^ i, 11); |
623 | 623 | ||
624 | /* Calculate subkeys via S-Boxes, in bitslice mode. */ | 624 | /* Calculate subkeys via S-Boxes, in bitslice mode. */ |
625 | SBOX (3, w, k, 0); | 625 | SBOX (3, w, k, 0); |
626 | SBOX (2, w, k, 4); | 626 | SBOX (2, w, k, 4); |
627 | SBOX (1, w, k, 8); | 627 | SBOX (1, w, k, 8); |
628 | SBOX (0, w, k, 12); | 628 | SBOX (0, w, k, 12); |
629 | SBOX (7, w, k, 16); | 629 | SBOX (7, w, k, 16); |
630 | SBOX (6, w, k, 20); | 630 | SBOX (6, w, k, 20); |
631 | SBOX (5, w, k, 24); | 631 | SBOX (5, w, k, 24); |
632 | SBOX (4, w, k, 28); | 632 | SBOX (4, w, k, 28); |
633 | SBOX (3, w, k, 32); | 633 | SBOX (3, w, k, 32); |
634 | SBOX (2, w, k, 36); | 634 | SBOX (2, w, k, 36); |
635 | SBOX (1, w, k, 40); | 635 | SBOX (1, w, k, 40); |
636 | SBOX (0, w, k, 44); | 636 | SBOX (0, w, k, 44); |
637 | SBOX (7, w, k, 48); | 637 | SBOX (7, w, k, 48); |
638 | SBOX (6, w, k, 52); | 638 | SBOX (6, w, k, 52); |
639 | SBOX (5, w, k, 56); | 639 | SBOX (5, w, k, 56); |
640 | SBOX (4, w, k, 60); | 640 | SBOX (4, w, k, 60); |
641 | SBOX (3, w, k, 64); | 641 | SBOX (3, w, k, 64); |
642 | SBOX (2, w, k, 68); | 642 | SBOX (2, w, k, 68); |
643 | SBOX (1, w, k, 72); | 643 | SBOX (1, w, k, 72); |
644 | SBOX (0, w, k, 76); | 644 | SBOX (0, w, k, 76); |
645 | SBOX (7, w, k, 80); | 645 | SBOX (7, w, k, 80); |
646 | SBOX (6, w, k, 84); | 646 | SBOX (6, w, k, 84); |
647 | SBOX (5, w, k, 88); | 647 | SBOX (5, w, k, 88); |
648 | SBOX (4, w, k, 92); | 648 | SBOX (4, w, k, 92); |
649 | SBOX (3, w, k, 96); | 649 | SBOX (3, w, k, 96); |
650 | SBOX (2, w, k, 100); | 650 | SBOX (2, w, k, 100); |
651 | SBOX (1, w, k, 104); | 651 | SBOX (1, w, k, 104); |
652 | SBOX (0, w, k, 108); | 652 | SBOX (0, w, k, 108); |
653 | SBOX (7, w, k, 112); | 653 | SBOX (7, w, k, 112); |
654 | SBOX (6, w, k, 116); | 654 | SBOX (6, w, k, 116); |
655 | SBOX (5, w, k, 120); | 655 | SBOX (5, w, k, 120); |
656 | SBOX (4, w, k, 124); | 656 | SBOX (4, w, k, 124); |
657 | SBOX (3, w, k, 128); | 657 | SBOX (3, w, k, 128); |
658 | 658 | ||
659 | /* Renumber subkeys. */ | 659 | /* Renumber subkeys. */ |
660 | for (i = 0; i < ROUNDS + 1; i++) | 660 | for (i = 0; i < ROUNDS + 1; i++) |
661 | for (j = 0; j < 4; j++) | 661 | for (j = 0; j < 4; j++) |
662 | subkeys[i][j] = k[4 * i + j]; | 662 | subkeys[i][j] = k[4 * i + j]; |
663 | } | 663 | } |
664 | 664 | ||
665 | /* Initialize CONTEXT with the key KEY of KEY_LENGTH bits. */ | 665 | /* Initialize CONTEXT with the key KEY of KEY_LENGTH bits. */ |
666 | static void | 666 | static void |
667 | serpent_setkey_internal (serpent_context_t *context, | 667 | serpent_setkey_internal (serpent_context_t *context, |
668 | const byte_t *key, unsigned int key_length) | 668 | const byte_t *key, unsigned int key_length) |
669 | { | 669 | { |
670 | serpent_key_t key_prepared; | 670 | serpent_key_t key_prepared; |
671 | 671 | ||
672 | serpent_key_prepare (key, key_length, key_prepared); | 672 | serpent_key_prepare (key, key_length, key_prepared); |
673 | serpent_subkeys_generate (key_prepared, context->keys); | 673 | serpent_subkeys_generate (key_prepared, context->keys); |
674 | _gcry_burn_stack (272 * sizeof (u32_t)); | 674 | _gcry_burn_stack (272 * sizeof (u32_t)); |
675 | } | 675 | } |
676 | 676 | static const char *serpent_test (void); | |
677 | /* Initialize CTX with the key KEY of KEY_LENGTH bytes. */ | 677 | /* Initialize CTX with the key KEY of KEY_LENGTH bytes. */ |
678 | static gcry_err_code_t | 678 | static gcry_err_code_t |
679 | serpent_setkey (void *ctx, | 679 | serpent_setkey (void *ctx, |
680 | const byte_t *key, unsigned int key_length) | 680 | const byte_t *key, unsigned int key_length) |
681 | { | 681 | { |
682 | serpent_context_t *context = ctx; | 682 | serpent_context_t *context = ctx; |
683 | static const char *serpent_test_ret; | 683 | static const char *serpent_test_ret; |
684 | static int serpent_init_done; | 684 | static int serpent_init_done; |
685 | gcry_err_code_t ret = GPG_ERR_NO_ERROR; | 685 | gcry_err_code_t ret = GPG_ERR_NO_ERROR; |
686 | 686 | ||
687 | if (! serpent_init_done) | 687 | if (! serpent_init_done) |
688 | { | 688 | { |
689 | /* Execute a self-test the first time, Serpent is used. */ | 689 | /* Execute a self-test the first time, Serpent is used. */ |
690 | static const char *serpent_test (void); | 690 | |
691 | 691 | ||
692 | serpent_test_ret = serpent_test (); | 692 | serpent_test_ret = serpent_test (); |
693 | if (serpent_test_ret) | 693 | if (serpent_test_ret) |
694 | log_error ("Serpent test failure: %s\n", serpent_test_ret); | 694 | log_error ("Serpent test failure: %s\n", serpent_test_ret); |
695 | serpent_init_done = 1; | 695 | serpent_init_done = 1; |
696 | } | 696 | } |
697 | 697 | ||
698 | if (serpent_test_ret) | 698 | if (serpent_test_ret) |
699 | ret = GPG_ERR_SELFTEST_FAILED; | 699 | ret = GPG_ERR_SELFTEST_FAILED; |
700 | else | 700 | else |
701 | { | 701 | { |
702 | serpent_setkey_internal (context, key, key_length); | 702 | serpent_setkey_internal (context, key, key_length); |
703 | _gcry_burn_stack (sizeof (serpent_key_t)); | 703 | _gcry_burn_stack (sizeof (serpent_key_t)); |
704 | } | 704 | } |
705 | 705 | ||
706 | return ret; | 706 | return ret; |
707 | } | 707 | } |
708 | 708 | ||
709 | static void | 709 | static void |
710 | serpent_encrypt_internal (serpent_context_t *context, | 710 | serpent_encrypt_internal (serpent_context_t *context, |
711 | const serpent_block_t input, serpent_block_t output) | 711 | const serpent_block_t input, serpent_block_t output) |
712 | { | 712 | { |
713 | serpent_block_t b, b_next; | 713 | serpent_block_t b, b_next; |
714 | int round = 0; | 714 | int round = 0; |
715 | 715 | ||
716 | #ifdef WORDS_BIGENDIAN | 716 | #ifdef WORDS_BIGENDIAN |
717 | b[0] = byte_swap_32 (input[0]); | 717 | b[0] = byte_swap_32 (input[0]); |
718 | b[1] = byte_swap_32 (input[1]); | 718 | b[1] = byte_swap_32 (input[1]); |
719 | b[2] = byte_swap_32 (input[2]); | 719 | b[2] = byte_swap_32 (input[2]); |
720 | b[3] = byte_swap_32 (input[3]); | 720 | b[3] = byte_swap_32 (input[3]); |
721 | #else | 721 | #else |
722 | b[0] = input[0]; | 722 | b[0] = input[0]; |
723 | b[1] = input[1]; | 723 | b[1] = input[1]; |
724 | b[2] = input[2]; | 724 | b[2] = input[2]; |
725 | b[3] = input[3]; | 725 | b[3] = input[3]; |
726 | #endif | 726 | #endif |
727 | 727 | ||
728 | ROUND (0, context->keys, b, b_next); | 728 | ROUND (0, context->keys, b, b_next); |
729 | ROUND (1, context->keys, b, b_next); | 729 | ROUND (1, context->keys, b, b_next); |
730 | ROUND (2, context->keys, b, b_next); | 730 | ROUND (2, context->keys, b, b_next); |
731 | ROUND (3, context->keys, b, b_next); | 731 | ROUND (3, context->keys, b, b_next); |
732 | ROUND (4, context->keys, b, b_next); | 732 | ROUND (4, context->keys, b, b_next); |
733 | ROUND (5, context->keys, b, b_next); | 733 | ROUND (5, context->keys, b, b_next); |
734 | ROUND (6, context->keys, b, b_next); | 734 | ROUND (6, context->keys, b, b_next); |
735 | ROUND (7, context->keys, b, b_next); | 735 | ROUND (7, context->keys, b, b_next); |
736 | ROUND (0, context->keys, b, b_next); | 736 | ROUND (0, context->keys, b, b_next); |
737 | ROUND (1, context->keys, b, b_next); | 737 | ROUND (1, context->keys, b, b_next); |
738 | ROUND (2, context->keys, b, b_next); | 738 | ROUND (2, context->keys, b, b_next); |
739 | ROUND (3, context->keys, b, b_next); | 739 | ROUND (3, context->keys, b, b_next); |
740 | ROUND (4, context->keys, b, b_next); | 740 | ROUND (4, context->keys, b, b_next); |
741 | ROUND (5, context->keys, b, b_next); | 741 | ROUND (5, context->keys, b, b_next); |
742 | ROUND (6, context->keys, b, b_next); | 742 | ROUND (6, context->keys, b, b_next); |
743 | ROUND (7, context->keys, b, b_next); | 743 | ROUND (7, context->keys, b, b_next); |
744 | ROUND (0, context->keys, b, b_next); | 744 | ROUND (0, context->keys, b, b_next); |
745 | ROUND (1, context->keys, b, b_next); | 745 | ROUND (1, context->keys, b, b_next); |
746 | ROUND (2, context->keys, b, b_next); | 746 | ROUND (2, context->keys, b, b_next); |
747 | ROUND (3, context->keys, b, b_next); | 747 | ROUND (3, context->keys, b, b_next); |
748 | ROUND (4, context->keys, b, b_next); | 748 | ROUND (4, context->keys, b, b_next); |
749 | ROUND (5, context->keys, b, b_next); | 749 | ROUND (5, context->keys, b, b_next); |
750 | ROUND (6, context->keys, b, b_next); | 750 | ROUND (6, context->keys, b, b_next); |
751 | ROUND (7, context->keys, b, b_next); | 751 | ROUND (7, context->keys, b, b_next); |
752 | ROUND (0, context->keys, b, b_next); | 752 | ROUND (0, context->keys, b, b_next); |
753 | ROUND (1, context->keys, b, b_next); | 753 | ROUND (1, context->keys, b, b_next); |
754 | ROUND (2, context->keys, b, b_next); | 754 | ROUND (2, context->keys, b, b_next); |