https://github.com/jedisct1/charm
A really tiny crypto library.
https://github.com/jedisct1/charm
charm crypto cryptography permutation-based tiny xoodoo
Last synced: 10 months ago
JSON representation
A really tiny crypto library.
- Host: GitHub
- URL: https://github.com/jedisct1/charm
- Owner: jedisct1
- License: mit
- Created: 2019-07-16T10:53:47.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-29T21:30:32.000Z (11 months ago)
- Last Synced: 2025-05-09T00:05:12.573Z (10 months ago)
- Topics: charm, crypto, cryptography, permutation-based, tiny, xoodoo
- Language: C
- Homepage:
- Size: 28.3 KB
- Stars: 157
- Watchers: 6
- Forks: 13
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# charm
A tiny, self-contained cryptography library, implementing authenticated
encryption and keyed hashing.
Charm uses the Xoodoo[12]([paper](https://tosc.iacr.org/index.php/ToSC/article/view/7359/6529),
[presentation](https://permutationbasedcrypto.org/2018/slides/Gilles_Van_Assche.pdf))
permutation (which can be replaced by AES-based [simpira384](https://github.com/jedisct1/simpira384)
or Gimli) in a duplex mode.
The Xoodoo implementations in Charm are [formally verified](https://github.com/jedisct1/charm/tree/master/verify) against a Cryptol specification.
Users:
- [dsvpn](https://github.com/jedisct1/dsvpn) a Dead Simple VPN, designed to address the most common use case for using a VPN.
Other implementations:
- [zig-charm](https://github.com/jedisct1/zig-charm) an implementation of Charm in the Zig language.
- [charm.js](https://github.com/jedisct1/charm.js) a JavaScript (TypeScript) implementation.
- [go-charm](https://github.com/x13a/go-charm) a Go implementation.