Description: | Monocypher is an easy to use cryptographic library. It provides functions for
authenticated encryption, hashing, password hashing and key derivation, key
exchange, and public key signatures. It is:
- Small. Monocypher contains under 2000 lines of code, small enough to allow
audits. The binaries can be under 50KB, small enough for many embedded targets.
- Easy to deploy. Just add monocypher.c and monocypher.h to your project. They
compile as C99 or C++ and are dedicated to the public domain (CC0-1.0,
alternatively 2-clause BSD).
- Portable. There are no dependencies, not even on libc.
- Honest. The API is small, consistent, and cannot fail on correct input.
- Direct. The abstractions are minimal. A developer with experience in applied
cryptography can be productive in minutes.
- Fast. The primitives are fast to begin with, and performance wasn't
needlessly sacrificed. Monocypher holds up pretty well against Libsodium,
despite being closer in size to TweetNaCl. |