Index Index for
Section 3
Index Alphabetical
listing for D
Bottom of page Bottom of
page

dh(3)

NAME

dh - Diffie-Hellman key agreement

SYNOPSIS

#include <openssl/dh.h> #include <openssl/engine.h> DH * DH_new( void ); void DH_free( DH *dh ); int DH_size( DH *dh ); DH * DH_generate_parameters( int prime_len, int generator, void (*callback)(int, int, void *), void *(cb_arg), int DH_check (DH *dh, int *codes) ); int DH_generate_key( DH *dh ); int DH_compute_key( unsigned char *key, IGNUM *pub_key, B, DH *dh ); void DH_set_default_openssl_method( DH_METHOD *meth ); DH_METHOD *DH_get_default_openssl_method( void ); int DH_set_method( DH *dh, ENGINE *engine ); DH *DH_new_method( ENGINE *engine ); DH_METHOD *DH_OpenSSL( void ); int DH_get_ex_new_index( long argl, char *argp, int (*new_func)(), int (*dup_func)()), void (*free_func)() ); int DH_set_ex_data( DH *d, int idx, char *arg ); char *DH_get_ex_data( DH *d, int idx ); DH * d2i_DHparams( DH **a, unsigned char **pp, long length ); int i2d_DHparams( DH *a, unsigned char **pp ); int DHparams_print_fp( FILE *fp, DH *x ); int DHparams_print( BIO *bp, DH *x );

DESCRIPTION

These functions implement the Diffie-Hellman key agreement protocol. The generation of shared DH parameters is described in DH_generate_parameters(3). See DH_generate_key(3) for a description of how to perform a key agreement. The DH structure consists of several BIGNUM components: struct { BIGNUM *p; // prime number (shared) BIGNUM *g; // generator of Z_p (shared) BIGNUM *priv_key; // private DH value x BIGNUM *pub_key; // public DH value g^x // ... }; DH

SEE ALSO

Commands: dhparam(1) Functions: bn(3), dsa(3), err(3), rand_ssl(3), rsa(3), DH_set_method(3), DH_new(3), DH_get_ex_new_index(3), DH_generate_parameters(3), DH_compute_key(3), d2i_DHparams(3), RSA_print(3)

Index Index for
Section 3
Index Alphabetical
listing for D
Top of page Top of
page