OpenPACE
|
Functions | |
BUF_MEM * | PACE_STEP1_enc_nonce (const EAC_CTX *ctx, const PACE_SEC *pi) |
Generates and encrypts a nonce. More... | |
int | PACE_STEP2_dec_nonce (const EAC_CTX *ctx, const PACE_SEC *pi, const BUF_MEM *enc_nonce) |
Decrypt the nonce from the other party. More... | |
BUF_MEM * | PACE_STEP3A_generate_mapping_data (const EAC_CTX *ctx) |
Generate a mapping data to perform the mapping to ephemeral domain parameters. More... | |
int | PACE_STEP3A_map_generator (const EAC_CTX *ctx, const BUF_MEM *in) |
Map to the ephemeral domain parameters. More... | |
BUF_MEM * | PACE_STEP3B_generate_ephemeral_key (EAC_CTX *ctx) |
Generate a keypair for key agreement. More... | |
int | PACE_STEP3B_compute_shared_secret (const EAC_CTX *ctx, const BUF_MEM *in) |
Compute the shared secret for key agreement. More... | |
int | PACE_STEP3C_derive_keys (const EAC_CTX *ctx) |
Derives encryption and authentication keys. More... | |
BUF_MEM * | PACE_STEP3D_compute_authentication_token (const EAC_CTX *ctx, const BUF_MEM *pub) |
Compute the authentication token from domain parameters and public key. More... | |
int | PACE_STEP3D_verify_authentication_token (const EAC_CTX *ctx, const BUF_MEM *token) |
Verifies an authentication token. More... | |
Generates and encrypts a nonce.
[in,out] | ctx | EAC context. The nonce is saved in ctx. |
[in] | pi | Shared secret for PACE |
Decrypt the nonce from the other party.
[in,out] | ctx | EAC context The decrypted nonce is saved in ctx. |
[in] | pi | Shared secret for PACE |
[in] | enc_nonce | Encrypted nonce from the other party |
BUF_MEM* PACE_STEP3A_generate_mapping_data | ( | const EAC_CTX * | ctx | ) |
Generate a mapping data to perform the mapping to ephemeral domain parameters.
[in,out] | ctx | EAC context |
int PACE_STEP3A_map_generator | ( | const EAC_CTX * | ctx, |
const BUF_MEM * | in | ||
) |
Map to the ephemeral domain parameters.
[in,out] | ctx | EAC context |
[in] | in | Mapping data from the other party |
int PACE_STEP3B_compute_shared_secret | ( | const EAC_CTX * | ctx, |
const BUF_MEM * | in | ||
) |
Compute the shared secret for key agreement.
[in,out] | ctx | EAC context. The secret is saved in ctx. |
[in] | in | Public key from the other party |
BUF_MEM* PACE_STEP3B_generate_ephemeral_key | ( | EAC_CTX * | ctx | ) |
Generate a keypair for key agreement.
[in,out] | ctx | EAC context |
int PACE_STEP3C_derive_keys | ( | const EAC_CTX * | ctx | ) |
Derives encryption and authentication keys.
[in,out] | ctx | EAC context. The keys are saved in ctx. |
BUF_MEM* PACE_STEP3D_compute_authentication_token | ( | const EAC_CTX * | ctx, |
const BUF_MEM * | pub | ||
) |
Compute the authentication token from domain parameters and public key.
[in] | ctx | EAC context |
[in] | pub | Public key from the other party (generated in PACE step 3b) |
int PACE_STEP3D_verify_authentication_token | ( | const EAC_CTX * | ctx, |
const BUF_MEM * | token | ||
) |
Verifies an authentication token.
[in] | ctx | EAC context |
[in] | token | Authentication token from the other party |