📄 dh.pod
字号:
=pod=head1 NAMEdh - Diffie-Hellman key agreement=head1 SYNOPSIS #include <openssl/dh.h> #include <openssl/engine.h> DH * DH_new(void); void DH_free(DH *dh); int DH_size(const DH *dh); DH * DH_generate_parameters(int prime_len, int generator, void (*callback)(int, int, void *), void *cb_arg); int DH_check(const DH *dh, int *codes); int DH_generate_key(DH *dh); int DH_compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh); void DH_set_default_method(const DH_METHOD *meth); const DH_METHOD *DH_get_default_method(void); int DH_set_method(DH *dh, const DH_METHOD *meth); DH *DH_new_method(ENGINE *engine); const 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(const DH *a, unsigned char **pp); int DHparams_print_fp(FILE *fp, const DH *x); int DHparams_print(BIO *bp, const DH *x);=head1 DESCRIPTIONThese functions implement the Diffie-Hellman key agreement protocol.The generation of shared DH parameters is described inL<DH_generate_parameters(3)|DH_generate_parameters(3)>; L<DH_generate_key(3)|DH_generate_key(3)> describes howto perform a key agreement.The B<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 // ... }; DHNote that DH keys may use non-standard B<DH_METHOD> implementations,either directly or by the use of B<ENGINE> modules. In some cases (eg. anENGINE providing support for hardware-embedded keys), these BIGNUM valueswill not be used by the implementation or may be used for alternative datastorage. For this reason, applications should generally avoid using DHstructure elements directly and instead use API functions to query ormodify keys.=head1 SEE ALSOL<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<err(3)|err(3)>,L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,L<DH_set_method(3)|DH_set_method(3)>, L<DH_new(3)|DH_new(3)>,L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)>,L<DH_generate_parameters(3)|DH_generate_parameters(3)>,L<DH_compute_key(3)|DH_compute_key(3)>, L<d2i_DHparams(3)|d2i_DHparams(3)>,L<RSA_print(3)|RSA_print(3)> =cut
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -