iPXE
exchange_algorithm Struct Reference

A key exchange algorithm. More...

#include <crypto.h>

Data Fields

const char * name
 Algorithm name.
size_t privsize
 Private key size.
size_t pubsize
 Public key size.
size_t sharedsize
 Shared secret size.
int(* share )(struct exchange_algorithm *exchange, const void *private, void *public)
 Share public key.
int(* agree )(struct exchange_algorithm *exchange, const void *private, const void *partner, void *shared)
 Agree shared secret.
void * priv
 Algorithm private data.

Detailed Description

A key exchange algorithm.

Definition at line 210 of file crypto.h.

Field Documentation

◆ name

const char* exchange_algorithm::name

◆ privsize

size_t exchange_algorithm::privsize

Private key size.

Definition at line 214 of file crypto.h.

Referenced by elliptic_agree(), elliptic_share(), exchange_okx(), tls_agree_ephemeral(), and tls_share_ephemeral().

◆ pubsize

size_t exchange_algorithm::pubsize

◆ sharedsize

size_t exchange_algorithm::sharedsize

Shared secret size.

Definition at line 218 of file crypto.h.

Referenced by elliptic_agree(), elliptic_share(), exchange_okx(), and tls_agree_ephemeral().

◆ share

int(* exchange_algorithm::share) (struct exchange_algorithm *exchange, const void *private, void *public)

Share public key.

Parameters
exchangeKey exchange algorithm
privatePrivate key
publicPublic key to fill in
Return values
rcReturn status code

Definition at line 227 of file crypto.h.

Referenced by exchange_share(), and is_ffdhe().

◆ agree

int(* exchange_algorithm::agree) (struct exchange_algorithm *exchange, const void *private, const void *partner, void *shared)

Agree shared secret.

Parameters
exchangeKey exchange algorithm
privatePrivate key
partnerPartner public key
sharedShared secret to fill in
Return values
rcReturn status code

Definition at line 238 of file crypto.h.

Referenced by exchange_agree().

◆ priv

void* exchange_algorithm::priv

Algorithm private data.

Definition at line 242 of file crypto.h.

Referenced by elliptic_agree(), elliptic_share(), ffdhe_agree(), ffdhe_has_params(), and ffdhe_share().


The documentation for this struct was generated from the following file: