|
iPXE
|
Finite Field Diffie-Hellman Ephemeral key exchange. More...
Go to the source code of this file.
Data Structures | |
| struct | ffdhe_group |
| A finite field DHE group. More... | |
Macros | |
| #define | FFDHE_GROUP(_name, _exchange, _constant, _bits, _expbits, _lsb) |
| Define a finite field DHE group. | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| FILE_SECBOOT (PERMITTED) | |
| int | ffdhe_share (struct exchange_algorithm *exchange, const void *private, void *public) |
| Share public key. | |
| int | ffdhe_agree (struct exchange_algorithm *exchange, const void *private, const void *partner, void *shared) |
| Agree shared secret. | |
| int | ffdhe_has_params (struct exchange_algorithm *exchange, const void *modulus, size_t len, const void *generator, size_t generator_len) |
| Check group parameters. | |
| static int | is_ffdhe (struct exchange_algorithm *exchange) |
| Check if key exchange algorithm is a finite field DHE group. | |
Variables | |
| struct exchange_algorithm | ffdhe2048_algorithm |
| struct exchange_algorithm | ffdhe3072_algorithm |
| struct exchange_algorithm | ffdhe4096_algorithm |
| struct exchange_algorithm | modp2048_algorithm |
| struct exchange_algorithm | modp3072_algorithm |
| struct exchange_algorithm | modp4096_algorithm |
Finite Field Diffie-Hellman Ephemeral key exchange.
Definition in file ffdhe.h.
| #define FFDHE_GROUP | ( | _name, | |
| _exchange, | |||
| _constant, | |||
| _bits, | |||
| _expbits, | |||
| _lsb ) |
Define a finite field DHE group.
Definition at line 58 of file ffdhe.h.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
| FILE_SECBOOT | ( | PERMITTED | ) |
|
extern |
Share public key.
| exchange | Key exchange algorithm |
| private | Private key |
| public | Public key to fill in |
| rc | Return status code |
Definition at line 275 of file ffdhe.c.
References ffdhe(), group, NULL, and exchange_algorithm::priv.
Referenced by is_ffdhe().
|
extern |
|
extern |
Check group parameters.
| exchange | Key exchange algorithm |
| dh_p | Prime modulus |
| dh_p_len | Length of prime modulus |
| dh_g | Generator |
| dh_g_len | Length of generator |
| match | Field parameters are correct for this group |
Leading zeros in the modulus and generator will be tolerated.
Definition at line 310 of file ffdhe.c.
References assert, ffdhe_modulus_t, group, is_ffdhe(), memcmp(), and exchange_algorithm::priv.
Referenced by tls_find_param_group().
|
inlinestatic |
Check if key exchange algorithm is a finite field DHE group.
| exchange | Key exchange algorithm |
| is_ffdhe | Key exchange algorithm is a finite field DHE group |
Definition at line 52 of file ffdhe.h.
References ffdhe_share(), and exchange_algorithm::share.
Referenced by ffdhe_has_params(), and tls_find_param_group().
|
extern |
Referenced by __tls_named_group(), EXCHANGE_TEST(), EXCHANGE_TEST(), EXCHANGE_TEST(), EXCHANGE_TEST(), and FFDHE_GROUP().
|
extern |
Referenced by __tls_named_group(), EXCHANGE_TEST(), and FFDHE_GROUP().
|
extern |
Referenced by __tls_named_group(), EXCHANGE_TEST(), and FFDHE_GROUP().
|
extern |
Referenced by EXCHANGE_TEST(), and FFDHE_GROUP().
|
extern |
Referenced by EXCHANGE_TEST(), and FFDHE_GROUP().
|
extern |
Referenced by EXCHANGE_TEST(), and FFDHE_GROUP().