Module srp

srp module to handle secure remote password.

Provide srp_gn as lua object.

Usage:

    srp = require('openssl').srp
    

Functions

get_default_gN (id) Gets the default SRP_gN object.
calc_x (s, username, password) Calculates the x value.

Class srp_gn

srp_gn:create_verifier (username, servpass) Creates an SRP verifier.
srp_gn:calc_b (v[, bits]) Calculates the server’s B value.
srp_gn:calc_server_key (Apub, v, u, Brnd) Calculates the server’s key.
srp_gn:calc_a ([bits]) Calculates the client’s A value.
srp_gn:calc_x (s, username, password) Calculates the x value.
srp_gn:calc_client_key (Bpub, x, Arnd, u) Calculates the client’s key.
srp_gn:calc_u (Apub, Bpub) Calculates the u value.


Functions

get_default_gN (id)
Gets the default SRP_gN object.

Parameters:

Returns:

    openssl.srp_gn GN SRP_gN object
calc_x (s, username, password)
Calculates the x value.

Parameters:

  • s openssl.bn Salt
  • username string Username
  • password string Password

Returns:

    openssl.bn x Value

Class srp_gn

openssl.srp_gn class.
srp_gn:create_verifier (username, servpass)
Creates an SRP verifier.

Parameters:

Returns:

  1. openssl.bn salt Salt
  2. openssl.bn verifier Verifier
srp_gn:calc_b (v[, bits])
Calculates the server’s B value.

Parameters:

  • v openssl.bn Verifier
  • bits int Number of random bits, default is 256 (optional)

Returns:

  1. openssl.bn Bpub Server public key
  2. openssl.bn Brnd Server random number
srp_gn:calc_server_key (Apub, v, u, Brnd)
Calculates the server’s key.

Parameters:

  • Apub openssl.bn Client public key
  • v openssl.bn Verifier
  • u openssl.bn Random number u
  • Brnd openssl.bn Server random number

Returns:

    openssl.bn Kserver Server key
srp_gn:calc_a ([bits])
Calculates the client’s A value.

Parameters:

  • bits int Number of random bits, default is 256 (optional)

Returns:

  1. openssl.bn Apub Client public key
  2. openssl.bn Arnd Client random number *
srp_gn:calc_x (s, username, password)
Calculates the x value.

Parameters:

  • s openssl.bn Salt
  • username string Username
  • password string Password

Returns:

    openssl.bn x Value
srp_gn:calc_client_key (Bpub, x, Arnd, u)
Calculates the client’s key.

Parameters:

  • Bpub openssl.bn Server public key
  • x openssl.bn x Value
  • Arnd openssl.bn Client random number
  • u openssl.bn Random number u

Returns:

    openssl.bn Kclient Client key
srp_gn:calc_u (Apub, Bpub)
Calculates the u value.

Parameters:

  • Apub openssl.bn Client public key
  • Bpub openssl.bn Server public key

Returns:

    openssl.bn u Value
generated by LDoc 1.5.0 Last updated 2025-03-22 00:01:02