diff options
Diffstat (limited to 'static/netbsd/man3/hcrypto_dh.3')
| -rw-r--r-- | static/netbsd/man3/hcrypto_dh.3 | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/static/netbsd/man3/hcrypto_dh.3 b/static/netbsd/man3/hcrypto_dh.3 new file mode 100644 index 00000000..6017ee7a --- /dev/null +++ b/static/netbsd/man3/hcrypto_dh.3 @@ -0,0 +1,294 @@ +.\" $NetBSD: hcrypto_dh.3,v 1.3 2023/06/19 21:41:39 christos Exp $ +.\" +.TH "hcrypto_dh" 3 "Tue Nov 15 2022" "Version 7.8.0" "Heimdal crypto library" \" -*- nroff -*- +.ad l +.nh +.SH NAME +hcrypto_dh \- Diffie-Hellman functions +.SH SYNOPSIS +.br +.PP +.SS "Functions" + +.in +1c +.ti -1c +.RI "const DH_METHOD * \fBDH_ltm_method\fP (void)" +.br +.ti -1c +.RI "DH * \fBDH_new\fP (void)" +.br +.ti -1c +.RI "DH * \fBDH_new_method\fP (ENGINE *engine)" +.br +.ti -1c +.RI "void \fBDH_free\fP (DH *dh)" +.br +.ti -1c +.RI "int \fBDH_up_ref\fP (DH *dh)" +.br +.ti -1c +.RI "int \fBDH_size\fP (const DH *dh)" +.br +.ti -1c +.RI "int \fBDH_set_ex_data\fP (DH *dh, int idx, void *data)" +.br +.ti -1c +.RI "void * \fBDH_get_ex_data\fP (DH *dh, int idx)" +.br +.ti -1c +.RI "int \fBDH_generate_parameters_ex\fP (DH *dh, int prime_len, int generator, BN_GENCB *cb)" +.br +.ti -1c +.RI "int \fBDH_check_pubkey\fP (const DH *dh, const BIGNUM *pub_key, int *codes)" +.br +.ti -1c +.RI "int \fBDH_generate_key\fP (DH *dh)" +.br +.ti -1c +.RI "int \fBDH_compute_key\fP (unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)" +.br +.ti -1c +.RI "int \fBDH_set_method\fP (DH *dh, const DH_METHOD *method)" +.br +.ti -1c +.RI "const DH_METHOD * \fBDH_null_method\fP (void)" +.br +.ti -1c +.RI "void \fBDH_set_default_method\fP (const DH_METHOD *meth)" +.br +.ti -1c +.RI "const DH_METHOD * \fBDH_get_default_method\fP (void)" +.br +.in -1c +.SH "Detailed Description" +.PP +See the \fBDH - Diffie-Hellman key exchange\fP for description and examples\&. +.SH "Function Documentation" +.PP +.SS "int DH_check_pubkey (const DH * dh, const BIGNUM * pub_key, int * codes)" +Check that the public key is sane\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP the local peer DH parameters\&. +.br +\fIpub_key\fP the remote peer public key parameters\&. +.br +\fIcodes\fP return that the failures of the pub_key are\&. +.RE +.PP +\fBReturns\fP +.RS 4 +1 on success, 0 on failure and *codes is set the the combined fail check for the public key +.RE +.PP +Checks that the function performs are: +.IP "\(bu" 2 +pub_key is not negative +.IP "\(bu" 2 +pub_key > 1 and pub_key < p - 1, to avoid small subgroups attack\&. +.IP "\(bu" 2 +if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival +.PP + +.SS "int DH_compute_key (unsigned char * shared_key, const BIGNUM * peer_pub_key, DH * dh)" +Complute the shared secret key\&. +.PP +\fBParameters\fP +.RS 4 +\fIshared_key\fP the resulting shared key, need to be at least \fBDH_size()\fP large\&. +.br +\fIpeer_pub_key\fP the peer's public key\&. +.br +\fIdh\fP the dh key pair\&. +.RE +.PP +\fBReturns\fP +.RS 4 +1 on success\&. +.RE +.PP +Checks that the pubkey passed in is valid using \fBDH_check_pubkey()\fP\&. +.SS "void DH_free (DH * dh)" +Free a DH object and release related resources, like ENGINE, that the object was using\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP object to be freed\&. +.RE +.PP + +.SS "int DH_generate_key (DH * dh)" +Generate a new DH private-public key pair\&. The dh parameter must be allocted first with \fBDH_new()\fP\&. dh->p and dp->g must be set\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP dh parameter\&. +.RE +.PP +\fBReturns\fP +.RS 4 +1 on success\&. +.RE +.PP + +.SS "int DH_generate_parameters_ex (DH * dh, int prime_len, int generator, BN_GENCB * cb)" +Generate DH parameters for the DH object give parameters\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP The DH object to generate parameters for\&. +.br +\fIprime_len\fP length of the prime +.br +\fIgenerator\fP generator, g +.br +\fIcb\fP Callback parameters to show progress, can be NULL\&. +.RE +.PP +\fBReturns\fP +.RS 4 +the maximum size in bytes of the out data\&. +.RE +.PP + +.SS "const DH_METHOD* DH_get_default_method (void)" +Return the default DH implementation\&. +.PP +\fBReturns\fP +.RS 4 +pointer to a DH_METHOD\&. +.RE +.PP + +.SS "void* DH_get_ex_data (DH * dh, int idx)" +Get the data for index idx in the DH object\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP DH object\&. +.br +\fIidx\fP index to get the data for\&. +.RE +.PP +\fBReturns\fP +.RS 4 +the object store in index idx +.RE +.PP + +.SS "const DH_METHOD* DH_ltm_method (void)" +DH implementation using libtommath\&. +.PP +\fBReturns\fP +.RS 4 +the DH_METHOD for the DH implementation using libtommath\&. +.RE +.PP + +.SS "DH* DH_new (void)" +Create a new DH object using DH_new_method(NULL), see \fBDH_new_method()\fP\&. +.PP +\fBReturns\fP +.RS 4 +a newly allocated DH object\&. +.RE +.PP + +.SS "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 \fBDH_free()\fP\&. +.PP +\fBParameters\fP +.RS 4 +\fIengine\fP The engine to use to allocate the DH object\&. +.RE +.PP +\fBReturns\fP +.RS 4 +a newly allocated DH object\&. +.RE +.PP + +.SS "const DH_METHOD* DH_null_method (void)" +Return the dummy DH implementation\&. +.PP +\fBReturns\fP +.RS 4 +pointer to a DH_METHOD\&. +.RE +.PP + +.SS "void DH_set_default_method (const DH_METHOD * meth)" +Set the default DH implementation\&. +.PP +\fBParameters\fP +.RS 4 +\fImeth\fP pointer to a DH_METHOD\&. +.RE +.PP + +.SS "int DH_set_ex_data (DH * dh, int idx, void * data)" +Set the data index idx in the DH object to data\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP DH object\&. +.br +\fIidx\fP index to set the data for\&. +.br +\fIdata\fP data to store for the index idx\&. +.RE +.PP +\fBReturns\fP +.RS 4 +1 on success\&. +.RE +.PP + +.SS "int DH_set_method (DH * dh, const DH_METHOD * method)" +Set a new method for the DH keypair\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP dh parameter\&. +.br +\fImethod\fP the new method for the DH parameter\&. +.RE +.PP +\fBReturns\fP +.RS 4 +1 on success\&. +.RE +.PP + +.SS "int DH_size (const DH * dh)" +The maximum output size of the \fBDH_compute_key()\fP function\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP The DH object to get the size from\&. +.RE +.PP +\fBReturns\fP +.RS 4 +the maximum size in bytes of the out data\&. +.RE +.PP + +.SS "int DH_up_ref (DH * dh)" +Add a reference to the DH object\&. The object should be free with \fBDH_free()\fP to drop the reference\&. +.PP +\fBParameters\fP +.RS 4 +\fIdh\fP the object to increase the reference count too\&. +.RE +.PP +\fBReturns\fP +.RS 4 +the updated reference count, can't safely be used except for debug printing\&. +.RE +.PP + +.SH "Author" +.PP +Generated automatically by Doxygen for Heimdal crypto library from the source code\&. |
