Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dh(3) — Tru64 UNIX 5.1b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dhparam(1)

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)

dh(3)  —  Subroutines

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),
        intDH_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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026