Lines Matching refs:gctx
308 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
313 aesni_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks);
314 CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks,
316 gctx->ctr = (ctr128_f)aesni_ctr32_encrypt_blocks;
320 if (iv == NULL && gctx->iv_set)
321 iv = gctx->iv;
324 CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
325 gctx->iv_set = 1;
327 gctx->key_set = 1;
332 if (gctx->key_set)
333 CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
335 memcpy(gctx->iv, iv, gctx->ivlen);
336 gctx->iv_set = 1;
337 gctx->iv_gen = 0;
679 EVP_AES_GCM_CTX *gctx = c->cipher_data;
680 OPENSSL_cleanse(&gctx->gcm, sizeof(gctx->gcm));
681 if (gctx->iv != c->iv)
682 OPENSSL_free(gctx->iv);
702 EVP_AES_GCM_CTX *gctx = c->cipher_data;
706 gctx->key_set = 0;
707 gctx->iv_set = 0;
708 gctx->ivlen = c->cipher->iv_len;
709 gctx->iv = c->iv;
710 gctx->taglen = -1;
711 gctx->iv_gen = 0;
712 gctx->tls_aad_len = -1;
724 if ((arg > EVP_MAX_IV_LENGTH) && (arg > gctx->ivlen))
726 if (gctx->iv != c->iv)
727 OPENSSL_free(gctx->iv);
728 gctx->iv = OPENSSL_malloc(arg);
729 if (!gctx->iv)
732 gctx->ivlen = arg;
739 gctx->taglen = arg;
743 if (arg <= 0 || arg > 16 || !c->encrypt || gctx->taglen < 0)
752 memcpy(gctx->iv, ptr, gctx->ivlen);
753 gctx->iv_gen = 1;
759 if ((arg < 4) || (gctx->ivlen - arg) < 8)
762 memcpy(gctx->iv, ptr, arg);
764 RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0)
766 gctx->iv_gen = 1;
770 if (gctx->iv_gen == 0 || gctx->key_set == 0)
772 CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
773 if (arg <= 0 || arg > gctx->ivlen)
774 arg = gctx->ivlen;
775 memcpy(ptr, gctx->iv + gctx->ivlen - arg, arg);
780 ctr64_inc(gctx->iv + gctx->ivlen - 8);
781 gctx->iv_set = 1;
785 if (gctx->iv_gen == 0 || gctx->key_set == 0 || c->encrypt)
787 memcpy(gctx->iv + gctx->ivlen - arg, ptr, arg);
788 CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen);
789 gctx->iv_set = 1;
797 gctx->tls_aad_len = arg;
820 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
828 AES_set_encrypt_key(key,ctx->key_len*8,&gctx->ks);
829 CRYPTO_gcm128_init(&gctx->gcm,&gctx->ks,
831 gctx->ctr = (ctr128_f)bsaes_ctr32_encrypt_blocks;
839 vpaes_set_encrypt_key(key,ctx->key_len*8,&gctx->ks);
840 CRYPTO_gcm128_init(&gctx->gcm,&gctx->ks,
842 gctx->ctr = NULL;
846 AES_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks);
847 CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks, (block128_f)AES_encrypt);
849 gctx->ctr = (ctr128_f)AES_ctr32_encrypt;
851 gctx->ctr = NULL;
858 if (iv == NULL && gctx->iv_set)
859 iv = gctx->iv;
862 CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
863 gctx->iv_set = 1;
865 gctx->key_set = 1;
870 if (gctx->key_set)
871 CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen);
873 memcpy(gctx->iv, iv, gctx->ivlen);
874 gctx->iv_set = 1;
875 gctx->iv_gen = 0;
889 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
902 if (CRYPTO_gcm128_aad(&gctx->gcm, ctx->buf, gctx->tls_aad_len))
911 if (gctx->ctr)
913 if (CRYPTO_gcm128_encrypt_ctr32(&gctx->gcm,
915 gctx->ctr))
919 if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, len))
924 CRYPTO_gcm128_tag(&gctx->gcm, out, EVP_GCM_TLS_TAG_LEN);
930 if (gctx->ctr)
932 if (CRYPTO_gcm128_decrypt_ctr32(&gctx->gcm,
934 gctx->ctr))
938 if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, len))
942 CRYPTO_gcm128_tag(&gctx->gcm, ctx->buf,
954 gctx->iv_set = 0;
955 gctx->tls_aad_len = -1;
962 EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
964 if (!gctx->key_set)
967 if (gctx->tls_aad_len >= 0)
970 if (!gctx->iv_set)
972 if (!ctx->encrypt && gctx->taglen < 0)
978 if (CRYPTO_gcm128_aad(&gctx->gcm, in, len))
983 if (gctx->ctr)
985 if (CRYPTO_gcm128_encrypt_ctr32(&gctx->gcm,
987 gctx->ctr))
991 if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, len))
997 if (gctx->ctr)
999 if (CRYPTO_gcm128_decrypt_ctr32(&gctx->gcm,
1001 gctx->ctr))
1005 if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, len))
1015 if (CRYPTO_gcm128_finish(&gctx->gcm,
1016 ctx->buf, gctx->taglen) != 0)
1018 gctx->iv_set = 0;
1021 CRYPTO_gcm128_tag(&gctx->gcm, ctx->buf, 16);
1022 gctx->taglen = 16;
1024 gctx->iv_set = 0;