XBR Authentication

Overview

Argon2

The following helpers allow a user to maintain a set of private key materials based on a potentially weak (locking) password (or PIN), and is based on Argon2id and HKDF:

  • stretch_argon2_secret

  • expand_argon2_secret

  • pkm_from_argon2_secret

TOTP

The following helpers allow to use a TOTP based 2nd factor for authentication purposes:

  • generate_totp_secret

  • compute_totp

  • check_totp

  • qrcode_from_totp

SPAKE2

Write me.

Auxiliary

The following helpers provide auxiliary functions used with WAMP-XBR authentication:

  • xor

  • generate_token

  • machine_id

WAMP-Cryptosign

The following helpers allow WAMP clients to authenticate using WAMP-cryptosign which is based on Ed25519:

WAMP-XBR

The following helpers allow WAMP clients to use end-to-end encrypted application payloads and data-encryption-key exchange transactions signed using an Ethereum private key, and anchored on-chain (indirectly via a off-chain state channel):

  • generate_seedphrase

  • check_seedphrase

  • account_from_seedphrase

See BIP39 and Python-BIP39.