Skip to content
Sections
>> Trisquel >> Packages >> nabia >> python >> python3-spake2
etiona  ] [  nabia  ] [  aramo  ]
[ Source: python-spake2  ]

Package: python3-spake2 (0.8-2)

SPAKE2 password-authenticated key exchange (pure python)

This library implements the SPAKE2 password-authenticated key exchange ("PAKE") algorithm. This allows two parties, who share a weak password, to safely derive a strong shared secret (and therefore build an encrypted+authenticated channel).

A passive attacker who eavesdrops on the connection learns no information about the password or the generated secret. An active attacker (man-in-the-middle) gets exactly one guess at the password, and unless they get it right, they learn no information about the password or the generated secret. Each execution of the protocol enables one guess. The use of a weak password is made safer by the rate-limiting of guesses: no off-line dictionary attack is available to the network-level attacker, and the protocol does not depend upon having previously-established confidentiality of the network (unlike e.g. sending a plaintext password over TLS).

The protocol requires the exchange of one pair of messages, so only one round trip is necessary to establish the session key. If key-confirmation is necessary, that will require a second round trip.

Other Packages Related to python3-spake2

  • depends
  • recommends
  • suggests
  • dep: python3
    interactive high-level object-oriented language (default python3 version)
  • dep: python3-hkdf
    HMAC-based Extract-and-Expand Key Derivation Function (HKDF)

Download python3-spake2

Download for all available architectures
Architecture Package Size Installed Size Files
all 31.0 kB144 kB [list of files]