Context for a key agreement and subsequent derivation of session keys.
More...
#include <eac.h>
|
| const EVP_MD * | md |
| | Digest to use for key derivation.
|
| |
| ENGINE * | md_engine |
| | Digest's engine.
|
| |
| CMAC_CTX * | cmac_ctx |
| | Context for CMAC.
|
| |
| const EVP_CIPHER * | cipher |
| | Cipher to use for encryption/decryption.
|
| |
| ENGINE * | cipher_engine |
| | Cipher's engine.
|
| |
| unsigned char * | iv |
| | Initialisation vector for encryption/decryption.
|
| |
| int | mac_keylen |
| | Length of the computed key for the message authentication code.
|
| |
| int | enc_keylen |
| | Length of the computed key for the encryption/decryption.
|
| |
| BUF_MEM *(* | generate_key )(EVP_PKEY *key, BN_CTX *bn_ctx) |
| | Generates a key pair for key agreement.
|
| |
| BUF_MEM *(* | compute_key )(EVP_PKEY *key, const BUF_MEM *in, BN_CTX *bn_ctx) |
| | Completes a key agreement by computing the shared secret.
|
| |
| EVP_PKEY * | key |
| | Container for the key pair used for key agreement.
|
| |
| BUF_MEM * | shared_secret |
| | Shared secret computed during the key agreement protocol.
|
| |
| BUF_MEM * | k_enc |
| | Symmetric key used for encryption/decryption. Derived from KA_CTX.shared_secret.
|
| |
| BUF_MEM * | k_mac |
| | Symmetric key used for integrity protection. Derived from KA_CTX.shared_secret.
|
| |
Context for a key agreement and subsequent derivation of session keys.
- Note
- The key agreement itself is done via an underlying DH or ECDH.
Definition at line 95 of file eac.h.
◆ cipher
| const EVP_CIPHER* ka_ctx::cipher |
Cipher to use for encryption/decryption.
Definition at line 103 of file eac.h.
◆ cipher_engine
| ENGINE* ka_ctx::cipher_engine |
Cipher's engine.
Definition at line 105 of file eac.h.
◆ cmac_ctx
| CMAC_CTX* ka_ctx::cmac_ctx |
Context for CMAC.
Definition at line 101 of file eac.h.
◆ compute_key
| BUF_MEM *(* ka_ctx::compute_key) (EVP_PKEY *key, const BUF_MEM *in, BN_CTX *bn_ctx) |
Completes a key agreement by computing the shared secret.
- Parameters
-
| [in] | key | Object for key computation, usually &KA_CTX.key |
| [in] | in | Public key from the other party |
| [in] | bn_ctx | (optional) |
- Returns
- Shared secret or NULL in case of an error
Definition at line 131 of file eac.h.
◆ enc_keylen
Length of the computed key for the encryption/decryption.
Definition at line 111 of file eac.h.
◆ generate_key
| BUF_MEM *(* ka_ctx::generate_key) (EVP_PKEY *key, BN_CTX *bn_ctx) |
Generates a key pair for key agreement.
- Parameters
-
| [in] | key | Object for key generation, usually &KA_CTX.key |
| [in] | bn_ctx | (optional) |
- Returns
- Public key or NULL in case of an error
Definition at line 121 of file eac.h.
◆ iv
| unsigned char* ka_ctx::iv |
Initialisation vector for encryption/decryption.
Definition at line 107 of file eac.h.
◆ k_enc
◆ k_mac
◆ key
Container for the key pair used for key agreement.
Definition at line 134 of file eac.h.
◆ mac_keylen
Length of the computed key for the message authentication code.
Definition at line 109 of file eac.h.
◆ md
Digest to use for key derivation.
Definition at line 97 of file eac.h.
◆ md_engine
| ENGINE* ka_ctx::md_engine |
Digest's engine.
Definition at line 99 of file eac.h.
◆ shared_secret
| BUF_MEM* ka_ctx::shared_secret |
Shared secret computed during the key agreement protocol.
Definition at line 137 of file eac.h.
The documentation for this struct was generated from the following file: