Commit Graph

44 Commits

Author SHA1 Message Date
Christophe Diederichs
4465a532c4 add crypto_pwhash api 2023-06-02 15:35:52 +01:00
Christophe Diederichs
713becb400 Merge branch 'master' into curve 2023-05-23 17:13:50 +01:00
Christophe Diederichs
081ca46654 use wasm implementations 2023-05-23 16:44:24 +01:00
Christophe Diederichs
52d5899c54 crypto_core fixes 2022-11-18 12:21:38 +00:00
Theron Spiegl
6c584231e6
Add crypto_secretstream methods (#57) 2022-01-14 16:42:28 +00:00
Christophe Diederichs
c54ff9636e add ristretto methods 2022-01-05 22:50:20 +00:00
Christian Bundy
656d6d251e
Add crypto_auth (#32)
* add crypto_auth_hmac methods
2020-09-22 14:49:40 +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
e9ac929b5a Move memory helpers to their own module 2020-06-24 14:01:48 +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
Christophe Diederichs
aa0305154f move crypto_hash_sha256 to module to uncouple wasm dependencies 2020-06-18 14:09:12 +02:00
Christophe Diederichs
9b78e675e4 export crypto_verify module 2020-06-17 13:10:21 +02:00
Christophe Diederichs
caa8390691 added: crypto_aead_chacha20poly1305_ietf methods 2020-06-17 00:56:59 +02:00
Christophe Diederichs
04bebb09c9 tidy: remove legacy functions 2020-06-16 16:58:58 +02:00
Christophe Diederichs
e69a73279a update sodium_memzero function to arr.fill(0) 2020-06-16 16:57:58 +02:00
Christophe Diederichs
79273d499e rename memzero -> sodium-memzero 2020-06-16 16:54:51 +02:00
Christophe Diederichs
f969d1f707 correction: crypto_kx is not actually an alias of crypto_box 2020-06-16 15:54:44 +02:00
Christophe Diederichs
30b8e83417 add chacha20; align API with PR#21 2020-06-12 17:06:31 +02:00
Christophe Diederichs
d1aaacd3a7 tidy up 2020-05-04 21:13:24 +02:00
Christophe Diederichs
6a9696c86f module: crypto_box 2020-05-04 21:12:44 +02:00
Christophe Diederichs
5dd22a0957 module: crypto_onetimeauth 2020-05-04 21:11:30 +02:00
Christophe Diederichs
a4cab9dfd4 leftover crypto_stream functions 2020-05-04 21:10:22 +02:00
Christophe Diederichs
00d47225ff move verify functions to crypto_verify module 2020-05-04 21:08:29 +02:00
Christophe Diederichs
1e447c23d6 module: crypto_secretbox 2020-05-04 21:04:41 +02:00
Christophe Diederichs
6428fb8222 module: crypto_sign 2020-05-04 20:58:36 +02:00
Christophe Diederichs
b30cf7348e module: crypto_hash 2020-05-04 20:52:17 +02:00
Christophe Diederichs
ff28f5a888 module: crypto_scalarmult 2020-05-04 20:49:21 +02:00
Christophe Diederichs
03fb607709 module: poly1305 2020-05-04 20:44:56 +02:00
Christophe Diederichs
d7ca21cbf1 move ed25519 arithmetic to separate module 2020-05-04 18:59:59 +02:00
Christophe Diederichs
942c2a6db0 crypto_stream: signature change needed to modularise 2020-05-04 18:47:52 +02:00
Mathias Buus
f790621e60 add sodium_malloc 2020-03-04 14:50:09 +01:00
Fedor Indutny
4e42b942a5 crypto_box: fix keypair, implement seal/seal_open
Secret Key is a random nonce, and public key is a point on elliptic
curve.

`crypto_box_seal`/`crypto_box_seal_open` are implemented using existing
primitives and newly exported `core_hsalsa20` in `xsalsa20`
2019-11-14 09:27:36 +01:00
Daniel Regeci
49587c3d7f crypto_box_keypair - rename arguments to pk,sk 2018-03-19 18:07:17 +00:00
Daniel Regeci
92aee452df crypto_box_keypair 2018-03-19 18:07:17 +00:00
Mathias Buus
212550db1b bump sodium-test and minor tweak 2017-07-13 16:52:30 +02:00
Luke Burns
384ec2f636 fixed detached sign/verify 2017-07-13 16:47:23 +02:00
Mathias Buus
6561ff99f1 use xsalsa20 and support crypto_stream_instance 2017-06-28 11:14:00 +02:00
Emil Bay
49feb73134
Move out randombytes_buf 2017-06-19 22:34:12 +02:00
Mathias Buus
95732bdd4f add crypto_shorthash (#4) 2017-06-12 10:05:49 +02:00
Emil Bay
94e3891f67
Added crypto_kdf 2017-06-07 22:38:40 +02:00
Emil Bay
226ecd8778
Add memzero 2017-06-06 21:04:50 +02:00
Emil Bay
5397910bbb
Add blake2b for generichash 2017-06-06 21:04:36 +02:00
Mathias Buus
2d67f235c3 add crypto_generichash 2017-02-12 03:37:17 +01:00
Mathias Buus
e54c674afc first commit 2017-01-24 11:41:06 +01:00