Pake class abstract interface

A password-authenticated key exchange, used to authenticate device pairing.

Two parties that share a low-entropy secret run one PakeSession each and end up with the same strong PakeResult.sharedSecret; an active attacker who does not know the secret gets at most one online guess per run. The default implementation is SPAKE2 (RFC 9382) in passnote_crypto.

The exchange is one round trip: the initiator sends PakeSession.message first, the responder replies with its own, then each side calls PakeSession.finish with the peer's message and exchanges the confirmation MACs.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
start({required bool initiator, required List<int> secret, List<int> initiatorId = const [], List<int> responderId = const []}) → PakeSession
Begins a run.
toString() → String
A string representation of this object.
inherited

Operators

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