| /optee_os/core/drivers/crypto/stm32/ |
| H A D | authenc.c | 49 struct drvcrypt_authenc_init *dinit) in stm32_ae_gcm_generate_iv() argument 59 if (dinit->nonce.length == 12) { in stm32_ae_gcm_generate_iv() 60 memcpy(iv, dinit->nonce.data, dinit->nonce.length); in stm32_ae_gcm_generate_iv() 69 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv() 80 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv() 85 data_out = malloc(dinit->nonce.length); in stm32_ae_gcm_generate_iv() 89 res = stm32_cryp_update_load(&ctx, dinit->nonce.data, data_out, in stm32_ae_gcm_generate_iv() 90 dinit->nonce.length); in stm32_ae_gcm_generate_iv() 108 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv() 122 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv() [all …]
|
| H A D | cipher.c | 205 static TEE_Result stm32_cipher_initialize(struct drvcrypt_cipher_init *dinit) in stm32_cipher_initialize() argument 207 struct stm32_cipher_ctx *c = to_stm32_cipher_ctx(dinit->ctx); in stm32_cipher_initialize() 209 return c->ops->init(&c->ip_ctx, !dinit->encrypt, dinit->key1.data, in stm32_cipher_initialize() 210 dinit->key1.length, dinit->iv.data, in stm32_cipher_initialize() 211 dinit->iv.length); in stm32_cipher_initialize()
|
| /optee_os/core/drivers/crypto/se050/core/ |
| H A D | cipher.c | 16 static TEE_Result do_init(struct drvcrypt_cipher_init *dinit) in do_init() argument 18 struct crypto_cipher_ctx *ctx = dinit->ctx; in do_init() 21 if (dinit->encrypt) in do_init() 24 return ctx->ops->init(dinit->ctx, mode, in do_init() 25 dinit->key1.data, dinit->key1.length, in do_init() 26 dinit->key2.data, dinit->key2.length, in do_init() 27 dinit->iv.data, dinit->iv.length); in do_init()
|
| /optee_os/core/drivers/crypto/hisilicon/ |
| H A D | sec_authenc.c | 266 static TEE_Result authenc_init_params_check(struct drvcrypt_authenc_init *dinit) in authenc_init_params_check() argument 268 if (!dinit) { in authenc_init_params_check() 273 if (!dinit->ctx) { in authenc_init_params_check() 278 if (!dinit->key.length || !dinit->key.data) { in authenc_init_params_check() 283 if (!dinit->nonce.data || !dinit->nonce.length) { in authenc_init_params_check() 291 static bool is_hw_supported(struct drvcrypt_authenc_init *dinit) in is_hw_supported() argument 293 struct authenc_ctx *ae_drv_ctx = dinit->ctx; in is_hw_supported() 296 if (dinit->nonce.length != GCM_IV_SIZE) in is_hw_supported() 299 if (dinit->aad_len > MAX_GCM_AAD_SIZE) { in is_hw_supported() 304 if (dinit->tag_len < SEC_MIN_GCM_TAG_LEN || in is_hw_supported() [all …]
|
| H A D | sec_cipher.c | 571 static TEE_Result sec_cipher_initialize(struct drvcrypt_cipher_init *dinit) in sec_cipher_initialize() argument 576 if (!dinit || !dinit->ctx || !dinit->key1.data) { in sec_cipher_initialize() 581 c_ctx = dinit->ctx; in sec_cipher_initialize() 583 ret = sec_cipher_set_key(c_ctx, dinit->key1.data, dinit->key1.length, in sec_cipher_initialize() 584 dinit->key2.data, dinit->key2.length); in sec_cipher_initialize() 588 ret = sec_cipher_set_iv(c_ctx, dinit->iv.data, dinit->iv.length); in sec_cipher_initialize() 592 c_ctx->encrypt = dinit->encrypt; in sec_cipher_initialize()
|
| /optee_os/core/drivers/crypto/caam/ae/ |
| H A D | caam_ae_ccm.c | 48 struct drvcrypt_authenc_init *dinit) in caam_ae_ccm_init_ctx() argument 59 assert(caam_ctx && dinit); in caam_ae_ccm_init_ctx() 61 if (dinit->nonce.length > AES_CCM_MAX_NONCE_LEN) in caam_ae_ccm_init_ctx() 87 q = AES_CCM_MAX_NONCE_LEN - dinit->nonce.length; in caam_ae_ccm_init_ctx() 95 memcpy(&b0[1], dinit->nonce.data, dinit->nonce.length); in caam_ae_ccm_init_ctx() 102 for (i = AES_CCM_MAX_NONCE_LEN; i >= dinit->nonce.length + 1; i--) { in caam_ae_ccm_init_ctx() 136 memcpy(&ctr0[1], &b0[1], dinit->nonce.length); in caam_ae_ccm_init_ctx() 144 TEE_Result caam_ae_initialize_ccm(struct drvcrypt_authenc_init *dinit) in caam_ae_initialize_ccm() argument 150 if (!dinit || !dinit->ctx) in caam_ae_initialize_ccm() 153 caam_ctx = dinit->ctx; in caam_ae_initialize_ccm() [all …]
|
| H A D | caam_ae_gcm.c | 297 TEE_Result caam_ae_initialize_gcm(struct drvcrypt_authenc_init *dinit) in caam_ae_initialize_gcm() argument 302 if (!dinit || !dinit->ctx) in caam_ae_initialize_gcm() 305 caam_ctx = dinit->ctx; in caam_ae_initialize_gcm() 307 if (dinit->nonce.data && dinit->nonce.length) { in caam_ae_initialize_gcm() 308 retstatus = caam_cpy_buf(&caam_ctx->nonce, dinit->nonce.data, in caam_ae_initialize_gcm() 309 dinit->nonce.length); in caam_ae_initialize_gcm() 318 caam_ctx->buf_aad.max = dinit->aad_len; in caam_ae_initialize_gcm()
|
| H A D | local.h | 32 TEE_Result (*initialize)(struct drvcrypt_authenc_init *dinit); 93 TEE_Result caam_ae_initialize_gcm(struct drvcrypt_authenc_init *dinit); 107 TEE_Result caam_ae_initialize_ccm(struct drvcrypt_authenc_init *dinit);
|
| H A D | caam_ae.c | 152 static TEE_Result caam_ae_initialize(struct drvcrypt_authenc_init *dinit) in caam_ae_initialize() argument 158 assert(dinit); in caam_ae_initialize() 160 if (dinit->aad_len >= AAD_LENGTH_OVERFLOW) in caam_ae_initialize() 163 caam_ctx = dinit->ctx; in caam_ae_initialize() 167 caam_ctx->encrypt = dinit->encrypt; in caam_ae_initialize() 168 caam_ctx->aad_length = dinit->aad_len; in caam_ae_initialize() 169 caam_ctx->payload_length = dinit->payload_len; in caam_ae_initialize() 170 caam_ctx->tag_length = dinit->tag_len; in caam_ae_initialize() 172 if (dinit->key.data && dinit->key.length) { in caam_ae_initialize() 173 retstatus = caam_cpy_buf(&caam_ctx->key, dinit->key.data, in caam_ae_initialize() [all …]
|
| /optee_os/core/drivers/crypto/caam/cipher/ |
| H A D | caam_cipher.c | 376 TEE_Result caam_cipher_initialize(struct drvcrypt_cipher_init *dinit) in caam_cipher_initialize() argument 380 struct cipherdata *cipherdata = dinit->ctx; in caam_cipher_initialize() 383 CIPHER_TRACE("Action %s", dinit->encrypt ? "Encrypt" : "Decrypt"); in caam_cipher_initialize() 392 if (!dinit->key1.data || !dinit->key1.length) in caam_cipher_initialize() 395 retstatus = do_check_keysize(&alg->def_key, dinit->key1.length); in caam_cipher_initialize() 402 retstatus = caam_cpy_buf(&cipherdata->key1, dinit->key1.data, in caam_cipher_initialize() 403 dinit->key1.length); in caam_cipher_initialize() 413 if (!dinit->key2.data || !dinit->key2.length) in caam_cipher_initialize() 416 retstatus = do_check_keysize(&alg->def_key, dinit->key2.length); in caam_cipher_initialize() 423 retstatus = caam_cpy_buf(&cipherdata->key2, dinit->key2.data, in caam_cipher_initialize() [all …]
|
| H A D | caam_cipher_mac.c | 583 struct drvcrypt_cipher_init dinit = { }; in do_cmac_init() local 606 dinit.ctx = macdata; in do_cmac_init() 607 dinit.encrypt = true; in do_cmac_init() 608 dinit.key1.data = (uint8_t *)key; in do_cmac_init() 609 dinit.key1.length = len; in do_cmac_init() 610 dinit.key2.data = NULL; in do_cmac_init() 611 dinit.key2.length = 0; in do_cmac_init() 612 dinit.iv.data = iv_tmp; in do_cmac_init() 613 dinit.iv.length = macdata->alg->size_ctx; in do_cmac_init() 614 ret = caam_cipher_initialize(&dinit); in do_cmac_init()
|
| H A D | local.h | 101 TEE_Result caam_cipher_initialize(struct drvcrypt_cipher_init *dinit);
|
| /optee_os/core/drivers/crypto/versal/ |
| H A D | authenc.c | 313 static TEE_Result do_init(struct drvcrypt_authenc_init *dinit) in do_init() argument 330 if (dinit->key.length != 32 && dinit->key.length != 16) in do_init() 333 if (dinit->key.length == 32) in do_init() 346 versal_mbox_alloc(dinit->key.length, dinit->key.data, &key); in do_init() 362 versal_mbox_alloc(dinit->nonce.length, dinit->nonce.data, &nonce); in do_init() 366 init->operation = dinit->encrypt ? XSECURE_ENCRYPT : XSECURE_DECRYPT; in do_init() 387 engine.init.operation = dinit->encrypt ? in do_init() 395 node->ctx = to_versal_ctx(dinit->ctx); in do_init()
|
| /optee_os/core/drivers/crypto/crypto_api/include/ |
| H A D | drvcrypt_cipher.h | 53 TEE_Result (*init)(struct drvcrypt_cipher_init *dinit);
|
| H A D | drvcrypt_authenc.h | 74 TEE_Result (*init)(struct drvcrypt_authenc_init *dinit);
|
| /optee_os/core/drivers/crypto/crypto_api/cipher/ |
| H A D | cipher.c | 89 struct drvcrypt_cipher_init dinit = { in cipher_init() local 100 ret = cipher->op->init(&dinit); in cipher_init()
|
| /optee_os/core/drivers/crypto/crypto_api/authenc/ |
| H A D | authenc.c | 92 struct drvcrypt_authenc_init dinit = { in authenc_init() local 104 ret = authenc->op->init(&dinit); in authenc_init()
|