Lines Matching refs:dinit

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()
142 struct drvcrypt_authenc_init *dinit) in stm32_ae_ccm_generate_b0() argument
144 size_t m = dinit->tag_len; in stm32_ae_ccm_generate_b0()
145 size_t l = 15 - dinit->nonce.length; in stm32_ae_ccm_generate_b0()
146 size_t payload_len = dinit->payload_len; in stm32_ae_ccm_generate_b0()
154 b0[0] = ((dinit->aad_len ? 1 : 0) << 6) | in stm32_ae_ccm_generate_b0()
159 memcpy(b0 + 1, dinit->nonce.data, dinit->nonce.length); in stm32_ae_ccm_generate_b0()
167 struct drvcrypt_authenc_init *dinit) in stm32_ae_ccm_push_b1() argument
172 if (dinit->aad_len == 0) in stm32_ae_ccm_push_b1()
175 if (dinit->aad_len < 0x100) { in stm32_ae_ccm_push_b1()
176 b1[1] = dinit->aad_len; in stm32_ae_ccm_push_b1()
178 } else if (dinit->aad_len < 0xFF00) { in stm32_ae_ccm_push_b1()
179 b1[0] = dinit->aad_len / 0x100; in stm32_ae_ccm_push_b1()
180 b1[1] = dinit->aad_len % 0x100; in stm32_ae_ccm_push_b1()
182 } else if (dinit->aad_len <= UINT32_MAX) { in stm32_ae_ccm_push_b1()
185 b1[2] = dinit->aad_len & GENMASK_32(7, 0); in stm32_ae_ccm_push_b1()
186 b1[3] = (dinit->aad_len & GENMASK_32(15, 8)) >> 8; in stm32_ae_ccm_push_b1()
187 b1[4] = (dinit->aad_len & GENMASK_32(23, 16)) >> 16; in stm32_ae_ccm_push_b1()
188 b1[5] = (dinit->aad_len & GENMASK_32(31, 24)) >> 24; in stm32_ae_ccm_push_b1()
193 b1[2] = dinit->aad_len & GENMASK_64(7, 0); in stm32_ae_ccm_push_b1()
194 b1[3] = (dinit->aad_len & GENMASK_64(15, 8)) >> 8; in stm32_ae_ccm_push_b1()
195 b1[4] = (dinit->aad_len & GENMASK_64(23, 16)) >> 16; in stm32_ae_ccm_push_b1()
196 b1[5] = (dinit->aad_len & GENMASK_64(31, 24)) >> 24; in stm32_ae_ccm_push_b1()
197 b1[6] = (dinit->aad_len & GENMASK_64(39, 32)) >> 32; in stm32_ae_ccm_push_b1()
198 b1[7] = (dinit->aad_len & GENMASK_64(47, 40)) >> 40; in stm32_ae_ccm_push_b1()
199 b1[8] = (dinit->aad_len & GENMASK_64(55, 48)) >> 48; in stm32_ae_ccm_push_b1()
200 b1[9] = (dinit->aad_len & GENMASK_64(63, 56)) >> 56; in stm32_ae_ccm_push_b1()
207 static TEE_Result stm32_ae_initialize(struct drvcrypt_authenc_init *dinit) in stm32_ae_initialize() argument
211 struct stm32_ae_ctx *c = to_stm32_ae_ctx(dinit->ctx); in stm32_ae_initialize()
214 res = stm32_ae_gcm_generate_iv(c, iv, dinit); in stm32_ae_initialize()
218 stm32_ae_ccm_generate_b0((uint8_t *)iv, dinit); in stm32_ae_initialize()
221 res = stm32_cryp_init(&c->cryp, !dinit->encrypt, c->algo, in stm32_ae_initialize()
222 dinit->key.data, dinit->key.length, iv, in stm32_ae_initialize()
228 return stm32_ae_ccm_push_b1(c, dinit); in stm32_ae_initialize()