- Blake2b: derived from https://tools.ietf.org/html/rfc7693
- Argon2i: Loup Vaillant, implemented from spec.
- X25519: taken from SUPERCOP ref10.
-- ed25519: adapted http://tweetnacl.cr.yp.to/ for ref10 arithmetic.
+- ed25519: adapted from SUPERCOP ref10 and http://tweetnacl.cr.yp.to
- High-level constructions: Loup Vaillant, implemented from specs and
first principles
Test suite
----------
- $ make
- $ ./test
+ $ ./test.sh
It should display a nice printout of all the tests, all starting with
"OK". If you see "FAILURE" anywhere, something has gone very wrong
somewhere.
-*Do not* use Monocypher without having run the test suite at least
-once.
+To run only the self contained tests, run
+
+ $ make test
+ $ ./test
+
+*Do not* use Monocypher without having run the self contained tests at
+least once.
Integration to your project
Just copy monocypher.c and monocypher.h.
-Compile as C99, C11, C++98, C++11, C++14, and C++17. (Tested with
+They compile as C99, C11, C++98, C++11, C++14, and C++17. (Tested with
gcc 5.4.0 and clang 2.8.0 on GNU/Linux.)
Note that even though the default hash (Blake2b) is not widely used,
it doesn't prevent you from upgrading to faster implementations if you
need to. The Donna implementations of ed25519 for instance can use a
-custom hash.
+custom hash —one of the fuzz tests does just that.