Lines Matching refs:operation
157 static psa_status_t cmac_setup(mbedtls_psa_mac_operation_t *operation, in cmac_setup() argument
184 ret = mbedtls_cipher_setup(&operation->ctx.cmac, cipher_info); in cmac_setup()
189 ret = mbedtls_cipher_cmac_starts(&operation->ctx.cmac, in cmac_setup()
203 mbedtls_psa_mac_operation_t *operation, in mac_init() argument
208 operation->alg = alg; in mac_init()
211 if (PSA_ALG_FULL_LENGTH_MAC(operation->alg) == PSA_ALG_CMAC) { in mac_init()
212 mbedtls_cipher_init(&operation->ctx.cmac); in mac_init()
217 if (PSA_ALG_IS_HMAC(operation->alg)) { in mac_init()
219 operation->ctx.hmac.alg = 0; in mac_init()
224 (void) operation; in mac_init()
229 memset(operation, 0, sizeof(*operation)); in mac_init()
234 psa_status_t mbedtls_psa_mac_abort(mbedtls_psa_mac_operation_t *operation) in mbedtls_psa_mac_abort() argument
236 if (operation->alg == 0) { in mbedtls_psa_mac_abort()
243 if (PSA_ALG_FULL_LENGTH_MAC(operation->alg) == PSA_ALG_CMAC) { in mbedtls_psa_mac_abort()
244 mbedtls_cipher_free(&operation->ctx.cmac); in mbedtls_psa_mac_abort()
248 if (PSA_ALG_IS_HMAC(operation->alg)) { in mbedtls_psa_mac_abort()
249 psa_hmac_abort_internal(&operation->ctx.hmac); in mbedtls_psa_mac_abort()
258 operation->alg = 0; in mbedtls_psa_mac_abort()
267 memset(operation, 0, sizeof(*operation)); in mbedtls_psa_mac_abort()
271 static psa_status_t psa_mac_setup(mbedtls_psa_mac_operation_t *operation, in psa_mac_setup() argument
280 if (operation->alg != 0) { in psa_mac_setup()
284 status = mac_init(operation, alg); in psa_mac_setup()
294 status = cmac_setup(operation, attributes, key_buffer); in psa_mac_setup()
299 status = psa_hmac_setup_internal(&operation->ctx.hmac, in psa_mac_setup()
313 mbedtls_psa_mac_abort(operation); in psa_mac_setup()
320 mbedtls_psa_mac_operation_t *operation, in mbedtls_psa_mac_sign_setup() argument
326 return psa_mac_setup(operation, attributes, in mbedtls_psa_mac_sign_setup()
331 mbedtls_psa_mac_operation_t *operation, in mbedtls_psa_mac_verify_setup() argument
337 return psa_mac_setup(operation, attributes, in mbedtls_psa_mac_verify_setup()
342 mbedtls_psa_mac_operation_t *operation, in mbedtls_psa_mac_update() argument
346 if (operation->alg == 0) { in mbedtls_psa_mac_update()
351 if (PSA_ALG_FULL_LENGTH_MAC(operation->alg) == PSA_ALG_CMAC) { in mbedtls_psa_mac_update()
353 mbedtls_cipher_cmac_update(&operation->ctx.cmac, in mbedtls_psa_mac_update()
358 if (PSA_ALG_IS_HMAC(operation->alg)) { in mbedtls_psa_mac_update()
359 return psa_hmac_update_internal(&operation->ctx.hmac, in mbedtls_psa_mac_update()
373 mbedtls_psa_mac_operation_t *operation, in psa_mac_finish_internal() argument
377 if (PSA_ALG_FULL_LENGTH_MAC(operation->alg) == PSA_ALG_CMAC) { in psa_mac_finish_internal()
379 int ret = mbedtls_cipher_cmac_finish(&operation->ctx.cmac, tmp); in psa_mac_finish_internal()
388 if (PSA_ALG_IS_HMAC(operation->alg)) { in psa_mac_finish_internal()
389 return psa_hmac_finish_internal(&operation->ctx.hmac, in psa_mac_finish_internal()
396 (void) operation; in psa_mac_finish_internal()
404 mbedtls_psa_mac_operation_t *operation, in mbedtls_psa_mac_sign_finish() argument
411 if (operation->alg == 0) { in mbedtls_psa_mac_sign_finish()
415 status = psa_mac_finish_internal(operation, mac, mac_size); in mbedtls_psa_mac_sign_finish()
424 mbedtls_psa_mac_operation_t *operation, in mbedtls_psa_mac_verify_finish() argument
431 if (operation->alg == 0) { in mbedtls_psa_mac_verify_finish()
440 status = psa_mac_finish_internal(operation, actual_mac, mac_length); in mbedtls_psa_mac_verify_finish()
467 mbedtls_psa_mac_operation_t operation = MBEDTLS_PSA_MAC_OPERATION_INIT; in mbedtls_psa_mac_compute() local
469 status = psa_mac_setup(&operation, in mbedtls_psa_mac_compute()
477 status = mbedtls_psa_mac_update(&operation, input, input_length); in mbedtls_psa_mac_compute()
483 status = psa_mac_finish_internal(&operation, mac, mac_size); in mbedtls_psa_mac_compute()
489 mbedtls_psa_mac_abort(&operation); in mbedtls_psa_mac_compute()