OpenSSL  1.0.1c
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Functions
dh.h File Reference
#include <openssl/e_os2.h>
#include <openssl/bio.h>
#include <openssl/ossl_typ.h>
#include <openssl/bn.h>

Go to the source code of this file.

Classes

struct  dh_method
 
struct  dh_st
 

Macros

#define OPENSSL_DH_MAX_MODULUS_BITS   10000
 
#define DH_FLAG_CACHE_MONT_P   0x01
 
#define DH_FLAG_NO_EXP_CONSTTIME
 
#define DH_FLAG_FIPS_METHOD   0x0400
 
#define DH_FLAG_NON_FIPS_ALLOW   0x0400
 
#define DH_GENERATOR_2   2
 
#define DH_GENERATOR_5   5
 
#define DH_CHECK_P_NOT_PRIME   0x01
 
#define DH_CHECK_P_NOT_SAFE_PRIME   0x02
 
#define DH_UNABLE_TO_CHECK_GENERATOR   0x04
 
#define DH_NOT_SUITABLE_GENERATOR   0x08
 
#define DH_CHECK_PUBKEY_TOO_SMALL   0x01
 
#define DH_CHECK_PUBKEY_TOO_LARGE   0x02
 
#define DH_CHECK_P_NOT_STRONG_PRIME   DH_CHECK_P_NOT_SAFE_PRIME
 
#define d2i_DHparams_fp(fp, x)
 
#define i2d_DHparams_fp(fp, x)
 
#define d2i_DHparams_bio(bp, x)   ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x)
 
#define i2d_DHparams_bio(bp, x)   ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x)
 
#define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len)
 
#define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen)
 
#define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN   (EVP_PKEY_ALG_CTRL + 1)
 
#define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR   (EVP_PKEY_ALG_CTRL + 2)
 
#define DH_F_COMPUTE_KEY   102
 
#define DH_F_DHPARAMS_PRINT_FP   101
 
#define DH_F_DH_BUILTIN_GENPARAMS   106
 
#define DH_F_DH_COMPUTE_KEY   114
 
#define DH_F_DH_GENERATE_KEY   115
 
#define DH_F_DH_GENERATE_PARAMETERS_EX   116
 
#define DH_F_DH_NEW_METHOD   105
 
#define DH_F_DH_PARAM_DECODE   107
 
#define DH_F_DH_PRIV_DECODE   110
 
#define DH_F_DH_PRIV_ENCODE   111
 
#define DH_F_DH_PUB_DECODE   108
 
#define DH_F_DH_PUB_ENCODE   109
 
#define DH_F_DO_DH_PRINT   100
 
#define DH_F_GENERATE_KEY   103
 
#define DH_F_GENERATE_PARAMETERS   104
 
#define DH_F_PKEY_DH_DERIVE   112
 
#define DH_F_PKEY_DH_KEYGEN   113
 
#define DH_R_BAD_GENERATOR   101
 
#define DH_R_BN_DECODE_ERROR   109
 
#define DH_R_BN_ERROR   106
 
#define DH_R_DECODE_ERROR   104
 
#define DH_R_INVALID_PUBKEY   102
 
#define DH_R_KEYS_NOT_SET   108
 
#define DH_R_KEY_SIZE_TOO_SMALL   110
 
#define DH_R_MODULUS_TOO_LARGE   103
 
#define DH_R_NON_FIPS_METHOD   111
 
#define DH_R_NO_PARAMETERS_SET   107
 
#define DH_R_NO_PRIVATE_VALUE   100
 
#define DH_R_PARAMETER_ENCODING_ERROR   105
 

Functions

DHDHparams_dup (DH *)
 
const DH_METHODDH_OpenSSL (void)
 
void DH_set_default_method (const DH_METHOD *meth)
 
const DH_METHODDH_get_default_method (void)
 
int DH_set_method (DH *dh, const DH_METHOD *meth)
 
DHDH_new_method (ENGINE *engine)
 
DHDH_new (void)
 
void DH_free (DH *dh)
 
int DH_up_ref (DH *dh)
 
int DH_size (const DH *dh)
 
int DH_get_ex_new_index (long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)
 
int DH_set_ex_data (DH *d, int idx, void *arg)
 
voidDH_get_ex_data (DH *d, int idx)
 
DHDH_generate_parameters (int prime_len, int generator, void(*callback)(int, int, void *), void *cb_arg)
 
int DH_generate_parameters_ex (DH *dh, int prime_len, int generator, BN_GENCB *cb)
 
int DH_check (const DH *dh, int *codes)
 
int DH_check_pub_key (const DH *dh, const BIGNUM *pub_key, int *codes)
 
int DH_generate_key (DH *dh)
 
int DH_compute_key (unsigned char *key, const BIGNUM *pub_key, DH *dh)
 
DHd2i_DHparams (DH **a, const unsigned char **pp, long length)
 
int i2d_DHparams (const DH *a, unsigned char **pp)
 
int DHparams_print_fp (FILE *fp, const DH *x)
 
int DHparams_print (BIO *bp, const DH *x)
 
void ERR_load_DH_strings (void)
 

Macro Definition Documentation

#define d2i_DHparams_bio (   bp,
 
)    ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x)

Definition at line 173 of file dh.h.

#define d2i_DHparams_fp (   fp,
 
)
Value:
(DH *)ASN1_d2i_fp((char *(*)())DH_new, \
(char *(*)())d2i_DHparams,(fp),(unsigned char **)(x))

Definition at line 169 of file dh.h.

#define DH_CHECK_P_NOT_PRIME   0x01

Definition at line 156 of file dh.h.

#define DH_CHECK_P_NOT_SAFE_PRIME   0x02

Definition at line 157 of file dh.h.

#define DH_CHECK_P_NOT_STRONG_PRIME   DH_CHECK_P_NOT_SAFE_PRIME

Definition at line 167 of file dh.h.

#define DH_CHECK_PUBKEY_TOO_LARGE   0x02

Definition at line 163 of file dh.h.

#define DH_CHECK_PUBKEY_TOO_SMALL   0x01

Definition at line 162 of file dh.h.

#define DH_F_COMPUTE_KEY   102

Definition at line 239 of file dh.h.

#define DH_F_DH_BUILTIN_GENPARAMS   106

Definition at line 241 of file dh.h.

#define DH_F_DH_COMPUTE_KEY   114

Definition at line 242 of file dh.h.

#define DH_F_DH_GENERATE_KEY   115

Definition at line 243 of file dh.h.

#define DH_F_DH_GENERATE_PARAMETERS_EX   116

Definition at line 244 of file dh.h.

#define DH_F_DH_NEW_METHOD   105

Definition at line 245 of file dh.h.

#define DH_F_DH_PARAM_DECODE   107

Definition at line 246 of file dh.h.

#define DH_F_DH_PRIV_DECODE   110

Definition at line 247 of file dh.h.

#define DH_F_DH_PRIV_ENCODE   111

Definition at line 248 of file dh.h.

#define DH_F_DH_PUB_DECODE   108

Definition at line 249 of file dh.h.

#define DH_F_DH_PUB_ENCODE   109

Definition at line 250 of file dh.h.

#define DH_F_DHPARAMS_PRINT_FP   101

Definition at line 240 of file dh.h.

#define DH_F_DO_DH_PRINT   100

Definition at line 251 of file dh.h.

#define DH_F_GENERATE_KEY   103

Definition at line 252 of file dh.h.

#define DH_F_GENERATE_PARAMETERS   104

Definition at line 253 of file dh.h.

#define DH_F_PKEY_DH_DERIVE   112

Definition at line 254 of file dh.h.

#define DH_F_PKEY_DH_KEYGEN   113

Definition at line 255 of file dh.h.

#define DH_FLAG_CACHE_MONT_P   0x01

Definition at line 80 of file dh.h.

#define DH_FLAG_FIPS_METHOD   0x0400

Definition at line 89 of file dh.h.

#define DH_FLAG_NO_EXP_CONSTTIME
Value:
0x02 /* new with 0.9.7h; the built-in DH
* implementation now uses constant time
* modular exponentiation for secret exponents
* by default. This flag causes the
* faster variable sliding window method to
* be used for all exponents.
*/

Definition at line 81 of file dh.h.

#define DH_FLAG_NON_FIPS_ALLOW   0x0400

Definition at line 96 of file dh.h.

#define DH_GENERATOR_2   2

Definition at line 151 of file dh.h.

#define DH_GENERATOR_5   5

Definition at line 153 of file dh.h.

#define DH_NOT_SUITABLE_GENERATOR   0x08

Definition at line 159 of file dh.h.

#define DH_R_BAD_GENERATOR   101

Definition at line 258 of file dh.h.

#define DH_R_BN_DECODE_ERROR   109

Definition at line 259 of file dh.h.

#define DH_R_BN_ERROR   106

Definition at line 260 of file dh.h.

#define DH_R_DECODE_ERROR   104

Definition at line 261 of file dh.h.

#define DH_R_INVALID_PUBKEY   102

Definition at line 262 of file dh.h.

#define DH_R_KEY_SIZE_TOO_SMALL   110

Definition at line 264 of file dh.h.

#define DH_R_KEYS_NOT_SET   108

Definition at line 263 of file dh.h.

#define DH_R_MODULUS_TOO_LARGE   103

Definition at line 265 of file dh.h.

#define DH_R_NO_PARAMETERS_SET   107

Definition at line 267 of file dh.h.

#define DH_R_NO_PRIVATE_VALUE   100

Definition at line 268 of file dh.h.

#define DH_R_NON_FIPS_METHOD   111

Definition at line 266 of file dh.h.

#define DH_R_PARAMETER_ENCODING_ERROR   105

Definition at line 269 of file dh.h.

#define DH_UNABLE_TO_CHECK_GENERATOR   0x04

Definition at line 158 of file dh.h.

#define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR   (EVP_PKEY_ALG_CTRL + 2)

Definition at line 227 of file dh.h.

#define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN   (EVP_PKEY_ALG_CTRL + 1)

Definition at line 226 of file dh.h.

#define EVP_PKEY_CTX_set_dh_paramgen_generator (   ctx,
  gen 
)
#define EVP_PKEY_CTX_set_dh_paramgen_prime_len (   ctx,
  len 
)
#define i2d_DHparams_bio (   bp,
 
)    ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x)

Definition at line 174 of file dh.h.

#define i2d_DHparams_fp (   fp,
 
)
Value:
(unsigned char *)(x))

Definition at line 171 of file dh.h.

#define OPENSSL_DH_MAX_MODULUS_BITS   10000

Definition at line 77 of file dh.h.

Function Documentation

DH* d2i_DHparams ( DH **  a,
const unsigned char **  pp,
long  length 
)
int DH_check ( const DH dh,
int *  codes 
)

Definition at line 73 of file dh_check.c.

int DH_check_pub_key ( const DH dh,
const BIGNUM pub_key,
int *  codes 
)

Definition at line 122 of file dh_check.c.

int DH_compute_key ( unsigned char *  key,
const BIGNUM pub_key,
DH dh 
)

Definition at line 87 of file dh_key.c.

void DH_free ( DH dh)

Definition at line 187 of file dh_lib.c.

int DH_generate_key ( DH dh)

Definition at line 74 of file dh_key.c.

DH* DH_generate_parameters ( int  prime_len,
int  generator,
void(*)(int, int, void *)  callback,
void cb_arg 
)

Definition at line 67 of file dh_depr.c.

int DH_generate_parameters_ex ( DH dh,
int  prime_len,
int  generator,
BN_GENCB cb 
)

Definition at line 75 of file dh_gen.c.

const DH_METHOD* DH_get_default_method ( void  )

Definition at line 80 of file dh_lib.c.

void* DH_get_ex_data ( DH d,
int  idx 
)

Definition at line 252 of file dh_lib.c.

int DH_get_ex_new_index ( long  argl,
void argp,
CRYPTO_EX_new new_func,
CRYPTO_EX_dup dup_func,
CRYPTO_EX_free free_func 
)

Definition at line 240 of file dh_lib.c.

DH* DH_new ( void  )

Definition at line 115 of file dh_lib.c.

DH* DH_new_method ( ENGINE engine)

Definition at line 120 of file dh_lib.c.

const DH_METHOD* DH_OpenSSL ( void  )

Definition at line 112 of file dh_key.c.

void DH_set_default_method ( const DH_METHOD meth)

Definition at line 75 of file dh_lib.c.

int DH_set_ex_data ( DH d,
int  idx,
void arg 
)

Definition at line 247 of file dh_lib.c.

int DH_set_method ( DH dh,
const DH_METHOD meth 
)

Definition at line 96 of file dh_lib.c.

int DH_size ( const DH dh)

Definition at line 257 of file dh_lib.c.

int DH_up_ref ( DH dh)

Definition at line 224 of file dh_lib.c.

DH* DHparams_dup ( DH )
int DHparams_print ( BIO bp,
const DH x 
)

Definition at line 464 of file dh_ameth.c.

int DHparams_print_fp ( FILE *  fp,
const DH x 
)

Definition at line 65 of file dh_prn.c.

void ERR_load_DH_strings ( void  )

Definition at line 112 of file dh_err.c.

int i2d_DHparams ( const DH a,
unsigned char **  pp 
)