• Home
  • Raw
  • Download

Lines Matching +full:2 +full:c

2  * cast6.c - Cast6 cipher algorithm [rfc2612].
8 * Copyright (C) 2003 Kartikey Mahendra Bhatt <kartik_me@hotmail.com>.
12 * Software Foundation; either version 2 of the License, or (at your option)
105 key[4] ^= F3(key[5], Tr[i % 4][2], Tm[i][2]); in W()
107 key[2] ^= F2(key[3], Tr[i % 4][4], Tm[i][4]); in W()
108 key[1] ^= F3(key[2], Tr[i % 4][5], Tm[i][5]); in W()
113 int __cast6_setkey(struct cast6_ctx *c, const u8 *in_key, in __cast6_setkey() argument
130 key[2] = be32_to_cpu(p_key[2]); /* C */ in __cast6_setkey()
138 W(key, 2 * i); in __cast6_setkey()
139 W(key, 2 * i + 1); in __cast6_setkey()
141 c->Kr[i][0] = key[0] & 0x1f; in __cast6_setkey()
142 c->Kr[i][1] = key[2] & 0x1f; in __cast6_setkey()
143 c->Kr[i][2] = key[4] & 0x1f; in __cast6_setkey()
144 c->Kr[i][3] = key[6] & 0x1f; in __cast6_setkey()
146 c->Km[i][0] = key[7]; in __cast6_setkey()
147 c->Km[i][1] = key[5]; in __cast6_setkey()
148 c->Km[i][2] = key[3]; in __cast6_setkey()
149 c->Km[i][3] = key[1]; in __cast6_setkey()
167 block[2] ^= F1(block[3], Kr[0], Km[0]); in Q()
168 block[1] ^= F2(block[2], Kr[1], Km[1]); in Q()
169 block[0] ^= F3(block[1], Kr[2], Km[2]); in Q()
178 block[0] ^= F3(block[1], Kr[2], Km[2]); in QBAR()
179 block[1] ^= F2(block[2], Kr[1], Km[1]); in QBAR()
180 block[2] ^= F1(block[3], Kr[0], Km[0]); in QBAR()
183 void __cast6_encrypt(struct cast6_ctx *c, u8 *outbuf, const u8 *inbuf) in __cast6_encrypt() argument
193 block[2] = be32_to_cpu(src[2]); in __cast6_encrypt()
196 Km = c->Km[0]; Kr = c->Kr[0]; Q(block, Kr, Km); in __cast6_encrypt()
197 Km = c->Km[1]; Kr = c->Kr[1]; Q(block, Kr, Km); in __cast6_encrypt()
198 Km = c->Km[2]; Kr = c->Kr[2]; Q(block, Kr, Km); in __cast6_encrypt()
199 Km = c->Km[3]; Kr = c->Kr[3]; Q(block, Kr, Km); in __cast6_encrypt()
200 Km = c->Km[4]; Kr = c->Kr[4]; Q(block, Kr, Km); in __cast6_encrypt()
201 Km = c->Km[5]; Kr = c->Kr[5]; Q(block, Kr, Km); in __cast6_encrypt()
202 Km = c->Km[6]; Kr = c->Kr[6]; QBAR(block, Kr, Km); in __cast6_encrypt()
203 Km = c->Km[7]; Kr = c->Kr[7]; QBAR(block, Kr, Km); in __cast6_encrypt()
204 Km = c->Km[8]; Kr = c->Kr[8]; QBAR(block, Kr, Km); in __cast6_encrypt()
205 Km = c->Km[9]; Kr = c->Kr[9]; QBAR(block, Kr, Km); in __cast6_encrypt()
206 Km = c->Km[10]; Kr = c->Kr[10]; QBAR(block, Kr, Km); in __cast6_encrypt()
207 Km = c->Km[11]; Kr = c->Kr[11]; QBAR(block, Kr, Km); in __cast6_encrypt()
211 dst[2] = cpu_to_be32(block[2]); in __cast6_encrypt()
221 void __cast6_decrypt(struct cast6_ctx *c, u8 *outbuf, const u8 *inbuf) in __cast6_decrypt() argument
231 block[2] = be32_to_cpu(src[2]); in __cast6_decrypt()
234 Km = c->Km[11]; Kr = c->Kr[11]; Q(block, Kr, Km); in __cast6_decrypt()
235 Km = c->Km[10]; Kr = c->Kr[10]; Q(block, Kr, Km); in __cast6_decrypt()
236 Km = c->Km[9]; Kr = c->Kr[9]; Q(block, Kr, Km); in __cast6_decrypt()
237 Km = c->Km[8]; Kr = c->Kr[8]; Q(block, Kr, Km); in __cast6_decrypt()
238 Km = c->Km[7]; Kr = c->Kr[7]; Q(block, Kr, Km); in __cast6_decrypt()
239 Km = c->Km[6]; Kr = c->Kr[6]; Q(block, Kr, Km); in __cast6_decrypt()
240 Km = c->Km[5]; Kr = c->Kr[5]; QBAR(block, Kr, Km); in __cast6_decrypt()
241 Km = c->Km[4]; Kr = c->Kr[4]; QBAR(block, Kr, Km); in __cast6_decrypt()
242 Km = c->Km[3]; Kr = c->Kr[3]; QBAR(block, Kr, Km); in __cast6_decrypt()
243 Km = c->Km[2]; Kr = c->Kr[2]; QBAR(block, Kr, Km); in __cast6_decrypt()
244 Km = c->Km[1]; Kr = c->Kr[1]; QBAR(block, Kr, Km); in __cast6_decrypt()
245 Km = c->Km[0]; Kr = c->Kr[0]; QBAR(block, Kr, Km); in __cast6_decrypt()
249 dst[2] = cpu_to_be32(block[2]); in __cast6_decrypt()