Boring crypto that simply works

Monocypher is an easy-to-use crypto library. It is:


Getting started

Download the latest Monocypher and run the test suite:

$ tar -xzf monocypher-3.1.2.tar.gz
$ cd monocypher-3.1.2
$ make test

Optionally, you can generate and install binaries on your system:

$ make
$ sudo make install

Or you can just integrate Monocypher source files into your project:

$ cp src/monocypher.c path/to/your/source/folder
$ cp src/monocypher.h path/to/your/include/folder

Monocypher's API is documented in the user manual. If you are not yet familiar with cryptography, please follow an introductory course. We currently recommend Crypto101.


Monocypher enabled me to develop Joulescope's small microcontroller bootloader with secure firmware updates using modern cryptography. Monocypher is small, fast, easy to use, has no dependencies, and is excellent on microcontrollers.

Matt Liberty, Principal Engineer and creator of Joulescope
Jetperch LLC

We found monocypher very easy to integrate with the ArduPilot code. The resulting code size savings allowed us to fit support for secure boot into the existing bootloader sectors on many of the boards we support. The python bindings made writing the associated user tools very easy. Highly recommended!

Andrew Tridgell, ArduPilot Systems Lead