Lines Matching refs:subRL
796 static void camellia_setup_tail(u64 *subkey, u64 *subRL, int max)
803 subRL[3] ^= subRL[1];
805 subRL[5] ^= subRL[1];
807 subRL[7] ^= subRL[1];
809 subRL[1] ^= (subRL[1] & ~subRL[9]) << 32;
811 dw = (subRL[1] & subRL[9]) >> 32;
812 subRL[1] ^= rol32(dw, 1);
815 subRL[11] ^= subRL[1];
817 subRL[13] ^= subRL[1];
819 subRL[15] ^= subRL[1];
821 subRL[1] ^= (subRL[1] & ~subRL[17]) << 32;
823 dw = (subRL[1] & subRL[17]) >> 32;
824 subRL[1] ^= rol32(dw, 1);
827 subRL[19] ^= subRL[1];
829 subRL[21] ^= subRL[1];
831 subRL[23] ^= subRL[1];
835 subRL[24] ^= subRL[1];
838 kw4 = subRL[25];
840 subRL[1] ^= (subRL[1] & ~subRL[25]) << 32;
842 dw = (subRL[1] & subRL[25]) >> 32;
843 subRL[1] ^= rol32(dw, 1);
846 subRL[27] ^= subRL[1];
848 subRL[29] ^= subRL[1];
850 subRL[31] ^= subRL[1];
852 subRL[32] ^= subRL[1];
855 kw4 = subRL[33];
857 subRL[30] ^= kw4;
859 subRL[28] ^= kw4;
861 subRL[26] ^= kw4;
863 kw4 ^= (kw4 & ~subRL[24]) << 32;
865 dw = (kw4 & subRL[24]) >> 32;
870 subRL[22] ^= kw4;
872 subRL[20] ^= kw4;
874 subRL[18] ^= kw4;
876 kw4 ^= (kw4 & ~subRL[16]) << 32;
878 dw = (kw4 & subRL[16]) >> 32;
882 subRL[14] ^= kw4;
884 subRL[12] ^= kw4;
886 subRL[10] ^= kw4;
888 kw4 ^= (kw4 & ~subRL[8]) << 32;
890 dw = (kw4 & subRL[8]) >> 32;
894 subRL[6] ^= kw4;
896 subRL[4] ^= kw4;
898 subRL[2] ^= kw4;
900 subRL[0] ^= kw4;
903 SET_SUBKEY_LR(0, subRL[0] ^ subRL[2]); /* kw1 */
904 SET_SUBKEY_LR(2, subRL[3]); /* round 1 */
905 SET_SUBKEY_LR(3, subRL[2] ^ subRL[4]); /* round 2 */
906 SET_SUBKEY_LR(4, subRL[3] ^ subRL[5]); /* round 3 */
907 SET_SUBKEY_LR(5, subRL[4] ^ subRL[6]); /* round 4 */
908 SET_SUBKEY_LR(6, subRL[5] ^ subRL[7]); /* round 5 */
910 tl = (subRL[10] >> 32) ^ (subRL[10] & ~subRL[8]);
911 dw = tl & (subRL[8] >> 32); /* FL(kl1) */
912 tr = subRL[10] ^ rol32(dw, 1);
915 SET_SUBKEY_LR(7, subRL[6] ^ tt); /* round 6 */
916 SET_SUBKEY_LR(8, subRL[8]); /* FL(kl1) */
917 SET_SUBKEY_LR(9, subRL[9]); /* FLinv(kl2) */
919 tl = (subRL[7] >> 32) ^ (subRL[7] & ~subRL[9]);
920 dw = tl & (subRL[9] >> 32); /* FLinv(kl2) */
921 tr = subRL[7] ^ rol32(dw, 1);
924 SET_SUBKEY_LR(10, subRL[11] ^ tt); /* round 7 */
925 SET_SUBKEY_LR(11, subRL[10] ^ subRL[12]); /* round 8 */
926 SET_SUBKEY_LR(12, subRL[11] ^ subRL[13]); /* round 9 */
927 SET_SUBKEY_LR(13, subRL[12] ^ subRL[14]); /* round 10 */
928 SET_SUBKEY_LR(14, subRL[13] ^ subRL[15]); /* round 11 */
930 tl = (subRL[18] >> 32) ^ (subRL[18] & ~subRL[16]);
931 dw = tl & (subRL[16] >> 32); /* FL(kl3) */
932 tr = subRL[18] ^ rol32(dw, 1);
935 SET_SUBKEY_LR(15, subRL[14] ^ tt); /* round 12 */
936 SET_SUBKEY_LR(16, subRL[16]); /* FL(kl3) */
937 SET_SUBKEY_LR(17, subRL[17]); /* FLinv(kl4) */
939 tl = (subRL[15] >> 32) ^ (subRL[15] & ~subRL[17]);
940 dw = tl & (subRL[17] >> 32); /* FLinv(kl4) */
941 tr = subRL[15] ^ rol32(dw, 1);
944 SET_SUBKEY_LR(18, subRL[19] ^ tt); /* round 13 */
945 SET_SUBKEY_LR(19, subRL[18] ^ subRL[20]); /* round 14 */
946 SET_SUBKEY_LR(20, subRL[19] ^ subRL[21]); /* round 15 */
947 SET_SUBKEY_LR(21, subRL[20] ^ subRL[22]); /* round 16 */
948 SET_SUBKEY_LR(22, subRL[21] ^ subRL[23]); /* round 17 */
951 SET_SUBKEY_LR(23, subRL[22]); /* round 18 */
952 SET_SUBKEY_LR(24, subRL[24] ^ subRL[23]); /* kw3 */
954 tl = (subRL[26] >> 32) ^ (subRL[26] & ~subRL[24]);
955 dw = tl & (subRL[24] >> 32); /* FL(kl5) */
956 tr = subRL[26] ^ rol32(dw, 1);
959 SET_SUBKEY_LR(23, subRL[22] ^ tt); /* round 18 */
960 SET_SUBKEY_LR(24, subRL[24]); /* FL(kl5) */
961 SET_SUBKEY_LR(25, subRL[25]); /* FLinv(kl6) */
963 tl = (subRL[23] >> 32) ^ (subRL[23] & ~subRL[25]);
964 dw = tl & (subRL[25] >> 32); /* FLinv(kl6) */
965 tr = subRL[23] ^ rol32(dw, 1);
968 SET_SUBKEY_LR(26, subRL[27] ^ tt); /* round 19 */
969 SET_SUBKEY_LR(27, subRL[26] ^ subRL[28]); /* round 20 */
970 SET_SUBKEY_LR(28, subRL[27] ^ subRL[29]); /* round 21 */
971 SET_SUBKEY_LR(29, subRL[28] ^ subRL[30]); /* round 22 */
972 SET_SUBKEY_LR(30, subRL[29] ^ subRL[31]); /* round 23 */
973 SET_SUBKEY_LR(31, subRL[30]); /* round 24 */
974 SET_SUBKEY_LR(32, subRL[32] ^ subRL[31]); /* kw3 */
981 u64 subRL[26];
991 subRL[0] = kl;
993 subRL[1] = kr;
999 subRL[4] = kl;
1001 subRL[5] = kr;
1007 subRL[10] = kl;
1009 subRL[11] = kr;
1015 subRL[13] = kr;
1020 subRL[16] = kl;
1022 subRL[17] = kr;
1028 subRL[18] = kl;
1030 subRL[19] = kr;
1036 subRL[22] = kl;
1038 subRL[23] = kr;
1041 kl = subRL[0];
1042 kr = subRL[1];
1055 subRL[2] = kl;
1056 subRL[3] = kr;
1059 subRL[6] = kl;
1060 subRL[7] = kr;
1063 subRL[8] = kl;
1064 subRL[9] = kr;
1067 subRL[12] = kl;
1070 subRL[14] = kl;
1071 subRL[15] = kr;
1074 subRL[20] = kl;
1075 subRL[21] = kr;
1078 subRL[24] = kl;
1079 subRL[25] = kr;
1081 camellia_setup_tail(subkey, subRL, 24);
1089 u64 subRL[34];
1101 subRL[0] = kl;
1103 subRL[1] = kr;
1106 subRL[12] = kl;
1108 subRL[13] = kr;
1111 subRL[16] = kl;
1113 subRL[17] = kr;
1116 subRL[22] = kl;
1118 subRL[23] = kr;
1121 subRL[30] = kl;
1123 subRL[31] = kr;
1128 subRL[4] = krl;
1130 subRL[5] = krr;
1133 subRL[8] = krl;
1135 subRL[9] = krr;
1138 subRL[18] = krl;
1140 subRL[19] = krr;
1143 subRL[26] = krl;
1145 subRL[27] = krr;
1149 kl = subRL[0] ^ krl;
1150 kr = subRL[1] ^ krr;
1172 subRL[6] = kl;
1174 subRL[7] = kr;
1177 subRL[14] = kl;
1179 subRL[15] = kr;
1183 subRL[24] = kl;
1185 subRL[25] = kr;
1189 subRL[28] = kl;
1191 subRL[29] = kr;
1195 subRL[2] = krl;
1197 subRL[3] = krr;
1200 subRL[10] = krl;
1202 subRL[11] = krr;
1205 subRL[20] = krl;
1207 subRL[21] = krr;
1210 subRL[32] = krl;
1212 subRL[33] = krr;
1214 camellia_setup_tail(subkey, subRL, 32);