Lines Matching +full:2 +full:c

3  * cast6.c - Cast6 cipher algorithm [rfc2612].
9 * Copyright (C) 2003 Kartikey Mahendra Bhatt <kartik_me@hotmail.com>.
98 key[4] ^= F3(key[5], Tr[i % 4][2], Tm[i][2]); in W()
100 key[2] ^= F2(key[3], Tr[i % 4][4], Tm[i][4]); in W()
101 key[1] ^= F3(key[2], Tr[i % 4][5], Tm[i][5]); in W()
106 int __cast6_setkey(struct cast6_ctx *c, const u8 *in_key, unsigned int key_len) in __cast6_setkey() argument
120 key[2] = be32_to_cpu(p_key[2]); /* C */ in __cast6_setkey()
128 W(key, 2 * i); in __cast6_setkey()
129 W(key, 2 * i + 1); in __cast6_setkey()
131 c->Kr[i][0] = key[0] & 0x1f; in __cast6_setkey()
132 c->Kr[i][1] = key[2] & 0x1f; in __cast6_setkey()
133 c->Kr[i][2] = key[4] & 0x1f; in __cast6_setkey()
134 c->Kr[i][3] = key[6] & 0x1f; in __cast6_setkey()
136 c->Km[i][0] = key[7]; in __cast6_setkey()
137 c->Km[i][1] = key[5]; in __cast6_setkey()
138 c->Km[i][2] = key[3]; in __cast6_setkey()
139 c->Km[i][3] = key[1]; in __cast6_setkey()
156 block[2] ^= F1(block[3], Kr[0], Km[0]); in Q()
157 block[1] ^= F2(block[2], Kr[1], Km[1]); in Q()
158 block[0] ^= F3(block[1], Kr[2], Km[2]); in Q()
167 block[0] ^= F3(block[1], Kr[2], Km[2]); in QBAR()
168 block[1] ^= F2(block[2], Kr[1], Km[1]); in QBAR()
169 block[2] ^= F1(block[3], Kr[0], Km[0]); in QBAR()
174 const struct cast6_ctx *c = ctx; in __cast6_encrypt() local
181 block[2] = get_unaligned_be32(inbuf + 8); in __cast6_encrypt()
184 Km = c->Km[0]; Kr = c->Kr[0]; Q(block, Kr, Km); in __cast6_encrypt()
185 Km = c->Km[1]; Kr = c->Kr[1]; Q(block, Kr, Km); in __cast6_encrypt()
186 Km = c->Km[2]; Kr = c->Kr[2]; Q(block, Kr, Km); in __cast6_encrypt()
187 Km = c->Km[3]; Kr = c->Kr[3]; Q(block, Kr, Km); in __cast6_encrypt()
188 Km = c->Km[4]; Kr = c->Kr[4]; Q(block, Kr, Km); in __cast6_encrypt()
189 Km = c->Km[5]; Kr = c->Kr[5]; Q(block, Kr, Km); in __cast6_encrypt()
190 Km = c->Km[6]; Kr = c->Kr[6]; QBAR(block, Kr, Km); in __cast6_encrypt()
191 Km = c->Km[7]; Kr = c->Kr[7]; QBAR(block, Kr, Km); in __cast6_encrypt()
192 Km = c->Km[8]; Kr = c->Kr[8]; QBAR(block, Kr, Km); in __cast6_encrypt()
193 Km = c->Km[9]; Kr = c->Kr[9]; QBAR(block, Kr, Km); in __cast6_encrypt()
194 Km = c->Km[10]; Kr = c->Kr[10]; QBAR(block, Kr, Km); in __cast6_encrypt()
195 Km = c->Km[11]; Kr = c->Kr[11]; QBAR(block, Kr, Km); in __cast6_encrypt()
199 put_unaligned_be32(block[2], outbuf + 8); in __cast6_encrypt()
211 const struct cast6_ctx *c = ctx; in __cast6_decrypt() local
218 block[2] = get_unaligned_be32(inbuf + 8); in __cast6_decrypt()
221 Km = c->Km[11]; Kr = c->Kr[11]; Q(block, Kr, Km); in __cast6_decrypt()
222 Km = c->Km[10]; Kr = c->Kr[10]; Q(block, Kr, Km); in __cast6_decrypt()
223 Km = c->Km[9]; Kr = c->Kr[9]; Q(block, Kr, Km); in __cast6_decrypt()
224 Km = c->Km[8]; Kr = c->Kr[8]; Q(block, Kr, Km); in __cast6_decrypt()
225 Km = c->Km[7]; Kr = c->Kr[7]; Q(block, Kr, Km); in __cast6_decrypt()
226 Km = c->Km[6]; Kr = c->Kr[6]; Q(block, Kr, Km); in __cast6_decrypt()
227 Km = c->Km[5]; Kr = c->Kr[5]; QBAR(block, Kr, Km); in __cast6_decrypt()
228 Km = c->Km[4]; Kr = c->Kr[4]; QBAR(block, Kr, Km); in __cast6_decrypt()
229 Km = c->Km[3]; Kr = c->Kr[3]; QBAR(block, Kr, Km); in __cast6_decrypt()
230 Km = c->Km[2]; Kr = c->Kr[2]; QBAR(block, Kr, Km); in __cast6_decrypt()
231 Km = c->Km[1]; Kr = c->Kr[1]; QBAR(block, Kr, Km); in __cast6_decrypt()
232 Km = c->Km[0]; Kr = c->Kr[0]; QBAR(block, Kr, Km); in __cast6_decrypt()
236 put_unaligned_be32(block[2], outbuf + 8); in __cast6_decrypt()