Package de.bsvrz.sys.funclib.srp6
Secure Remote Password (SRP-6a) protocol implementation.
Features:
- Convenient client and server-side session classes, with tracking of the current authentication state.
- Convenient verifier 'v' generator.
- Allows selection of preferred 'N' and 'g' crypto parameters, hash function 'H' and session timeouts.
- Includes a set of pre-computed safe primes 'N' of various bitsizes (256-bit, 512-bit, etc.)
- Interfaces to allow definition of custom routines for the password key 'x', the server evidence message 'M1' and the client evidence message 'M2'.
- No external package dependencies.
The routines for computing the various SRP-6a variables and messages are
described in SRP6Routines
.
This product uses the 'Secure Remote Password' cryptographic authentication system developed by Tom Wu (tjw@CS.Stanford.EDU).
-
Interface Summary Interface Description ClientEvidenceRoutine Custom routine interface for computing the client evidence message 'M1'.ServerEvidenceRoutine Custom routine interface for computing the server evidence message 'M2'.URoutine Custom routine interface for computing 'u' as 'H(A | B)'.XRoutine Custom routine interface for computing the password key 'x'. -
Class Summary Class Description BigIntegerUtils Hexadecimal encoding and decoding utility.PackageRuntimeInfo SRP6ClientCredentials The SRP-6a client credentials sent to the server atstep two
.SRP6ClientEvidenceContext Immutable snapshot of the SRP-6a client session variables to be used in aClientEvidenceRoutine
.SRP6ClientSession Stateful client-side Secure Remote Password (SRP-6a) authentication session.SRP6CryptoParams The crypto parameters for the SRP-6a protocol.SRP6Routines Secure Remote Password (SRP-6a) routines for computing the various protocol variables and messages.SRP6ServerEvidenceContext Immutable snapshot of SRP-6a server session variables to be used in aServerEvidenceRoutine
.SRP6ServerSession Stateful server-side Secure Remote Password (SRP-6a) authentication session.SRP6Session The base abstract class for client and server-side Secure Remote Password (SRP-6a) authentication sessions.SRP6VerifierGenerator Generator of password verifier 'v' values.URoutineContext Immutable snapshot of the SRP-6a client session variables to be used in aURoutine
.XRoutineWithUserIdentity Alternative routine for computing a password key x = H(s | H(I | ":" | P)) -
Enum Summary Enum Description SRP6ClientSession.State Enumerates the states of a client-side SRP-6a authentication session.SRP6Exception.CauseType SRP-6a exception causes.SRP6ServerSession.State Enumerates the states of a server-side SRP-6a authentication session. -
Exception Summary Exception Description SRP6Exception Secure Remote Password (SRP-6a) exception.