Module dh

dh module for lua-openssl binding

Diffie-Hellman (DH) key exchange is a method of securely exchanging cryptographic keys over a public channel.

The module provides functionality for DH parameter generation, key generation and key agreement operations.

Usage:

    dh = require('openssl').dh
    

Functions

parse () parse DH key parameters and components
check () check DH parameters for validity
generate_parameters ([bits=1024[, generator=2[, eng]]]) generate DH parameters for key exchange
generate_key () generate a DH key pair from parameters
problems (reason[, pub=false]) interpret DH parameter check problems


Functions

parse ()
parse DH key parameters and components

Returns:

    table DH parameters including size, bits, p, q, g, public key, and private key (if present)
check ()
check DH parameters for validity

Returns:

  1. boolean true if parameters are valid
  2. table error codes if parameters are invalid
generate_parameters ([bits=1024[, generator=2[, eng]]])
generate DH parameters for key exchange

Parameters:

  • bits number parameter size in bits (default 1024)
  • generator number generator value (typically 2 or 5) (default 2)
  • eng engine engine to use for parameter generation (optional)

Returns:

    dh or nil generated DH parameters or nil on error
generate_key ()
generate a DH key pair from parameters

Returns:

    dh new DH object with generated key pair on success
problems (reason[, pub=false])
interpret DH parameter check problems

Parameters:

  • reason number the problem codes returned by check functions
  • pub boolean whether to include public key problems (default false)

Returns:

    table array of problem descriptions
generated by LDoc 1.5.0 Last updated 2025-09-22 19:55:54