Skip to content

feature: PAKE (SPAKE2) short-code pairing as an additive setup mode #52

Description

@solomonneas

What

Offer a password-authenticated key exchange pairing mode using short one-time codes to bootstrap the shared secret, as an alternative to manually transferring a long-lived PSK. Strictly additive: still perform the session-salt handshake, still derive per-session keys via HKDF, preserve the --stdio salt-direction inversion in internal/transport/handshake.go, never pin a static or reused key.

Why

Cuts setup friction and the mishandling risk of a long-lived PSK. Pattern from Magic Wormhole (https://magic-wormhole.readthedocs.io). Any ECDH/PAKE construction adds a hard peer-key-validation requirement the current PSK path does not have; see Bernstein and Lange, "Safe Curves for Elliptic-Curve Cryptography", in Information Security in a Connected World, LNCS 15600 (doi:10.1007/978-3-031-83490-5_7).

Gate

Changing the handshake requires a docs/threat-model.md rewrite and explicit maintainer sign-off per AGENTS. Do not start without that sign-off.

Effort

L

Source: three-lane research sweep (repo audit + comparables + literature), independently reviewed before filing; run 20260724-040709-e9fc6818.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestsize/LLarge: multi-day or gated

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions