jedisct1 / wasm-crypto

A WebAssembly (via AssemblyScript) set of cryptographic primitives for building authentication and key exchange protocols.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm version GitHub Actions CI

wasm-crypto

A WebAssembly (via AssemblyScript) set of cryptographic primitives for building authentication and key exchange protocols.

Currently provides:

  • RFC 8032/libsodium-compatible detached EdDSA signatures
  • Ed25519 deterministic and non-deterministic signatures with cofactored verification.
  • Deterministic and non-deterministic signatures over the Ristretto group.
  • Hashing (simple + multi-parts)
  • Authentication (HMAC-SHA-512, HMAC-SHA-256)
  • Point validation, point addition, scalar multiplication with and without clamping over Edwards25519 using the standard Ed25519 point encoding.
  • Fast encoded element validation, hash-to-group, addition, scalar multiplication over the Ristretto prime-order group.
  • Scalar reduction, scalar multiplication, scalar inversion mod the order of the prime-order groups for multiparty computation and oblivious pseudorandom functions.
  • Constant-time comparison and encoding.

Example use case.

About

A WebAssembly (via AssemblyScript) set of cryptographic primitives for building authentication and key exchange protocols.

License:MIT License


Languages

Language:TypeScript 99.5%Language:JavaScript 0.5%