Christian Bundy
e1087aa973
Finish adding crypto_auth and crypto_auth_verify
...
This builds on heaps of work by @chm-diederichs and is basically just
the cherry on top that exposes all of the underlying work that they've
done. The changes from this commit:
- Expose crypto_auth() and crypto_auth_verify().
- Fix 'crypto_auth_hmacsha512_BYTES' typo.
- Change output in crypto_auth_hmacsha512256().
- Change crypto_verify_n() to return booleans.
2020-09-21 11:24:39 +02:00
Christophe Diederichs
bffbca8368
add crypto_auth_hmac methods
2020-09-21 11:23:15 +02:00
Christophe Diederichs
a82160d51b
crypto_verify return booleans & add crypto_verify_64 ( #33 )
...
* crypto_verify return booleans
* can now return crypto_verify result directly
* remove redundant return values
* unpackneg check returns boolean
2020-09-15 17:27:39 +02:00
Emil Bay
a338ae9f9d
Missing helpers ( #24 )
...
* Detach buffers by sending to an empty message channel
* Move helpers out
* fix import
* export helpers
* Try browser testing
* messagechannel check
* xvfb-run --auto-servernum npm run test-browser fails weirdly on ci, removing
Co-authored-by: Mathias Buus <mathiasbuus@gmail.com>
2020-08-12 15:39:14 +02:00
Emil Bay
30c3342156
Make linter happy
2020-06-24 14:08:55 +02:00
Christophe Diederichs
b44f83f0a8
Split library into modules ( #20 )
...
* crypto_stream: signature change needed to modularise
* move ed25519 arithmetic to separate module
* module: poly1305
* module: crypto_scalarmult
* module: crypto_hash
* module: crypto_sign
* module: crypto_secretbox
* move verify functions to crypto_verify module
* leftover crypto_stream functions
* module: crypto_onetimeauth
* module: crypto_box
* tidy up
* require ed25519.js
* update: crypto_hash
* add chacha20; align API with PR#21
* update sha512 to wasm module
* fix bugs in crypto_sign
* be standard
* add: crypto_box_seed_keypair; alias crypto_kx methods to crypto_box
* scalarmult: import curve methods; be standard
* correction: crypto_kx is not actually an alias of crypto_box
* export _9 constant field element
* add: crypto_box_seed_keypair
* removed duplicate module.exports declaraion
* declare constants about exports
* rename memzero -> sodium-memzero
* update sodium_memzero function to arr.fill(0)
* tidy: remove legacy functions
* added: crypto_aead_chacha20poly1305_ietf methods
* listen to linter
* add assertions
* chacha: readUint32Le generalised for uint8array; aead: standard fix
* add null check on ad param
* added: sodium_memcmp
* export sodium_memcmp
* export crypto_verify module
* sodium_memcmp returns boolean
* added: sodium_is_zero
* catch syntax error
* throw if crypto_aead cannot validate, fix typo in crypto_verify
* move chacha20 alg to external module
* use Uint8Arrays instead of buffers
* change checks to assertions
* bump to chacha 1.0.3 - remove Buffer dependency
* reduce code branching, align return values with sodium-native
* add sha-wasm deps to package.json
* standard fixes
* bump chacha20 to 1.0.4: remove Buffer dep
* move crypto_hash_sha256 to module to uncouple wasm dependencies
* add endian check: all other modules require members of this set
* correct filename: crypto_hash_sha256
* export constant: crypto_hash_sha512_BYTES
2020-06-18 17:09:03 +02:00