<div dir="ltr">Hi Erlangers,<div><br></div><div>I've just pushed enacl version 0.14.0.</div><div><br></div><div>It is a bindings for the libsodium library from Frank Denis for Erlang.</div><div><br></div><div>Since the last 0.9.0 release I announced in December 2014, the following changes have been made:</div><div><br></div><div><div>### v0.14.0</div><div><br></div><div>* Add support for libsodiums `box_seal` functions (Amir Ghassemi Nasr)</div><div>* Add support for libsodiums `crypto_sign_detached` (Joel Stanley, Parnell Springmeyer)</div><div>* Switch the tag names to the form `0.14.0` rather than `v0.14.0`. For this release both tags are present, but</div><div>  from the next release on, it won't be the case.</div><div><br></div><div>### v0.13.0</div><div><br></div><div>* Quell warnings from the C code</div><div>* Add Ed 25519 utility API (Alexander Færøy)</div><div>* Add FreeBSD support for the NIF compilation (Ricardo Lanziano)</div><div><br></div><div>### v0.12.1</div><div><br></div><div>* Provide the `priv` directory for being able to properly build without manual intervention.</div><div><br></div><div>### v0.12.0</div><div><br></div><div>* Introduce an extension interface for various necessary extensions to the eNaCl system for handling the Tor network, thanks to Alexander Færøy (ahf).</div><div>* Introduce Curve25519 manipulations into the extension interface.</div><div>* Write (rudimentary) QuickCheck tests for the new interface, to verify its correctness.</div><div><br></div><div>### v0.11.0</div><div><br></div><div>* Introduce NIF layer beforenm/afternm calls.</div><div>* Introduce the API for precomputed keys (beforenm/afternm calls).</div><div>* Use test cases which tries to inject `iodata()` rather than binaries in all places where `iodata()` tend to be accepted.</div><div>* Fix type for `enacl:box_open/4`. The specification was wrong which results in errors in other applications using enacl.</div><div><br></div><div>### v0.10.2</div><div><br></div><div>Maintenance release. Fix some usability problems with the library.</div><div><br></div><div>* Do not compile the C NIF code if there are no dirty scheduler support in the Erlang system (Thanks to David N. Welton)</div><div>* Fix dialyzer warnings (Thanks Anthony Ramine)</div><div>* Fix a wrong call in the timing code. Luckily, this error has not affected anything as it has only replaced a verification call with one that does not verify. In practice, the timing is roughly the same for both, save for a small constant factor (Thanks to the dialyzer)</div><div>* Improve documentation around installation/building the software. Hopefully it is now more prominent (Thanks to David N. Welton)</div><div><br></div><div>### v0.10.1</div><div><br></div><div>This small patch-release provides tests for the `randombytes/1` function call, and optimizes EQC tests to make it easier to implement `largebinary`-support in EQC tests. The release also adds an (experimental) scrambling function for hiding the internal structure of counters. This is based on an enlarged TEA-cipher by Wheeler and Needham. It is neccessary for correct operation of the CurveCP implementation, which is why it is included in this library.</div><div><br></div><div>### v0.10.0</div><div><br></div><div>Ultra-late beta; tuning for the last couple of functions which could be nice to have. Added the function `randombytes/1` to obtain randombytes from the operating system. The system uses the "best" applicable (P)RNG on the target system:</div><div><br></div><div>* Windows: `RtlGenRandom()`</div><div>* OpenBSD, Bitrig: `arc4random()`</div><div>* Unix in general: `/dev/urandom`</div><div><br></div><div>Do note that on Linux and FreeBSD at the *least*, this is the best thing you can do. Relying on `/dev/random` is almost always wrong and gives no added security benefit. Key generation in NaCl relies on `/dev/urandom`. Go relies on `/dev/urandom`. It is about time Erlang does as well.</div><div><br></div><div><br></div>-- <br><div class="gmail_signature">J.</div>
</div></div>