Lines Matching refs:operation
128 static psa_status_t psa_pake_ecjpake_setup(mbedtls_psa_pake_operation_t *operation) in psa_pake_ecjpake_setup() argument
132 mbedtls_ecjpake_init(&operation->ctx.jpake); in psa_pake_ecjpake_setup()
134 ret = mbedtls_ecjpake_setup(&operation->ctx.jpake, in psa_pake_ecjpake_setup()
135 operation->role, in psa_pake_ecjpake_setup()
138 operation->password, in psa_pake_ecjpake_setup()
139 operation->password_len); in psa_pake_ecjpake_setup()
141 mbedtls_platform_zeroize(operation->password, operation->password_len); in psa_pake_ecjpake_setup()
155 psa_status_t mbedtls_psa_pake_setup(mbedtls_psa_pake_operation_t *operation, in mbedtls_psa_pake_setup() argument
184 operation->password = mbedtls_calloc(1, password_len); in mbedtls_psa_pake_setup()
185 if (operation->password == NULL) { in mbedtls_psa_pake_setup()
202 status = psa_crypto_driver_pake_get_password(inputs, operation->password, in mbedtls_psa_pake_setup()
220 operation->password_len = actual_password_len; in mbedtls_psa_pake_setup()
221 operation->alg = cipher_suite.algorithm; in mbedtls_psa_pake_setup()
242 operation->role = MBEDTLS_ECJPAKE_CLIENT; in mbedtls_psa_pake_setup()
246 operation->role = MBEDTLS_ECJPAKE_SERVER; in mbedtls_psa_pake_setup()
252 operation->buffer_length = 0; in mbedtls_psa_pake_setup()
253 operation->buffer_offset = 0; in mbedtls_psa_pake_setup()
255 status = psa_pake_ecjpake_setup(operation); in mbedtls_psa_pake_setup()
266 (void) operation; in mbedtls_psa_pake_setup()
278 mbedtls_psa_pake_abort(operation); in mbedtls_psa_pake_setup()
283 mbedtls_psa_pake_operation_t *operation, in mbedtls_psa_pake_output_internal() argument
308 if (operation->alg == PSA_ALG_JPAKE) { in mbedtls_psa_pake_output_internal()
311 ret = mbedtls_ecjpake_write_round_one(&operation->ctx.jpake, in mbedtls_psa_pake_output_internal()
312 operation->buffer, in mbedtls_psa_pake_output_internal()
313 sizeof(operation->buffer), in mbedtls_psa_pake_output_internal()
314 &operation->buffer_length, in mbedtls_psa_pake_output_internal()
321 operation->buffer_offset = 0; in mbedtls_psa_pake_output_internal()
323 ret = mbedtls_ecjpake_write_round_two(&operation->ctx.jpake, in mbedtls_psa_pake_output_internal()
324 operation->buffer, in mbedtls_psa_pake_output_internal()
325 sizeof(operation->buffer), in mbedtls_psa_pake_output_internal()
326 &operation->buffer_length, in mbedtls_psa_pake_output_internal()
333 operation->buffer_offset = 0; in mbedtls_psa_pake_output_internal()
348 operation->role == MBEDTLS_ECJPAKE_SERVER) { in mbedtls_psa_pake_output_internal()
350 operation->buffer_offset += 3; in mbedtls_psa_pake_output_internal()
354 length = operation->buffer[operation->buffer_offset]; in mbedtls_psa_pake_output_internal()
355 operation->buffer_offset += 1; in mbedtls_psa_pake_output_internal()
357 if (operation->buffer_offset + length > operation->buffer_length) { in mbedtls_psa_pake_output_internal()
366 operation->buffer + operation->buffer_offset, in mbedtls_psa_pake_output_internal()
370 operation->buffer_offset += length; in mbedtls_psa_pake_output_internal()
375 mbedtls_platform_zeroize(operation->buffer, sizeof(operation->buffer)); in mbedtls_psa_pake_output_internal()
376 operation->buffer_length = 0; in mbedtls_psa_pake_output_internal()
377 operation->buffer_offset = 0; in mbedtls_psa_pake_output_internal()
391 psa_status_t mbedtls_psa_pake_output(mbedtls_psa_pake_operation_t *operation, in mbedtls_psa_pake_output() argument
398 operation, step, output, output_size, output_length); in mbedtls_psa_pake_output()
404 mbedtls_psa_pake_operation_t *operation, in mbedtls_psa_pake_input_internal() argument
428 if (operation->alg == PSA_ALG_JPAKE) { in mbedtls_psa_pake_input_internal()
439 operation->role == MBEDTLS_ECJPAKE_CLIENT) { in mbedtls_psa_pake_input_internal()
447 if (operation->buffer_length + sizeof(ecparameters) > in mbedtls_psa_pake_input_internal()
448 sizeof(operation->buffer)) { in mbedtls_psa_pake_input_internal()
452 memcpy(operation->buffer + operation->buffer_length, in mbedtls_psa_pake_input_internal()
454 operation->buffer_length += sizeof(ecparameters); in mbedtls_psa_pake_input_internal()
462 if (operation->buffer_length + input_length + 1 > sizeof(operation->buffer)) { in mbedtls_psa_pake_input_internal()
467 operation->buffer[operation->buffer_length] = (uint8_t) input_length; in mbedtls_psa_pake_input_internal()
468 operation->buffer_length += 1; in mbedtls_psa_pake_input_internal()
471 memcpy(operation->buffer + operation->buffer_length, in mbedtls_psa_pake_input_internal()
473 operation->buffer_length += input_length; in mbedtls_psa_pake_input_internal()
477 ret = mbedtls_ecjpake_read_round_one(&operation->ctx.jpake, in mbedtls_psa_pake_input_internal()
478 operation->buffer, in mbedtls_psa_pake_input_internal()
479 operation->buffer_length); in mbedtls_psa_pake_input_internal()
481 mbedtls_platform_zeroize(operation->buffer, sizeof(operation->buffer)); in mbedtls_psa_pake_input_internal()
482 operation->buffer_length = 0; in mbedtls_psa_pake_input_internal()
488 ret = mbedtls_ecjpake_read_round_two(&operation->ctx.jpake, in mbedtls_psa_pake_input_internal()
489 operation->buffer, in mbedtls_psa_pake_input_internal()
490 operation->buffer_length); in mbedtls_psa_pake_input_internal()
492 mbedtls_platform_zeroize(operation->buffer, sizeof(operation->buffer)); in mbedtls_psa_pake_input_internal()
493 operation->buffer_length = 0; in mbedtls_psa_pake_input_internal()
510 psa_status_t mbedtls_psa_pake_input(mbedtls_psa_pake_operation_t *operation, in mbedtls_psa_pake_input() argument
516 operation, step, input, input_length); in mbedtls_psa_pake_input()
522 mbedtls_psa_pake_operation_t *operation, in mbedtls_psa_pake_get_implicit_key() argument
529 if (operation->alg == PSA_ALG_JPAKE) { in mbedtls_psa_pake_get_implicit_key()
530 ret = mbedtls_ecjpake_write_shared_key(&operation->ctx.jpake, in mbedtls_psa_pake_get_implicit_key()
548 psa_status_t mbedtls_psa_pake_abort(mbedtls_psa_pake_operation_t *operation) in mbedtls_psa_pake_abort() argument
550 mbedtls_zeroize_and_free(operation->password, operation->password_len); in mbedtls_psa_pake_abort()
551 operation->password = NULL; in mbedtls_psa_pake_abort()
552 operation->password_len = 0; in mbedtls_psa_pake_abort()
555 if (operation->alg == PSA_ALG_JPAKE) { in mbedtls_psa_pake_abort()
556 operation->role = MBEDTLS_ECJPAKE_NONE; in mbedtls_psa_pake_abort()
557 mbedtls_platform_zeroize(operation->buffer, sizeof(operation->buffer)); in mbedtls_psa_pake_abort()
558 operation->buffer_length = 0; in mbedtls_psa_pake_abort()
559 operation->buffer_offset = 0; in mbedtls_psa_pake_abort()
560 mbedtls_ecjpake_free(&operation->ctx.jpake); in mbedtls_psa_pake_abort()
564 operation->alg = PSA_ALG_NONE; in mbedtls_psa_pake_abort()