Lines Matching full:cc
28 in_cbc_init(br_sslrec_in_cbc_context *cc, in in_cbc_init() argument
35 cc->vtable = &br_sslrec_in_cbc_vtable; in in_cbc_init()
36 cc->seq = 0; in in_cbc_init()
37 bc_impl->init(&cc->bc.vtable, bc_key, bc_key_len); in in_cbc_init()
38 br_hmac_key_init(&cc->mac, dig_impl, mac_key, mac_key_len); in in_cbc_init()
39 cc->mac_len = mac_out_len; in in_cbc_init()
41 memset(cc->iv, 0, sizeof cc->iv); in in_cbc_init()
42 cc->explicit_IV = 1; in in_cbc_init()
44 memcpy(cc->iv, iv, bc_impl->block_size); in in_cbc_init()
45 cc->explicit_IV = 0; in in_cbc_init()
50 cbc_check_length(const br_sslrec_in_cbc_context *cc, size_t rlen) in cbc_check_length() argument
66 blen = cc->bc.vtable->block_size; in cbc_check_length()
67 min_len = (blen + cc->mac_len) & ~(blen - 1); in cbc_check_length()
68 max_len = (16384 + 256 + cc->mac_len) & ~(blen - 1); in cbc_check_length()
69 if (cc->explicit_IV) { in cbc_check_length()
98 cbc_decrypt(br_sslrec_in_cbc_context *cc, in cbc_decrypt() argument
115 blen = cc->bc.vtable->block_size; in cbc_decrypt()
124 cc->bc.vtable->run(&cc->bc.vtable, cc->iv, data, len); in cbc_decrypt()
125 if (cc->explicit_IV) { in cbc_decrypt()
134 min_len = (cc->mac_len + 256 < len) ? len - 256 : cc->mac_len; in cbc_decrypt()
163 len_nomac = len_withmac - cc->mac_len; in cbc_decrypt()
164 min_len -= cc->mac_len; in cbc_decrypt()
166 memset(tmp1, 0, cc->mac_len); in cbc_decrypt()
172 if (++ v == cc->mac_len) { in cbc_decrypt()
176 max_len -= cc->mac_len; in cbc_decrypt()
188 cond_rotate(rot_count >> i, tmp1, cc->mac_len, rc); in cbc_decrypt()
200 br_enc64be(tmp2, cc->seq ++); in cbc_decrypt()
204 br_hmac_init(&hc, &cc->mac, cc->mac_len); in cbc_decrypt()
211 for (u = 0; u < cc->mac_len; u ++) { in cbc_decrypt()
268 out_cbc_init(br_sslrec_out_cbc_context *cc, in out_cbc_init() argument
275 cc->vtable = &br_sslrec_out_cbc_vtable; in out_cbc_init()
276 cc->seq = 0; in out_cbc_init()
277 bc_impl->init(&cc->bc.vtable, bc_key, bc_key_len); in out_cbc_init()
278 br_hmac_key_init(&cc->mac, dig_impl, mac_key, mac_key_len); in out_cbc_init()
279 cc->mac_len = mac_out_len; in out_cbc_init()
281 memset(cc->iv, 0, sizeof cc->iv); in out_cbc_init()
282 cc->explicit_IV = 1; in out_cbc_init()
284 memcpy(cc->iv, iv, bc_impl->block_size); in out_cbc_init()
285 cc->explicit_IV = 0; in out_cbc_init()
290 cbc_max_plaintext(const br_sslrec_out_cbc_context *cc, in cbc_max_plaintext() argument
295 blen = cc->bc.vtable->block_size; in cbc_max_plaintext()
296 if (cc->explicit_IV) { in cbc_max_plaintext()
299 *start += 4 + ((cc->mac_len + blen + 1) & ~(blen - 1)); in cbc_max_plaintext()
302 len -= 1 + cc->mac_len; in cbc_max_plaintext()
310 cbc_encrypt(br_sslrec_out_cbc_context *cc, in cbc_encrypt() argument
320 blen = cc->bc.vtable->block_size; in cbc_encrypt()
334 if (cc->explicit_IV) { in cbc_encrypt()
342 br_enc64be(tmp, cc->seq); in cbc_encrypt()
343 br_hmac_init(&hc, &cc->mac, blen); in cbc_encrypt()
365 - ((cc->mac_len + blen + 1) & ~(blen - 1)); in cbc_encrypt()
368 rbuf = cbc_encrypt(cc, record_type, in cbc_encrypt()
380 br_enc64be(tmp, cc->seq ++); in cbc_encrypt()
384 br_hmac_init(&hc, &cc->mac, cc->mac_len); in cbc_encrypt()
388 len += cc->mac_len; in cbc_encrypt()
402 if (cc->explicit_IV) { in cbc_encrypt()
412 cc->bc.vtable->run(&cc->bc.vtable, cc->iv, buf, len); in cbc_encrypt()