Quick run over documentation
This commit is contained in:
parent
ec64b0de73
commit
47ff11e956
61
README.md
61
README.md
@ -6,41 +6,37 @@ Frank Denis took the source and made it far more portable in the
|
||||
libsodium library. The enacl project is somewhat misnamed, as it uses
|
||||
libsodium as the underlying driver.
|
||||
|
||||
## INSTALL/Requirements:
|
||||
## INSTALL/Requirements
|
||||
|
||||
* Erlang/OTP above 17.3. This library *needs* the dirty scheduler
|
||||
implementation from 17.3 and onwards. The library relies on dirty
|
||||
scheduler support in order to handle long-running cryptography jobs,
|
||||
by moving them off the main Erlang scheduler and letting the dirty
|
||||
schedulers handle the work. This keeps the Erlang VM responsive while
|
||||
doing large amounts of cryptographic processing.
|
||||
* Is tested with Erlang 22.3. Erlang version 21 *may* work, but that isn't
|
||||
the current testing target.
|
||||
* New-ish Erlang installation. Tested back to version 22.3, but version 21 *may*
|
||||
work as well.
|
||||
* *Requires* the libsodium library, and has been tested with version
|
||||
1.0.18. Lower versions might work, or they might fail to compile,
|
||||
due to missing functionality.
|
||||
*Note:* If installing on systems which cuts packages into
|
||||
subpackages, make sure you also get the "-dev" package containing
|
||||
the header files necessary in order to compile software linking to
|
||||
libsodium.
|
||||
due to missing functionality. In particular, this means your libsodium installation
|
||||
must be fairly recent as well.
|
||||
|
||||
*Note:* If installing on systems which cuts packages into
|
||||
subpackages, make sure you also get the "-dev" package containing
|
||||
the header files necessary in order to compile software linking to
|
||||
libsodium.
|
||||
|
||||
To build the software execute:
|
||||
|
||||
make
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
rebar compile
|
||||
rebar compile
|
||||
|
||||
To build and run licensed eqc test execute:
|
||||
|
||||
make eqc_run
|
||||
make eqc_run
|
||||
|
||||
To build and run eqc-mini version of test execute:
|
||||
|
||||
make eqc_mini_run
|
||||
make eqc_mini_run
|
||||
|
||||
## Features:
|
||||
## Features
|
||||
|
||||
* Complete NaCl library, implementing all default functionality.
|
||||
* Implements a large set of additional functionality from libsodium.
|
||||
@ -62,21 +58,17 @@ In addition, I would like to thank Steve Vinoski, Rickard Green, and
|
||||
Sverker Eriksson for providing the Dirty Scheduler API in the first
|
||||
place.
|
||||
|
||||
# USING:
|
||||
## Usage
|
||||
|
||||
In general, consult the libsodium documentation at
|
||||
|
||||
https://download.libsodium.org/doc/
|
||||
In general, consult the libsodium documentation at [Libsodium documentation](https://download.libsodium.org/doc/)
|
||||
|
||||
The original NaCl documentation is nowadays largely superceded by the
|
||||
libsodium documentation, but it is still worth a visit
|
||||
|
||||
https://nacl.cr.yp.to
|
||||
libsodium documentation, but it is still worth a visit [NaCl website](https://nacl.cr.yp.to)
|
||||
|
||||
but also note that our interface has full Edoc documentation,
|
||||
generated by executing
|
||||
|
||||
rebar3 doc
|
||||
rebar3 doc
|
||||
|
||||
## Hints
|
||||
|
||||
@ -134,11 +126,11 @@ However, their correct use is still needed in order to be secure:
|
||||
a foreign system as an oracle in order to learn the structure of a
|
||||
string, breaking the cryptograhic system in the process.
|
||||
|
||||
# Versions
|
||||
## Versions
|
||||
|
||||
See CHANGELOG.md
|
||||
|
||||
# Overview
|
||||
## Overview
|
||||
|
||||
The NaCl cryptographic library provides a number of different
|
||||
cryptographic primitives. In the following, we split up the different
|
||||
@ -200,7 +192,7 @@ This implements cryptography where there is a shared secret key between parties.
|
||||
* *String comparison:* Implements guaranteed constant-time string
|
||||
comparisons to protect against timing attacks.
|
||||
|
||||
# Rationale
|
||||
## Rationale
|
||||
|
||||
Doing crypto right in Erlang is not that easy. For one, the crypto
|
||||
system has to be rather fast, which rules out Erlang as the main
|
||||
@ -252,7 +244,7 @@ perhaps being able to switch faster. There are plans to rerun these
|
||||
tests on OSX and Illumos as well, in order to investigate the numbers
|
||||
on more platforms.
|
||||
|
||||
# Testing
|
||||
## Testing
|
||||
|
||||
Every primitive has been stress-tested through the use of Erlang
|
||||
QuickCheck with both *positive* and *negative* testing. This has been
|
||||
@ -279,11 +271,8 @@ sure we have no memory leaks as they will show themselves under the
|
||||
extensive QuickCheck test cases we run. It has been verified there are
|
||||
no leaks in the code.
|
||||
|
||||
# Notes
|
||||
## Notes
|
||||
|
||||
[0] Other people have worked on bits and pieces of NaCl. These are
|
||||
just the 3 main authors. Please see the page
|
||||
|
||||
http://nacl.cr.yp.to
|
||||
|
||||
just the 3 main authors. Please see the page [NaCl](http://nacl.cr.yp.to)
|
||||
for the full list of authors.
|
||||
|
Loading…
x
Reference in New Issue
Block a user