From 87b803d3a5440f54ad3ca288e071d9b0543f0320 Mon Sep 17 00:00:00 2001 From: Jesper Louis Andersen Date: Tue, 25 Nov 2014 15:14:21 +0100 Subject: [PATCH] Documentation, documentation, documentation. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 0753d92..b56de64 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,12 @@ Focus has first and foremost been on the correct use of dirty schedulers, withou Also, while the standard `crypto` bindings in Erlang does a great job at providing cryptographic primitives, these are based on OpenSSL, which is known to be highly problematic in many ways. It is not as easy to use the OpenSSL library correctly as it is with these bindings. Rather than providing a low-level cipher suite, NaCl provides intermediate level primitives constructed as to protect the user against typical low-level cryptographic gotchas and problems. +# Testing + +Every primitive has been stress-tested through the use of Erlang QuickCheck with both *positive* and *negative* testing. This has been used to check against memory leaks as well as correct invocation. Please report any error so we can extend the test cases to include a randomized test which captures the problem so we generically catch every problem in a given class of errors. + +Positive and negative testing refers to Type I and Type II errors in statistical testing. This means false positives—given a *valid* input the function rejects it; as well as false negatives—given an *invalid* input the functions fails to reject that input. + # Overview The NaCl cryptographic library provides a number of different cryptographic primitives. In the following, we split up the different generic primitives and explain them briefly.