DH_meth_set_bn_mod_exp (3)
Leading comments
Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) Standard preamble: ========================================================================
NAME
DH_meth_new, DH_meth_free, DH_meth_dup, DH_meth_get0_name, DH_meth_set1_name, DH_meth_get_flags, DH_meth_set_flags, DH_meth_get0_app_data, DH_meth_set0_app_data, DH_meth_get_generate_key, DH_meth_set_generate_key, DH_meth_get_compute_key, DH_meth_set_compute_key, DH_meth_get_bn_mod_exp, DH_meth_set_bn_mod_exp, DH_meth_get_init, DH_meth_set_init, DH_meth_get_finish, DH_meth_set_finish, DH_meth_get_generate_params, DH_meth_set_generate_params - Routines to build up DH methodsSYNOPSIS
#include <openssl/dh.h> DH_METHOD *DH_meth_new(const char *name, int flags); void DH_meth_free(DH_METHOD *dhm); DH_METHOD *DH_meth_dup(const DH_METHOD *dhm); const char *DH_meth_get0_name(const DH_METHOD *dhm); int DH_meth_set1_name(DH_METHOD *dhm, const char *name); int DH_meth_get_flags(DH_METHOD *dhm); int DH_meth_set_flags(DH_METHOD *dhm, int flags); void *DH_meth_get0_app_data(const DH_METHOD *dhm); int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data); int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *); int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH *)); int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) (unsigned char *key, const BIGNUM *pub_key, DH *dh); int DH_meth_set_compute_key(DH_METHOD *dhm, int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh)); int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) (const DH *dh, BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, int (*bn_mod_exp) (const DH *dh, BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)); int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *); int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)); int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *); int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)); int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) (DH *, int, int, BN_GENCB *); int DH_meth_set_generate_params(DH_METHOD *dhm, int (*generate_params) (DH *, int, int, BN_GENCB *));
DESCRIPTION
TheDH_meth_new() creates a new
DH_meth_dup() creates a duplicate copy of the
DH_meth_free() destroys a
DH_meth_get0_name() will return a pointer to the name of this
DH_meth_get_flags() returns the current value of the flags associated with this
The functions DH_meth_get0_app_data() and DH_meth_set0_app_data() provide the ability to associate implementation specific data with the
DH_meth_get_generate_key() and DH_meth_set_generate_key() get and set the function used for generating a new
DH_meth_get_compute_key() and DH_meth_set_compute_key() get and set the function used for computing a new
DH_meth_get_bn_mod_exp() and DH_meth_set_bn_mod_exp() get and set the function used for computing the following value:
r = a ^ p mod m
This function will be called by the default OpenSSL function for DH_generate_key(). The result is stored in the r parameter. This function may be
DH_meth_get_init() and DH_meth_set_init() get and set the function used for creating a new
DH_meth_get_finish() and DH_meth_set_finish() get and set the function used for destroying an instance of a
DH_meth_get_generate_params() and DH_meth_set_generate_params() get and set the function used for generating
RETURN VALUES
DH_meth_new() and DH_meth_dup() return the newly allocatedDH_meth_get0_name() and DH_meth_get_flags() return the name and flags associated with the
All other DH_meth_get_*() functions return the appropriate function pointer that has been set in the
DH_meth_set1_name() and all DH_meth_set_*() functions return 1 on success or 0 on failure.
SEE ALSO
dh(3), DH_new(3), DH_generate_parameters(3), DH_generate_key(3), DH_set_method(3), DH_size(3), DH_get0_pqg(3)HISTORY
The functions described here were added in OpenSSL 1.1.0.COPYRIGHT
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.Licensed under the OpenSSL license (the ``License''). You may not use this file except in compliance with the License. You can obtain a copy in the file