Lines Matching refs:cc

250 cipher_init(CipherContext *cc, const Cipher *cipher,
272 cc->plaintext = (cipher->number == SSH_CIPHER_NONE);
273 cc->encrypt = do_encrypt;
281 cc->cipher = cipher;
285 EVP_CIPHER_CTX_init(&cc->evp);
292 EVP_CipherInit(&cc->evp, type, (u_char *)key, (u_char *)iv,
295 if (EVP_CipherInit(&cc->evp, type, NULL, (u_char *)iv,
300 !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_SET_IV_FIXED,
304 klen = EVP_CIPHER_CTX_key_length(&cc->evp);
307 if (EVP_CIPHER_CTX_set_key_length(&cc->evp, keylen) == 0)
311 if (EVP_CipherInit(&cc->evp, NULL, (u_char *)key, NULL, -1) == 0)
319 if (EVP_Cipher(&cc->evp, discard, junk,
339 cipher_crypt(CipherContext *cc, u_char *dest, const u_char *src,
345 if (authlen != cipher_authlen(cc->cipher))
348 if (!EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_IV_GEN,
352 if (!cc->encrypt &&
353 !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_SET_TAG,
359 EVP_Cipher(&cc->evp, NULL, (u_char *)src, aadlen) < 0)
363 if (len % cc->cipher->block_size)
365 if (EVP_Cipher(&cc->evp, dest + aadlen, (u_char *)src + aadlen,
370 if (EVP_Cipher(&cc->evp, NULL, NULL, 0) < 0) {
371 if (cc->encrypt)
376 if (cc->encrypt &&
377 !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_GET_TAG,
384 cipher_cleanup(CipherContext *cc)
386 if (EVP_CIPHER_CTX_cleanup(&cc->evp) == 0)
396 cipher_set_key_string(CipherContext *cc, const Cipher *cipher,
406 cipher_init(cc, cipher, digest, 16, NULL, 0, do_encrypt);
419 cipher_get_keyiv_len(const CipherContext *cc)
421 const Cipher *c = cc->cipher;
427 ivlen = EVP_CIPHER_CTX_iv_length(&cc->evp);
432 cipher_get_keyiv(CipherContext *cc, u_char *iv, u_int len)
434 const Cipher *c = cc->cipher;
444 evplen = EVP_CIPHER_CTX_iv_length(&cc->evp);
452 ssh_rijndael_iv(&cc->evp, 0, iv, len);
457 ssh_aes_ctr_iv(&cc->evp, 0, iv, len);
460 memcpy(iv, cc->evp.iv, len);
463 ssh1_3des_iv(&cc->evp, 0, iv, 24);
471 cipher_set_keyiv(CipherContext *cc, u_char *iv)
473 const Cipher *c = cc->cipher;
483 evplen = EVP_CIPHER_CTX_iv_length(&cc->evp);
488 ssh_rijndael_iv(&cc->evp, 1, iv, evplen);
493 ssh_aes_ctr_iv(&cc->evp, 1, iv, evplen);
496 memcpy(cc->evp.iv, iv, evplen);
499 ssh1_3des_iv(&cc->evp, 1, iv, 24);
507 cipher_get_keycontext(const CipherContext *cc, u_char *dat)
509 const Cipher *c = cc->cipher;
513 plen = EVP_X_STATE_LEN(cc->evp);
516 memcpy(dat, EVP_X_STATE(cc->evp), plen);
522 cipher_set_keycontext(CipherContext *cc, u_char *dat)
524 const Cipher *c = cc->cipher;
528 plen = EVP_X_STATE_LEN(cc->evp);
529 memcpy(EVP_X_STATE(cc->evp), dat, plen);