Pure Javascript version of sodium-native
Go to file
2022-11-21 17:17:09 +00:00
fe25519_25 add fe25519_mul32 2022-11-17 19:38:08 +00:00
.gitignore first commit 2017-01-24 11:41:06 +01:00
crypto_aead.js typo fixes in crypto_box and crypto_aead 2022-11-21 17:17:09 +00:00
crypto_box.js typo fixes in crypto_box and crypto_aead 2022-11-21 17:17:09 +00:00
crypto_core_ristretto255.js add ristretto methods 2022-11-21 13:12:30 +00:00
crypto_core.js standard fix crypto_core 2022-11-21 13:11:59 +00:00
crypto_generichash.js add endian check: all other modules require members of this set 2020-06-18 14:11:22 +02:00
crypto_hash_sha256.js latest working state 2020-08-28 00:52:54 +02:00
crypto_hash.js latest working state 2020-08-28 00:52:54 +02:00
crypto_kdf.js Change crypto_kdf_KEYBYTES to be 32 and use subarray instead of slice 2018-03-03 17:24:12 +00:00
crypto_kx.js change checks to assertions 2020-06-17 17:27:28 +02:00
crypto_onetimeauth.js module: crypto_onetimeauth 2020-05-04 21:11:30 +02:00
crypto_scalarmult_ed25519.js add crypto_sign ed to curve25519 methods 2022-11-21 16:49:58 +00:00
crypto_scalarmult.js save working state 2020-07-02 17:19:58 +02:00
crypto_secretbox.js be standard 2020-06-16 14:17:31 +02:00
crypto_shorthash.js add endian check: all other modules require members of this set 2020-06-18 14:11:22 +02:00
crypto_sign_ed25519.js add crypto_sign ed to curve25519 methods 2022-11-21 16:49:58 +00:00
crypto_sign.js add ristretto methods 2022-01-05 22:50:20 +00:00
crypto_sign.json crypto_sign and crypto_scalarmult with webassembly curve arithmetic added 2020-06-26 10:16:14 +02:00
crypto_stream_chacha20.js add endian check: all other modules require members of this set 2020-06-18 14:11:22 +02:00
crypto_stream.js add endian check: all other modules require members of this set 2020-06-18 14:11:22 +02:00
crypto_verify.js throw if crypto_aead cannot validate, fix typo in crypto_verify 2020-06-17 14:44:35 +02:00
ed25519.js add endian check: all other modules require members of this set 2020-06-18 14:11:22 +02:00
ed-wasm.js add ristretto methods 2022-01-05 22:50:20 +00:00
example.js Add browser support (#1) 2017-06-19 21:44:32 +02:00
fe25519_25.js fe25519_25 standard fixes 2022-11-21 17:16:35 +00:00
fe-test.js first attempt at wassm scalarmult 2020-10-16 01:10:52 +02:00
index.js crypto_core fixes 2022-11-18 12:21:38 +00:00
LICENSE first commit 2017-01-24 11:41:06 +01:00
package.json bump chacha20 to 1.0.4: remove Buffer dep 2020-06-18 13:34:38 +02:00
poly1305.js add endian check: all other modules require members of this set 2020-06-18 14:11:22 +02:00
randombytes.js ignore crypto in the browser 2017-11-19 13:16:35 +01:00
README.md first commit 2017-01-24 11:41:06 +01:00
test.js Run tests with browser-run 2017-06-19 22:39:11 +02:00

sodium-javascript

WIP - a pure javascript version of sodium-native. Based on tweetnacl

npm install sodium-javascript

Usage

var sodium = require('sodium-javascript')

var key = new Buffer(sodium.crypto_secretbox_KEYBYTES)
var nonce = new Buffer(sodium.crypto_secretbox_NONCEBYTES)

sodium.randombytes_buf(key)
sodium.randombytes_buf(nonce)

var message = new Buffer('Hello, World!')
var cipher = new Buffer(message.length + sodium.crypto_secretbox_MACBYTES)

sodium.crypto_secretbox_easy(cipher, message, nonce, key)

console.log('Encrypted:', cipher)

var plainText = new Buffer(cipher.length - sodium.crypto_secretbox_MACBYTES)

sodium.crypto_secretbox_open_easy(plainText, cipher, nonce, key)

console.log('Plaintext:', plainText.toString())

API

See sodium-native. This is a work in progress so all functions are not implemented yet.

License

MIT