Lines Matching +full:byte +full:- +full:len

69  * This is the n-fold function as described in rfc3961, sec 5.1
77 int byte, i, msbit; in krb5_nfold() local
91 byte = 0; in krb5_nfold()
95 for (i = ulcm-1; i >= 0; i--) { in krb5_nfold()
96 /* compute the msbit in k which gets added into this byte */ in krb5_nfold()
99 * unrotated byte */ in krb5_nfold()
100 ((inbits << 3) - 1) in krb5_nfold()
101 /* then, for each byte, shift to the right in krb5_nfold()
104 /* last, pick out the correct byte within in krb5_nfold()
106 + ((inbits - (i % inbits)) << 3) in krb5_nfold()
109 /* pull out the byte value itself */ in krb5_nfold()
110 byte += (((in[((inbits - 1) - (msbit >> 3)) % inbits] << 8)| in krb5_nfold()
111 (in[((inbits) - (msbit >> 3)) % inbits])) in krb5_nfold()
115 byte += out[i % outbits]; in krb5_nfold()
116 out[i % outbits] = byte & 0xff; in krb5_nfold()
119 byte >>= 8; in krb5_nfold()
124 if (byte) { in krb5_nfold()
125 for (i = outbits - 1; i >= 0; i--) { in krb5_nfold()
127 byte += out[i]; in krb5_nfold()
128 out[i] = byte & 0xff; in krb5_nfold()
131 byte >>= 8; in krb5_nfold()
153 blocksize = gk5e->blocksize; in krb5_derive_key()
154 keybytes = gk5e->keybytes; in krb5_derive_key()
155 keylength = gk5e->keylength; in krb5_derive_key()
157 if ((inkey->len != keylength) || (outkey->len != keylength)) in krb5_derive_key()
160 cipher = crypto_alloc_sync_skcipher(gk5e->encrypt_name, 0, 0); in krb5_derive_key()
163 if (crypto_sync_skcipher_setkey(cipher, inkey->data, inkey->len)) in krb5_derive_key()
182 inblock.len = blocksize; in krb5_derive_key()
185 outblock.len = blocksize; in krb5_derive_key()
189 if (in_constant->len == inblock.len) { in krb5_derive_key()
190 memcpy(inblock.data, in_constant->data, inblock.len); in krb5_derive_key()
192 krb5_nfold(in_constant->len * 8, in_constant->data, in krb5_derive_key()
193 inblock.len * 8, inblock.data); in krb5_derive_key()
200 (*(gk5e->encrypt))(cipher, NULL, inblock.data, in krb5_derive_key()
201 outblock.data, inblock.len); in krb5_derive_key()
203 if ((keybytes - n) <= outblock.len) { in krb5_derive_key()
204 memcpy(rawkey + n, outblock.data, (keybytes - n)); in krb5_derive_key()
208 memcpy(rawkey + n, outblock.data, outblock.len); in krb5_derive_key()
209 memcpy(inblock.data, outblock.data, outblock.len); in krb5_derive_key()
210 n += outblock.len; in krb5_derive_key()
216 inblock.len = keybytes; in krb5_derive_key()
218 BUG_ON(gk5e->mk_key == NULL); in krb5_derive_key()
219 ret = (*(gk5e->mk_key))(gk5e, &inblock, outkey); in krb5_derive_key()
222 __func__, ret, gk5e->encrypt_name); in krb5_derive_key()
242 #define smask(step) ((1<<step)-1)
265 if (key->len != 24) { in gss_krb5_des3_make_key()
266 dprintk("%s: key->len is %d\n", __func__, key->len); in gss_krb5_des3_make_key()
269 if (randombits->len != 21) { in gss_krb5_des3_make_key()
270 dprintk("%s: randombits->len is %d\n", in gss_krb5_des3_make_key()
271 __func__, randombits->len); in gss_krb5_des3_make_key()
279 memcpy(key->data + i*8, randombits->data + i*7, 7); in gss_krb5_des3_make_key()
280 key->data[i*8+7] = (((key->data[i*8]&1)<<1) | in gss_krb5_des3_make_key()
281 ((key->data[i*8+1]&1)<<2) | in gss_krb5_des3_make_key()
282 ((key->data[i*8+2]&1)<<3) | in gss_krb5_des3_make_key()
283 ((key->data[i*8+3]&1)<<4) | in gss_krb5_des3_make_key()
284 ((key->data[i*8+4]&1)<<5) | in gss_krb5_des3_make_key()
285 ((key->data[i*8+5]&1)<<6) | in gss_krb5_des3_make_key()
286 ((key->data[i*8+6]&1)<<7)); in gss_krb5_des3_make_key()
288 mit_des_fixup_key_parity(key->data + i*8); in gss_krb5_des3_make_key()
304 if (key->len != 16 && key->len != 32) { in gss_krb5_aes_make_key()
305 dprintk("%s: key->len is %d\n", __func__, key->len); in gss_krb5_aes_make_key()
308 if (randombits->len != 16 && randombits->len != 32) { in gss_krb5_aes_make_key()
309 dprintk("%s: randombits->len is %d\n", in gss_krb5_aes_make_key()
310 __func__, randombits->len); in gss_krb5_aes_make_key()
313 if (randombits->len != key->len) { in gss_krb5_aes_make_key()
314 dprintk("%s: randombits->len is %d, key->len is %d\n", in gss_krb5_aes_make_key()
315 __func__, randombits->len, key->len); in gss_krb5_aes_make_key()
318 memcpy(key->data, randombits->data, key->len); in gss_krb5_aes_make_key()