Skip to content

v3.2.0 — Post-quantum by default

Latest

Choose a tag to compare

@vesvault-jz vesvault-jz released this 09 Jul 20:54

First GitHub release of the JavaScript libVES

Install: npm install libves

Browser: <script src="https://ves.host/pub/libVES.js"></script>

Post-quantum by default (3.1.0)

  • New vault keys default to ML-KEM-768 (FIPS 203, via liboqs/wasm) instead
    of ECDH P-521. Existing keys are unaffected — the algorithm travels with the
    key, and ECDH remains fully supported (WebCrypto primary, wasm fallback).

Recovery: GF(256) Shamir (3.2.0)

  • SSS1 — byte-wise Shamir secret sharing over GF(256) — is now the default
    scheme for newly created recovery shares (up to 255 shares; integer-domain
    RDX1.2 is retained verbatim and still dispatched by wire tag, so existing
    recovery shares keep working unchanged).
  • As with all VESrecovery schemes, shares gate a server-mediated, time-delayed
    recovery: each share is stored encrypted to its contact's key (the repository
    cannot read them), and contacts never receive the encrypted key material — so
    neither the repository nor a colluding quorum of contacts can reconstruct
    keys on its own.

Packaging (3.0.5 / 3.1.0)

  • Relicensed under Apache-2.0.
  • Self-contained Node bundle — OQS and ECDH wasm engines embedded
    single-file; require('libves') needs no network and no document.
  • Lean browser bundle (~280 KB) — the OQS loader is inlined and fetches
    its wasm from ves.host/pub; ECDH loads lazily (WebCrypto handles the
    common case without wasm).

Fixes & misc

  • 3.0.3: temp key creation fixed.
  • 3.0.4: sharing with a section vault corrected.
  • 3.2.0: attn processing errors are tracked on VES.attnErrors instead of
    being silently swallowed, ML-KEM key format interoperability.
  • CI, community health files, README badges.