Fixed undefined variable bug in fast version of Poly1305. No worries, this bug was never triggered.
Specified CC0 public domain dedication.
Updated development dependencies.
buffermodules from browserify builds.
nacl-fastthe default version in NPM package. Now
require("tweetnacl")will use fast version; to get the original version, use
Cleanup temporary array after generating random bytes.
- Improved performance of curve operations, making
nacl.signand related functions up to 3x faster in
- Significantly improved performance of Salsa20 (~1.5x faster) and
Poly1305 (~3.5x faster) in
- Instead of using the given secret key directly, TweetNaCl.js now copies it to
a new array in
- Added new constant:
- Even faster hash for both short and long inputs (in
nacl.sign.keyPair.fromSeedto enable creation of sign key pairs deterministically from a 32-byte seed. (It behaves like libsodium’s
crypto_sign_seed_keypair: the seed becomes a secret part of the secret key.)
Fast version now has an improved hash implementation that is 2x-5x faster.
Fixed benchmarks, which may have produced incorrect measurements.
- Exported undocumented
- Signature API breaking change!
nacl.sign.opennow deal with signed messages, and new
nacl.sign returned a signature, and
nacl.sign.open accepted a
message and “detached” signature. This was unlike NaCl’s API, which dealt with
signed messages (concatenation of signature and message).
The new API is:
nacl.sign(message, secretKey) -> signedMessage nacl.sign.open(signedMessage, publicKey) -> message | null
Since detached signatures are common, two new API functions were introduced:
nacl.sign.detached(message, secretKey) -> signature nacl.sign.detached.verify(message, signature, publicKey) -> true | false
(Note that it’s
open, and it returns a boolean value, unlike
open, which returns an “unsigned” message.)
- NPM package now comes without
testdirectory to keep it small.
- Improved documentation.
- Initial release