NaCl (software)

The team does so by safer designs that avoid issues such as side-channel leakage and loss of randomness, by being performant enough that safety features do not get disabled by the user, and by picking better cryptographic primitives.

[2] The reference NaCl implementation has a variety of programming language bindings, such as PHP[9] and Tcl.

[10][independent source needed] Libsodium is an API-compatible fork of reference NaCl created in 2013.

[11] As libsodium can be dynamically linked, it serves as the basis for a number of bindings in languages such as Pharo,[12] Perl 5,[13] and Python.

[21] It has also been rewritten in the SPARK Ada subset as SPARKNaCl, which the authors describe as "(unlike TweetNaCl) readable owing to the large number of explanatory comments and contracts in the code.