Lines Matching refs:ctx

266 static int aesni_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
270 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
272 mode = ctx->cipher->flags & EVP_CIPH_MODE;
275 ret = aesni_set_decrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
280 ret = aesni_set_encrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
298 static int aesni_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
301 aesni_cbc_encrypt(in, out, len, ctx->cipher_data, ctx->iv, ctx->encrypt);
306 static int aesni_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
309 size_t bl = ctx->cipher->block_size;
314 aesni_ecb_encrypt(in, out, len, ctx->cipher_data, ctx->encrypt);
320 static int aesni_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
324 static int aesni_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
328 static int aesni_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
332 static int aesni_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
336 static int aesni_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
339 static int aesni_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
342 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
346 aesni_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks.ks);
372 static int aesni_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
375 static int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
378 EVP_AES_XTS_CTX *xctx = ctx->cipher_data;
385 aesni_set_encrypt_key(key, ctx->key_len * 4, &xctx->ks1.ks);
389 aesni_set_decrypt_key(key, ctx->key_len * 4, &xctx->ks1.ks);
394 aesni_set_encrypt_key(key + ctx->key_len / 2,
395 ctx->key_len * 4, &xctx->ks2.ks);
403 memcpy(ctx->iv, iv, 16);
410 static int aesni_xts_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
413 static int aesni_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
416 EVP_AES_CCM_CTX *cctx = ctx->cipher_data;
420 aesni_set_encrypt_key(key, ctx->key_len * 8, &cctx->ks.ks);
428 memcpy(ctx->iv, iv, 15 - cctx->L);
435 static int aesni_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
546 static int aes_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
550 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
552 mode = ctx->cipher->flags & EVP_CIPH_MODE;
553 bits = ctx->key_len * 8;
557 aes_t4_set_decrypt_key(key, bits, ctx->cipher_data);
577 aes_t4_set_encrypt_key(key, bits, ctx->cipher_data);
618 static int aes_t4_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
622 static int aes_t4_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
626 static int aes_t4_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
630 static int aes_t4_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
634 static int aes_t4_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
638 static int aes_t4_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
642 static int aes_t4_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
645 static int aes_t4_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
648 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
652 int bits = ctx->key_len * 8;
692 static int aes_t4_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
695 static int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
698 EVP_AES_XTS_CTX *xctx = ctx->cipher_data;
703 int bits = ctx->key_len * 4;
725 aes_t4_set_decrypt_key(key, ctx->key_len * 4, &xctx->ks1.ks);
744 aes_t4_set_encrypt_key(key + ctx->key_len / 2,
745 ctx->key_len * 4, &xctx->ks2.ks);
753 memcpy(ctx->iv, iv, 16);
760 static int aes_t4_xts_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
763 static int aes_t4_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
766 EVP_AES_CCM_CTX *cctx = ctx->cipher_data;
770 int bits = ctx->key_len * 8;
797 memcpy(ctx->iv, iv, 15 - cctx->L);
804 static int aes_t4_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
920 static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
924 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
926 mode = ctx->cipher->flags & EVP_CIPH_MODE;
931 ret = HWAES_set_decrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
942 ret = AES_set_decrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
949 ret = vpaes_set_decrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
956 ret = AES_set_decrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
963 ret = HWAES_set_encrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
981 ret = AES_set_encrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
988 ret = vpaes_set_encrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
995 ret = AES_set_encrypt_key(key, ctx->key_len * 8, &dat->ks.ks);
1013 static int aes_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1016 size_t bl = ctx->cipher->block_size;
1017 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1023 (*dat->stream.cbc) (in, out, len, &dat->ks, ctx->iv, ctx->encrypt);
1024 else if (ctx->encrypt)
1025 CRYPTO_cbc128_encrypt(in, out, len, &dat->ks, ctx->iv, dat->block);
1027 CRYPTO_cbc128_decrypt(in, out, len, &dat->ks, ctx->iv, dat->block);
1032 static int aes_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1035 size_t bl = ctx->cipher->block_size;
1037 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1048 static int aes_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1051 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1054 ctx->iv, &ctx->num, dat->block);
1058 static int aes_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1061 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1064 ctx->iv, &ctx->num, ctx->encrypt, dat->block);
1068 static int aes_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1071 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1074 ctx->iv, &ctx->num, ctx->encrypt, dat->block);
1078 static int aes_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1081 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1083 if (ctx->flags & EVP_CIPH_FLAG_LENGTH_BITS) {
1085 ctx->iv, &ctx->num, ctx->encrypt, dat->block);
1091 ctx->iv, &ctx->num, ctx->encrypt, dat->block);
1096 ctx->iv, &ctx->num, ctx->encrypt, dat->block);
1101 static int aes_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1104 unsigned int num = ctx->num;
1105 EVP_AES_KEY *dat = (EVP_AES_KEY *) ctx->cipher_data;
1109 ctx->iv, ctx->buf, &num, dat->stream.ctr);
1112 ctx->iv, ctx->buf, &num, dat->block);
1113 ctx->num = (size_t)num;
1275 static int aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
1278 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
1285 HWAES_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks.ks);
1298 AES_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks.ks);
1307 vpaes_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks.ks);
1316 AES_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks.ks);
1355 static int aes_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1358 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
1368 if (EVP_CIPHER_CTX_ctrl(ctx, ctx->encrypt ?
1373 if (CRYPTO_gcm128_aad(&gctx->gcm, ctx->buf, gctx->tls_aad_len))
1379 if (ctx->encrypt) {
1458 CRYPTO_gcm128_tag(&gctx->gcm, ctx->buf, EVP_GCM_TLS_TAG_LEN);
1460 if (memcmp(ctx->buf, in + len, EVP_GCM_TLS_TAG_LEN)) {
1473 static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1476 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
1482 return aes_gcm_tls_cipher(ctx, out, in, len);
1490 } else if (ctx->encrypt) {
1581 if (!ctx->encrypt) {
1584 if (CRYPTO_gcm128_finish(&gctx->gcm, ctx->buf, gctx->taglen) != 0)
1589 CRYPTO_gcm128_tag(&gctx->gcm, ctx->buf, 16);
1638 static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
1641 EVP_AES_XTS_CTX *xctx = ctx->cipher_data;
1656 HWAES_set_encrypt_key(key, ctx->key_len * 4,
1660 HWAES_set_decrypt_key(key, ctx->key_len * 4,
1665 HWAES_set_encrypt_key(key + ctx->key_len / 2,
1666 ctx->key_len * 4, &xctx->ks2.ks);
1681 vpaes_set_encrypt_key(key, ctx->key_len * 4,
1685 vpaes_set_decrypt_key(key, ctx->key_len * 4,
1690 vpaes_set_encrypt_key(key + ctx->key_len / 2,
1691 ctx->key_len * 4, &xctx->ks2.ks);
1701 AES_set_encrypt_key(key, ctx->key_len * 4, &xctx->ks1.ks);
1704 AES_set_decrypt_key(key, ctx->key_len * 4, &xctx->ks1.ks);
1708 AES_set_encrypt_key(key + ctx->key_len / 2,
1709 ctx->key_len * 4, &xctx->ks2.ks);
1717 memcpy(ctx->iv, iv, 16);
1723 static int aes_xts_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1726 EVP_AES_XTS_CTX *xctx = ctx->cipher_data;
1733 xctx->xts.key1, xctx->xts.key2, ctx->iv);
1734 else if (CRYPTO_xts128_encrypt(&xctx->xts, ctx->iv, in, out, len,
1735 ctx->encrypt))
1812 static int aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
1815 EVP_AES_CCM_CTX *cctx = ctx->cipher_data;
1822 HWAES_set_encrypt_key(key, ctx->key_len * 8, &cctx->ks.ks);
1833 vpaes_set_encrypt_key(key, ctx->key_len * 8, &cctx->ks.ks);
1841 AES_set_encrypt_key(key, ctx->key_len * 8, &cctx->ks.ks);
1848 memcpy(ctx->iv, iv, 15 - cctx->L);
1854 static int aes_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
1857 EVP_AES_CCM_CTX *cctx = ctx->cipher_data;
1862 if (!ctx->encrypt && !cctx->tag_set)
1866 if (CRYPTO_ccm128_setiv(ccm, ctx->iv, 15 - cctx->L, len))
1882 if (CRYPTO_ccm128_setiv(ccm, ctx->iv, 15 - cctx->L, len))
1886 if (ctx->encrypt) {
1900 if (!memcmp(tag, ctx->buf, cctx->M))