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:
- id string SRP_gN ID
Returns:
-
openssl.srp_gn
GN SRP_gN object
- calc_x (s, username, password)
-
Calculates the x value.
Parameters:
Returns:
-
openssl.bn
x Value
Class srp_gn
openssl.srp_gn class.
- srp_gn:create_verifier (username, servpass)
-
Creates an SRP verifier.
Parameters:
Returns:
- openssl.bn salt Salt
- 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:
- openssl.bn Bpub Server public key
- 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:
- openssl.bn Apub Client public key
- openssl.bn Arnd Client random number *
- srp_gn:calc_x (s, username, password)
-
Calculates the x value.
Parameters:
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