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