table of contents
hcrypto_dh(3) | Heimdal crypto library | hcrypto_dh(3) |
NAME¶
hcrypto_dh - Diffie-Hellman functions
Functions¶
const DH_METHOD * DH_ltm_method (void)
DH * DH_new (void)
DH * DH_new_method (ENGINE *engine)
void DH_free (DH *dh)
int DH_up_ref (DH *dh)
int DH_size (const DH *dh)
int DH_set_ex_data (DH *dh, int idx, void *data)
void * DH_get_ex_data (DH *dh, int idx)
int DH_generate_parameters_ex (DH *dh, int prime_len, int generator,
BN_GENCB *cb)
int DH_check_pubkey (const DH *dh, const BIGNUM *pub_key, int *codes)
int DH_generate_key (DH *dh)
int DH_compute_key (unsigned char *shared_key, const BIGNUM
*peer_pub_key, DH *dh)
int DH_set_method (DH *dh, const DH_METHOD *method)
const DH_METHOD * DH_null_method (void)
void DH_set_default_method (const DH_METHOD *meth)
const DH_METHOD * DH_get_default_method (void)
Detailed Description¶
See the DH - Diffie-Hellman key exchange for description and examples.
Function Documentation¶
int DH_check_pubkey (const DH * dh, const BIGNUM * pub_key, int * codes)¶
Check that the public key is sane.
Parameters:
pub_key the remote peer public key parameters.
codes return that the failures of the pub_key are.
Returns:
Checks that the function performs are:
- pub_key is not negative
- pub_key > 1 and pub_key < p - 1, to avoid small subgroups attack.
- if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival
int DH_compute_key (unsigned char * shared_key, const BIGNUM * peer_pub_key, DH * dh)¶
Complute the shared secret key.
Parameters:
peer_pub_key the peer's public key.
dh the dh key pair.
Returns:
Checks that the pubkey passed in is valid using DH_check_pubkey().
void DH_free (DH * dh)¶
Free a DH object and release related resources, like ENGINE, that the object was using.
Parameters:
int DH_generate_key (DH * dh)¶
Generate a new DH private-public key pair. The dh parameter must be allocted first with DH_new(). dh->p and dp->g must be set.
Parameters:
Returns:
int DH_generate_parameters_ex (DH * dh, int prime_len, int generator, BN_GENCB * cb)¶
Generate DH parameters for the DH object give parameters.
Parameters:
prime_len length of the prime
generator generator, g
cb Callback parameters to show progress, can be NULL.
Returns:
const DH_METHOD* DH_get_default_method (void)¶
Return the default DH implementation.
Returns:
void* DH_get_ex_data (DH * dh, int idx)¶
Get the data for index idx in the DH object.
Parameters:
idx index to get the data for.
Returns:
const DH_METHOD* DH_ltm_method (void)¶
DH implementation using libtommath.
Returns:
DH* DH_new (void)¶
Create a new DH object using DH_new_method(NULL), see DH_new_method().
Returns:
DH* DH_new_method (ENGINE * engine)¶
Create a new DH object from the given engine, if the NULL is used, the default engine is used. Free the DH object with DH_free().
Parameters:
Returns:
const DH_METHOD* DH_null_method (void)¶
Return the dummy DH implementation.
Returns:
void DH_set_default_method (const DH_METHOD * meth)¶
Set the default DH implementation.
Parameters:
int DH_set_ex_data (DH * dh, int idx, void * data)¶
Set the data index idx in the DH object to data.
Parameters:
idx index to set the data for.
data data to store for the index idx.
Returns:
int DH_set_method (DH * dh, const DH_METHOD * method)¶
Set a new method for the DH keypair.
Parameters:
method the new method for the DH parameter.
Returns:
int DH_size (const DH * dh)¶
The maximum output size of the DH_compute_key() function.
Parameters:
Returns:
int DH_up_ref (DH * dh)¶
Add a reference to the DH object. The object should be free with DH_free() to drop the reference.
Parameters:
Returns:
Author¶
Generated automatically by Doxygen for Heimdal crypto library from the source code.
Tue Jul 11 2017 | Version 7.4.0 |