| /optee_os/core/drivers/crypto/caam/ae/ |
| H A D | caam_ae_ccm.c | 179 TEE_Result caam_ae_final_ccm(struct drvcrypt_authenc_final *dfinal) in caam_ae_final_ccm() argument 186 if (!dfinal || !dfinal->ctx) in caam_ae_final_ccm() 189 caam_ctx = dfinal->ctx; in caam_ae_final_ccm() 191 ret = caam_ae_do_update(caam_ctx, &dfinal->src, &dfinal->dst, true); in caam_ae_final_ccm() 196 if (dfinal->tag.length < caam_ctx->tag_length) in caam_ae_final_ccm() 203 memcpy(dfinal->tag.data, encrypted_tag, in caam_ae_final_ccm() 205 dfinal->tag.length = caam_ctx->tag_length; in caam_ae_final_ccm() 222 if (consttime_memcmp(dfinal->tag.data, encrypted_tag, in caam_ae_final_ccm()
|
| H A D | caam_ae_gcm.c | 323 TEE_Result caam_ae_final_gcm(struct drvcrypt_authenc_final *dfinal) in caam_ae_final_gcm() argument 328 if (!dfinal) in caam_ae_final_gcm() 331 caam_ctx = dfinal->ctx; in caam_ae_final_gcm() 333 ret = caam_ae_do_update(caam_ctx, &dfinal->src, &dfinal->dst, true); in caam_ae_final_gcm() 338 if (dfinal->tag.length < caam_ctx->tag_length) in caam_ae_final_gcm() 342 memcpy(dfinal->tag.data, caam_ctx->ctx.data, in caam_ae_final_gcm() 344 dfinal->tag.length = caam_ctx->tag_length; in caam_ae_final_gcm() 346 if (consttime_memcmp(dfinal->tag.data, in caam_ae_final_gcm()
|
| H A D | local.h | 33 TEE_Result (*final)(struct drvcrypt_authenc_final *dfinal); 100 TEE_Result caam_ae_final_gcm(struct drvcrypt_authenc_final *dfinal); 114 TEE_Result caam_ae_final_ccm(struct drvcrypt_authenc_final *dfinal);
|
| H A D | caam_ae.c | 266 static TEE_Result caam_ae_final(struct drvcrypt_authenc_final *dfinal) in caam_ae_final() argument 271 assert(dfinal); in caam_ae_final() 273 caam_ctx = dfinal->ctx; in caam_ae_final() 277 ret = caam_ctx->alg->final(dfinal); in caam_ae_final()
|
| /optee_os/core/drivers/crypto/hisilicon/ |
| H A D | sec_authenc.c | 625 static TEE_Result final_params_check(struct drvcrypt_authenc_final *dfinal) in final_params_check() argument 627 struct authenc_ctx *ae_drv_ctx = dfinal->ctx; in final_params_check() 634 if (dfinal->src.length + ae_drv_ctx->src_offset > in final_params_check() 640 if (dfinal->dst.length + ae_drv_ctx->src_offset > in final_params_check() 646 if (dfinal->tag.length > SEC_MAX_TAG_LEN) { in final_params_check() 654 static TEE_Result sec_authenc_enc_final(struct drvcrypt_authenc_final *dfinal) in sec_authenc_enc_final() argument 660 if (!dfinal || !dfinal->ctx) { in sec_authenc_enc_final() 665 ae_drv_ctx = dfinal->ctx; in sec_authenc_enc_final() 669 dfinal->src.data, dfinal->src.length, in sec_authenc_enc_final() 670 dfinal->dst.data, dfinal->tag.data, in sec_authenc_enc_final() [all …]
|
| /optee_os/core/drivers/crypto/stm32/ |
| H A D | authenc.c | 267 static TEE_Result stm32_ae_enc_final(struct drvcrypt_authenc_final *dfinal) in stm32_ae_enc_final() argument 270 struct stm32_ae_ctx *c = to_stm32_ae_ctx(dfinal->ctx); in stm32_ae_enc_final() 271 size_t len = MIN(dfinal->src.length, dfinal->dst.length); in stm32_ae_enc_final() 273 res = stm32_cryp_update_load(&c->cryp, dfinal->src.data, in stm32_ae_enc_final() 274 dfinal->dst.data, len); in stm32_ae_enc_final() 278 return stm32_ae_encdec_final(c, dfinal->tag.data, dfinal->tag.length); in stm32_ae_enc_final() 281 static TEE_Result stm32_ae_dec_final(struct drvcrypt_authenc_final *dfinal) in stm32_ae_dec_final() argument 284 struct stm32_ae_ctx *c = to_stm32_ae_ctx(dfinal->ctx); in stm32_ae_dec_final() 285 size_t len = MIN(dfinal->src.length, dfinal->dst.length); in stm32_ae_dec_final() 288 res = stm32_cryp_update_load(&c->cryp, dfinal->src.data, in stm32_ae_dec_final() [all …]
|
| /optee_os/core/drivers/crypto/versal/ |
| H A D | authenc.c | 565 static TEE_Result do_enc_final(struct drvcrypt_authenc_final *dfinal) in do_enc_final() argument 573 if (!context_allowed(dfinal->ctx)) in do_enc_final() 586 last.ctx = dfinal->ctx; in do_enc_final() 587 last.dst = dfinal->dst; in do_enc_final() 589 last.src = dfinal->src; in do_enc_final() 595 memcpy(dfinal->dst.data, last.dst.data, dfinal->dst.length); in do_enc_final() 606 memcpy(dfinal->tag.data, p.buf, GCM_TAG_LEN); in do_enc_final() 607 dfinal->tag.length = GCM_TAG_LEN; in do_enc_final() 619 static TEE_Result do_dec_final(struct drvcrypt_authenc_final *dfinal) in do_dec_final() argument 627 if (!context_allowed(dfinal->ctx)) in do_dec_final() [all …]
|
| /optee_os/core/drivers/crypto/crypto_api/include/ |
| H A D | drvcrypt_authenc.h | 80 TEE_Result (*enc_final)(struct drvcrypt_authenc_final *dfinal); 82 TEE_Result (*dec_final)(struct drvcrypt_authenc_final *dfinal);
|
| /optee_os/core/drivers/crypto/crypto_api/authenc/ |
| H A D | authenc.c | 216 struct drvcrypt_authenc_final dfinal = { in authenc_enc_final() local 226 ret = authenc->op->enc_final(&dfinal); in authenc_enc_final() 228 *tag_len = dfinal.tag.length; in authenc_enc_final() 264 struct drvcrypt_authenc_final dfinal = { in authenc_dec_final() local 274 ret = authenc->op->dec_final(&dfinal); in authenc_dec_final()
|