Boring crypto that simply works
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.
You can contact the maintainers of this package via email at
monocypher dash maintainers at fedoraproject dot org.