Class SRP6Session

java.lang.Object
de.bsvrz.sys.funclib.srp6.SRP6Session
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
SRP6ClientSession, SRP6ServerSession

public abstract class SRP6Session extends Object implements Serializable
The base abstract class for client and server-side Secure Remote Password (SRP-6a) authentication sessions.
See Also:
  • Field Details

    • srp6Routines

      protected final SRP6Routines srp6Routines
    • config

      protected SRP6CryptoParams config
      The crypto configuration.
    • random

      protected SecureRandom random
      Source of randomness.
    • timeout

      protected final int timeout
      The SRP-6a authentication session timeout in seconds. If the authenticating counterparty (server or client) fails to respond within the specified time the session will be closed. Zero implies no timeout.
    • lastActivity

      protected long lastActivity
      The last activity timestamp, from System.currentTimeMillis().
    • userID

      protected String userID
      The identity 'I' of the authenticating user.
    • s

      protected BigInteger s
      The password salt 's'.
    • A

      protected BigInteger A
      The client public value 'A'.
    • B

      protected BigInteger B
      The server public value 'B'.
    • u

      protected BigInteger u
      The random scrambling parameter 'u'.
    • k

      protected BigInteger k
      The multiplier 'k'.
    • S

      protected BigInteger S
      The shared session key 'S'.
    • M1

      protected BigInteger M1
      The client evidence message 'M1'.
    • M2

      protected BigInteger M2
      The server evidence message 'M2'.
    • clientEvidenceRoutine

      protected ClientEvidenceRoutine clientEvidenceRoutine
      Custom routine for the client evidence message 'M1' computation.
    • serverEvidenceRoutine

      protected ServerEvidenceRoutine serverEvidenceRoutine
      Custom routine for the server evidence message 'M2' computation.
    • hashedKeysRoutine

      protected URoutine hashedKeysRoutine
      Custom routine for the hashed keys 'u' computation.
  • Constructor Details

    • SRP6Session

      public SRP6Session(int timeout, SRP6Routines srp6Routines)
      Creates a new SRP-6a authentication session.
      Parameters:
      timeout - The SRP-6a authentication session timeout in seconds. If the authenticating counterparty (server or client) fails to respond within the specified time the session will be closed. If zero timeouts are disabled.
      srp6Routines - The math routines to use.
    • SRP6Session

      public SRP6Session(int timeout)
      Creates a new SRP-6a authentication session.
      Parameters:
      timeout - The SRP-6a authentication session timeout in seconds. If the authenticating counterparty (server or client) fails to respond within the specified time the session will be closed. If zero timeouts are disabled.
    • SRP6Session

      public SRP6Session()
      Creates a new SRP-6a authentication session, session timeouts are disabled. The default math routines are used.
  • Method Details