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 | |||
@@ -548,271 +548,271 @@ typedef struct serpent_context | |||
548 | SBOX (which, block, block_tmp, 0); \ | 548 | SBOX (which, block, block_tmp, 0); \ |
549 | BLOCK_XOR (block_tmp, subkeys[round]); \ | 549 | BLOCK_XOR (block_tmp, subkeys[round]); \ |
550 | round++; \ | 550 | round++; \ |
551 | } | 551 | } |
552 | 552 | ||
553 | /* Apply an inverse Serpent round to BLOCK, using the SBOX number | 553 | /* Apply an inverse Serpent round to BLOCK, using the SBOX number |
554 | WHICH and the subkeys contained in SUBKEYS. Use BLOCK_TMP as | 554 | WHICH and the subkeys contained in SUBKEYS. Use BLOCK_TMP as |
555 | temporary storage. This macro increments `round'. */ | 555 | temporary storage. This macro increments `round'. */ |
556 | #define ROUND_INVERSE(which, subkey, block, block_tmp) \ | 556 | #define ROUND_INVERSE(which, subkey, block, block_tmp) \ |
557 | { \ | 557 | { \ |
558 | LINEAR_TRANSFORMATION_INVERSE (block); \ | 558 | LINEAR_TRANSFORMATION_INVERSE (block); \ |
559 | SBOX_INVERSE (which, block, block_tmp, 0); \ | 559 | SBOX_INVERSE (which, block, block_tmp, 0); \ |
560 | BLOCK_XOR (block_tmp, subkey[round]); \ | 560 | BLOCK_XOR (block_tmp, subkey[round]); \ |
561 | round--; \ | 561 | round--; \ |
562 | BLOCK_COPY (block, block_tmp); \ | 562 | BLOCK_COPY (block, block_tmp); \ |
563 | } | 563 | } |
564 | 564 | ||
565 | /* Apply the first Serpent round to BLOCK, using the SBOX number WHICH | 565 | /* Apply the first Serpent round to BLOCK, using the SBOX number WHICH |
566 | and the subkeys contained in SUBKEYS. Use BLOCK_TMP as temporary | 566 | and the subkeys contained in SUBKEYS. Use BLOCK_TMP as temporary |
567 | storage. The result will be stored in BLOCK_TMP. This macro | 567 | storage. The result will be stored in BLOCK_TMP. This macro |
568 | increments `round'. */ | 568 | increments `round'. */ |
569 | #define ROUND_FIRST_INVERSE(which, subkeys, block, block_tmp) \ | 569 | #define ROUND_FIRST_INVERSE(which, subkeys, block, block_tmp) \ |
570 | { \ | 570 | { \ |
571 | BLOCK_XOR (block, subkeys[round]); \ | 571 | BLOCK_XOR (block, subkeys[round]); \ |
572 | round--; \ | 572 | round--; \ |
573 | SBOX_INVERSE (which, block, block_tmp, 0); \ | 573 | SBOX_INVERSE (which, block, block_tmp, 0); \ |
574 | BLOCK_XOR (block_tmp, subkeys[round]); \ | 574 | BLOCK_XOR (block_tmp, subkeys[round]); \ |
575 | round--; \ | 575 | round--; \ |
576 | } | 576 | } |
577 | 577 | ||
578 | /* Convert the user provided key KEY of KEY_LENGTH bytes into the | 578 | /* Convert the user provided key KEY of KEY_LENGTH bytes into the |
579 | internally used format. */ | 579 | internally used format. */ |
580 | static void | 580 | static void |
581 | serpent_key_prepare (const byte_t *key, unsigned int key_length, | 581 | serpent_key_prepare (const byte_t *key, unsigned int key_length, |
582 | serpent_key_t key_prepared) | 582 | serpent_key_t key_prepared) |
583 | { | 583 | { |
584 | int i; | 584 | int i; |
585 | 585 | ||
586 | /* Copy key. */ | 586 | /* Copy key. */ |
587 | for (i = 0; i < key_length / 4; i++) | 587 | for (i = 0; i < key_length / 4; i++) |
588 | { | 588 | { |
589 | #ifdef WORDS_BIGENDIAN | 589 | #ifdef WORDS_BIGENDIAN |
590 | key_prepared[i] = byte_swap_32 (((u32_t *) key)[i]); | 590 | key_prepared[i] = byte_swap_32 (((u32_t *) key)[i]); |
591 | #else | 591 | #else |
592 | key_prepared[i] = ((u32_t *) key)[i]; | 592 | key_prepared[i] = ((u32_t *) key)[i]; |
593 | #endif | 593 | #endif |
594 | } | 594 | } |
595 | 595 | ||
596 | if (i < 8) | 596 | if (i < 8) |
597 | { | 597 | { |
598 | /* Key must be padded according to the Serpent | 598 | /* Key must be padded according to the Serpent |
599 | specification. */ | 599 | specification. */ |
600 | key_prepared[i] = 0x00000001; | 600 | key_prepared[i] = 0x00000001; |
601 | 601 | ||
602 | for (i++; i < 8; i++) | 602 | for (i++; i < 8; i++) |
603 | key_prepared[i] = 0; | 603 | key_prepared[i] = 0; |
604 | } | 604 | } |
605 | } | 605 | } |
606 | 606 | ||
607 | /* Derive the 33 subkeys from KEY and store them in SUBKEYS. */ | 607 | /* Derive the 33 subkeys from KEY and store them in SUBKEYS. */ |
608 | static void | 608 | static void |
609 | serpent_subkeys_generate (serpent_key_t key, serpent_subkeys_t subkeys) | 609 | serpent_subkeys_generate (serpent_key_t key, serpent_subkeys_t subkeys) |
610 | { | 610 | { |
611 | u32_t w_real[140]; /* The `prekey'. */ | 611 | u32_t w_real[140]; /* The `prekey'. */ |
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); |
755 | ROUND (3, context->keys, b, b_next); | 755 | ROUND (3, context->keys, b, b_next); |
756 | ROUND (4, context->keys, b, b_next); | 756 | ROUND (4, context->keys, b, b_next); |
757 | ROUND (5, context->keys, b, b_next); | 757 | ROUND (5, context->keys, b, b_next); |
758 | ROUND (6, context->keys, b, b_next); | 758 | ROUND (6, context->keys, b, b_next); |
759 | 759 | ||
760 | ROUND_LAST (7, context->keys, b, b_next); | 760 | ROUND_LAST (7, context->keys, b, b_next); |
761 | 761 | ||
762 | #ifdef WORDS_BIGENDIAN | 762 | #ifdef WORDS_BIGENDIAN |
763 | output[0] = byte_swap_32 (b_next[0]); | 763 | output[0] = byte_swap_32 (b_next[0]); |
764 | output[1] = byte_swap_32 (b_next[1]); | 764 | output[1] = byte_swap_32 (b_next[1]); |
765 | output[2] = byte_swap_32 (b_next[2]); | 765 | output[2] = byte_swap_32 (b_next[2]); |
766 | output[3] = byte_swap_32 (b_next[3]); | 766 | output[3] = byte_swap_32 (b_next[3]); |
767 | #else | 767 | #else |
768 | output[0] = b_next[0]; | 768 | output[0] = b_next[0]; |
769 | output[1] = b_next[1]; | 769 | output[1] = b_next[1]; |
770 | output[2] = b_next[2]; | 770 | output[2] = b_next[2]; |
771 | output[3] = b_next[3]; | 771 | output[3] = b_next[3]; |
772 | #endif | 772 | #endif |
773 | } | 773 | } |
774 | 774 | ||
775 | static void | 775 | static void |
776 | serpent_decrypt_internal (serpent_context_t *context, | 776 | serpent_decrypt_internal (serpent_context_t *context, |
777 | const serpent_block_t input, serpent_block_t output) | 777 | const serpent_block_t input, serpent_block_t output) |
778 | { | 778 | { |
779 | serpent_block_t b, b_next; | 779 | serpent_block_t b, b_next; |
780 | int round = ROUNDS; | 780 | int round = ROUNDS; |
781 | 781 | ||
782 | #ifdef WORDS_BIGENDIAN | 782 | #ifdef WORDS_BIGENDIAN |
783 | b_next[0] = byte_swap_32 (input[0]); | 783 | b_next[0] = byte_swap_32 (input[0]); |
784 | b_next[1] = byte_swap_32 (input[1]); | 784 | b_next[1] = byte_swap_32 (input[1]); |
785 | b_next[2] = byte_swap_32 (input[2]); | 785 | b_next[2] = byte_swap_32 (input[2]); |
786 | b_next[3] = byte_swap_32 (input[3]); | 786 | b_next[3] = byte_swap_32 (input[3]); |
787 | #else | 787 | #else |
788 | b_next[0] = input[0]; | 788 | b_next[0] = input[0]; |
789 | b_next[1] = input[1]; | 789 | b_next[1] = input[1]; |
790 | b_next[2] = input[2]; | 790 | b_next[2] = input[2]; |
791 | b_next[3] = input[3]; | 791 | b_next[3] = input[3]; |
792 | #endif | 792 | #endif |
793 | 793 | ||
794 | ROUND_FIRST_INVERSE (7, context->keys, b_next, b); | 794 | ROUND_FIRST_INVERSE (7, context->keys, b_next, b); |
795 | 795 | ||
796 | ROUND_INVERSE (6, context->keys, b, b_next); | 796 | ROUND_INVERSE (6, context->keys, b, b_next); |
797 | ROUND_INVERSE (5, context->keys, b, b_next); | 797 | ROUND_INVERSE (5, context->keys, b, b_next); |
798 | ROUND_INVERSE (4, context->keys, b, b_next); | 798 | ROUND_INVERSE (4, context->keys, b, b_next); |
799 | ROUND_INVERSE (3, context->keys, b, b_next); | 799 | ROUND_INVERSE (3, context->keys, b, b_next); |
800 | ROUND_INVERSE (2, context->keys, b, b_next); | 800 | ROUND_INVERSE (2, context->keys, b, b_next); |
801 | ROUND_INVERSE (1, context->keys, b, b_next); | 801 | ROUND_INVERSE (1, context->keys, b, b_next); |
802 | ROUND_INVERSE (0, context->keys, b, b_next); | 802 | ROUND_INVERSE (0, context->keys, b, b_next); |
803 | ROUND_INVERSE (7, context->keys, b, b_next); | 803 | ROUND_INVERSE (7, context->keys, b, b_next); |
804 | ROUND_INVERSE (6, context->keys, b, b_next); | 804 | ROUND_INVERSE (6, context->keys, b, b_next); |
805 | ROUND_INVERSE (5, context->keys, b, b_next); | 805 | ROUND_INVERSE (5, context->keys, b, b_next); |
806 | ROUND_INVERSE (4, context->keys, b, b_next); | 806 | ROUND_INVERSE (4, context->keys, b, b_next); |
807 | ROUND_INVERSE (3, context->keys, b, b_next); | 807 | ROUND_INVERSE (3, context->keys, b, b_next); |
808 | ROUND_INVERSE (2, context->keys, b, b_next); | 808 | ROUND_INVERSE (2, context->keys, b, b_next); |
809 | ROUND_INVERSE (1, context->keys, b, b_next); | 809 | ROUND_INVERSE (1, context->keys, b, b_next); |
810 | ROUND_INVERSE (0, context->keys, b, b_next); | 810 | ROUND_INVERSE (0, context->keys, b, b_next); |
811 | ROUND_INVERSE (7, context->keys, b, b_next); | 811 | ROUND_INVERSE (7, context->keys, b, b_next); |
812 | ROUND_INVERSE (6, context->keys, b, b_next); | 812 | ROUND_INVERSE (6, context->keys, b, b_next); |
813 | ROUND_INVERSE (5, context->keys, b, b_next); | 813 | ROUND_INVERSE (5, context->keys, b, b_next); |
814 | ROUND_INVERSE (4, context->keys, b, b_next); | 814 | ROUND_INVERSE (4, context->keys, b, b_next); |
815 | ROUND_INVERSE (3, context->keys, b, b_next); | 815 | ROUND_INVERSE (3, context->keys, b, b_next); |
816 | ROUND_INVERSE (2, context->keys, b, b_next); | 816 | ROUND_INVERSE (2, context->keys, b, b_next); |
817 | ROUND_INVERSE (1, context->keys, b, b_next); | 817 | ROUND_INVERSE (1, context->keys, b, b_next); |
818 | ROUND_INVERSE (0, context->keys, b, b_next); | 818 | ROUND_INVERSE (0, context->keys, b, b_next); |