Lines Matching refs:gctx

219     EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx);  in aria_gcm_init_key()  local
226 &gctx->ks.ks); in aria_gcm_init_key()
227 CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks, in aria_gcm_init_key()
237 if (iv == NULL && gctx->iv_set) in aria_gcm_init_key()
238 iv = gctx->iv; in aria_gcm_init_key()
240 CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen); in aria_gcm_init_key()
241 gctx->iv_set = 1; in aria_gcm_init_key()
243 gctx->key_set = 1; in aria_gcm_init_key()
246 if (gctx->key_set) in aria_gcm_init_key()
247 CRYPTO_gcm128_setiv(&gctx->gcm, iv, gctx->ivlen); in aria_gcm_init_key()
249 memcpy(gctx->iv, iv, gctx->ivlen); in aria_gcm_init_key()
250 gctx->iv_set = 1; in aria_gcm_init_key()
251 gctx->iv_gen = 0; in aria_gcm_init_key()
258 EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, c); in aria_gcm_ctrl() local
262 gctx->key_set = 0; in aria_gcm_ctrl()
263 gctx->iv_set = 0; in aria_gcm_ctrl()
264 gctx->ivlen = EVP_CIPHER_get_iv_length(c->cipher); in aria_gcm_ctrl()
265 gctx->iv = c->iv; in aria_gcm_ctrl()
266 gctx->taglen = -1; in aria_gcm_ctrl()
267 gctx->iv_gen = 0; in aria_gcm_ctrl()
268 gctx->tls_aad_len = -1; in aria_gcm_ctrl()
272 *(int *)ptr = gctx->ivlen; in aria_gcm_ctrl()
279 if ((arg > EVP_MAX_IV_LENGTH) && (arg > gctx->ivlen)) { in aria_gcm_ctrl()
280 if (gctx->iv != c->iv) in aria_gcm_ctrl()
281 OPENSSL_free(gctx->iv); in aria_gcm_ctrl()
282 if ((gctx->iv = OPENSSL_malloc(arg)) == NULL) in aria_gcm_ctrl()
285 gctx->ivlen = arg; in aria_gcm_ctrl()
292 gctx->taglen = arg; in aria_gcm_ctrl()
297 || gctx->taglen < 0) in aria_gcm_ctrl()
305 memcpy(gctx->iv, ptr, gctx->ivlen); in aria_gcm_ctrl()
306 gctx->iv_gen = 1; in aria_gcm_ctrl()
313 if ((arg < 4) || (gctx->ivlen - arg) < 8) in aria_gcm_ctrl()
316 memcpy(gctx->iv, ptr, arg); in aria_gcm_ctrl()
318 && RAND_bytes(gctx->iv + arg, gctx->ivlen - arg) <= 0) in aria_gcm_ctrl()
320 gctx->iv_gen = 1; in aria_gcm_ctrl()
324 if (gctx->iv_gen == 0 || gctx->key_set == 0) in aria_gcm_ctrl()
326 CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen); in aria_gcm_ctrl()
327 if (arg <= 0 || arg > gctx->ivlen) in aria_gcm_ctrl()
328 arg = gctx->ivlen; in aria_gcm_ctrl()
329 memcpy(ptr, gctx->iv + gctx->ivlen - arg, arg); in aria_gcm_ctrl()
334 ctr64_inc(gctx->iv + gctx->ivlen - 8); in aria_gcm_ctrl()
335 gctx->iv_set = 1; in aria_gcm_ctrl()
339 if (gctx->iv_gen == 0 || gctx->key_set == 0 in aria_gcm_ctrl()
342 memcpy(gctx->iv + gctx->ivlen - arg, ptr, arg); in aria_gcm_ctrl()
343 CRYPTO_gcm128_setiv(&gctx->gcm, gctx->iv, gctx->ivlen); in aria_gcm_ctrl()
344 gctx->iv_set = 1; in aria_gcm_ctrl()
352 gctx->tls_aad_len = arg; in aria_gcm_ctrl()
377 if (gctx->gcm.key) { in aria_gcm_ctrl()
378 if (gctx->gcm.key != &gctx->ks) in aria_gcm_ctrl()
382 if (gctx->iv == c->iv) in aria_gcm_ctrl()
385 if ((gctx_out->iv = OPENSSL_malloc(gctx->ivlen)) == NULL) in aria_gcm_ctrl()
387 memcpy(gctx_out->iv, gctx->iv, gctx->ivlen); in aria_gcm_ctrl()
401 EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx); in aria_gcm_tls_cipher() local
417 if (CRYPTO_gcm128_aad(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx), in aria_gcm_tls_cipher()
418 gctx->tls_aad_len)) in aria_gcm_tls_cipher()
426 if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, len)) in aria_gcm_tls_cipher()
430 CRYPTO_gcm128_tag(&gctx->gcm, out, EVP_GCM_TLS_TAG_LEN); in aria_gcm_tls_cipher()
434 if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, len)) in aria_gcm_tls_cipher()
437 CRYPTO_gcm128_tag(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx), in aria_gcm_tls_cipher()
449 gctx->iv_set = 0; in aria_gcm_tls_cipher()
450 gctx->tls_aad_len = -1; in aria_gcm_tls_cipher()
457 EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx); in aria_gcm_cipher() local
460 if (!gctx->key_set) in aria_gcm_cipher()
463 if (gctx->tls_aad_len >= 0) in aria_gcm_cipher()
466 if (!gctx->iv_set) in aria_gcm_cipher()
470 if (CRYPTO_gcm128_aad(&gctx->gcm, in, len)) in aria_gcm_cipher()
473 if (CRYPTO_gcm128_encrypt(&gctx->gcm, in, out, len)) in aria_gcm_cipher()
476 if (CRYPTO_gcm128_decrypt(&gctx->gcm, in, out, len)) in aria_gcm_cipher()
482 if (gctx->taglen < 0) in aria_gcm_cipher()
484 if (CRYPTO_gcm128_finish(&gctx->gcm, in aria_gcm_cipher()
486 gctx->taglen) != 0) in aria_gcm_cipher()
488 gctx->iv_set = 0; in aria_gcm_cipher()
491 CRYPTO_gcm128_tag(&gctx->gcm, EVP_CIPHER_CTX_buf_noconst(ctx), 16); in aria_gcm_cipher()
492 gctx->taglen = 16; in aria_gcm_cipher()
494 gctx->iv_set = 0; in aria_gcm_cipher()
500 EVP_ARIA_GCM_CTX *gctx = EVP_C_DATA(EVP_ARIA_GCM_CTX, ctx); in aria_gcm_cleanup() local
502 if (gctx->iv != ctx->iv) in aria_gcm_cleanup()
503 OPENSSL_free(gctx->iv); in aria_gcm_cleanup()