/charm

A really tiny crypto library.

Primary LanguageCMIT LicenseMIT

charm

A tiny, self-contained cryptography library, implementing authenticated encryption and keyed hashing.

Charm uses the Xoodoo[12](paper, presentation) permutation (which can be replaced by AES-based simpira384 or Gimli) in a duplex mode.

The Xoodoo implementations in Charm are formally verified against a Cryptol specification.

Users:

  • dsvpn a Dead Simple VPN, designed to address the most common use case for using a VPN.

Other implementations:

  • zig-charm an implementation of Charm in the Zig language.
  • charm.js a JavaScript (TypeScript) implementation.