Server class

Operations the server / host performs to authenticate a user via SRP.

Designed to mimic the API of Python's pysrp library.

Constructors

Server({required String userId, required Uint8List salt, required Uint8List verifierKey, BigInt? generator, BigInt? safePrime, HashFunctionChoice? hashFunction, HashFunction? customHashFunction})
Creates a Server instance for SRP authentication.

Properties

generator BigInt
A generator modulo N. Typically denoted 'g'.
final
hashCode int
The hash code for this object.
no setterinherited
hashFunctionChoice HashFunctionChoice?
Hash algorithm choice used during SRP key and verifier calculations (e.g., SHA256). Null if using a custom hash function.
latefinal
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
safePrime BigInt
A large, safe prime.
final
sessionKey Uint8List?
Shared symmetric session key derived during authentication.
no setter

Methods

createChallenge({Uint8List? ephemeralServerPrivateKeyBytes}) Future<Challenge>
Creates an authentication challenge to send to the user.
deriveSessionKey({required Uint8List ephemeralUserPublicKey}) Future<Uint8List>
Derives the session key from the user's ephemeral public key.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
verifySession({required Uint8List userSessionKeyVerifier, required Uint8List ephemeralUserPublicKey}) Future<Uint8List>
Verifies the user's session and returns a server verifier for mutual authentication.

Operators

operator ==(Object other) bool
The equality operator.
inherited