Lines Matching refs:dinit

53 					   struct drvcrypt_authenc_init *dinit)  in stm32_ae_gcm_generate_iv()  argument
63 if (dinit->nonce.length == 12) { in stm32_ae_gcm_generate_iv()
64 memcpy(iv, dinit->nonce.data, dinit->nonce.length); in stm32_ae_gcm_generate_iv()
73 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv()
84 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv()
89 data_out = malloc(dinit->nonce.length); in stm32_ae_gcm_generate_iv()
93 res = stm32_cryp_update_load(&ctx, dinit->nonce.data, data_out, in stm32_ae_gcm_generate_iv()
94 dinit->nonce.length); in stm32_ae_gcm_generate_iv()
112 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv()
126 dinit->key.data, dinit->key.length, in stm32_ae_gcm_generate_iv()
146 struct drvcrypt_authenc_init *dinit) in stm32_ae_ccm_generate_b0() argument
148 size_t m = dinit->tag_len; in stm32_ae_ccm_generate_b0()
149 size_t l = 15 - dinit->nonce.length; in stm32_ae_ccm_generate_b0()
150 size_t payload_len = dinit->payload_len; in stm32_ae_ccm_generate_b0()
158 b0[0] = ((dinit->aad_len ? 1 : 0) << 6) | in stm32_ae_ccm_generate_b0()
163 memcpy(b0 + 1, dinit->nonce.data, dinit->nonce.length); in stm32_ae_ccm_generate_b0()
171 struct drvcrypt_authenc_init *dinit) in stm32_ae_ccm_push_b1() argument
176 if (dinit->aad_len == 0) in stm32_ae_ccm_push_b1()
179 if (dinit->aad_len < 0x100) { in stm32_ae_ccm_push_b1()
180 b1[1] = dinit->aad_len; in stm32_ae_ccm_push_b1()
182 } else if (dinit->aad_len < 0xFF00) { in stm32_ae_ccm_push_b1()
183 b1[0] = dinit->aad_len / 0x100; in stm32_ae_ccm_push_b1()
184 b1[1] = dinit->aad_len % 0x100; in stm32_ae_ccm_push_b1()
186 } else if (dinit->aad_len <= UINT32_MAX) { in stm32_ae_ccm_push_b1()
189 b1[2] = dinit->aad_len & GENMASK_32(7, 0); in stm32_ae_ccm_push_b1()
190 b1[3] = (dinit->aad_len & GENMASK_32(15, 8)) >> 8; in stm32_ae_ccm_push_b1()
191 b1[4] = (dinit->aad_len & GENMASK_32(23, 16)) >> 16; in stm32_ae_ccm_push_b1()
192 b1[5] = (dinit->aad_len & GENMASK_32(31, 24)) >> 24; in stm32_ae_ccm_push_b1()
197 b1[2] = dinit->aad_len & GENMASK_64(7, 0); in stm32_ae_ccm_push_b1()
198 b1[3] = (dinit->aad_len & GENMASK_64(15, 8)) >> 8; in stm32_ae_ccm_push_b1()
199 b1[4] = (dinit->aad_len & GENMASK_64(23, 16)) >> 16; in stm32_ae_ccm_push_b1()
200 b1[5] = (dinit->aad_len & GENMASK_64(31, 24)) >> 24; in stm32_ae_ccm_push_b1()
201 b1[6] = (dinit->aad_len & GENMASK_64(39, 32)) >> 32; in stm32_ae_ccm_push_b1()
202 b1[7] = (dinit->aad_len & GENMASK_64(47, 40)) >> 40; in stm32_ae_ccm_push_b1()
203 b1[8] = (dinit->aad_len & GENMASK_64(55, 48)) >> 48; in stm32_ae_ccm_push_b1()
204 b1[9] = (dinit->aad_len & GENMASK_64(63, 56)) >> 56; in stm32_ae_ccm_push_b1()
211 static TEE_Result stm32_ae_initialize(struct drvcrypt_authenc_init *dinit) in stm32_ae_initialize() argument
215 struct stm32_ae_ctx *c = to_stm32_ae_ctx(dinit->ctx); in stm32_ae_initialize()
218 res = stm32_ae_gcm_generate_iv(c, iv, dinit); in stm32_ae_initialize()
222 stm32_ae_ccm_generate_b0((uint8_t *)iv, dinit); in stm32_ae_initialize()
225 res = stm32_cryp_init(&c->cryp, !dinit->encrypt, c->algo, in stm32_ae_initialize()
226 dinit->key.data, dinit->key.length, iv, in stm32_ae_initialize()
232 return stm32_ae_ccm_push_b1(c, dinit); in stm32_ae_initialize()