1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-28 22:21:15 -07:00
Commit Graph

97 Commits

Author SHA1 Message Date
Frank Denis
075b3fd424 Ignore libsodium-wasm32-wasi and sort .gitignore 2019-04-22 19:45:16 +02:00
Frank Denis
db0319fb8e Initial support for ristretto255 2019-02-18 00:56:48 +01:00
Frank Denis
69a5643477 Add chacha20-poly1305 test from Project Wycheproof 2018-09-04 15:44:42 +02:00
Frank Denis
cb22446db1 Add aes256gcm tests from project wycheproof 2018-08-30 09:51:28 +02:00
Frank Denis
f8377e9818 Add x25519 test vectors from project wycheproof 2018-08-29 15:08:26 +02:00
Ruslan Baratov
93d683395f Remove '*.cmake' pattern from .gitignore 2018-08-07 18:24:27 +03:00
Frank Denis
9d0ddf8f12 Remove *.s from .gitignore 2017-11-19 15:19:29 +01:00
Frank Denis
a60d877327 Add a test for crypto_scalarmult_ed25519 2017-11-15 16:57:29 +01:00
Frank Denis
1df2285362 Add a preliminary test for core_ed25519 2017-11-15 01:34:43 +01:00
Frank Denis
ce3254dff4 Ignore test/default/*.asm.js 2017-10-04 22:25:08 +02:00
Frank Denis
2f51ed3397 Rename the test/pwhash.c -> test/pwhash_argon2i.c 2017-10-01 11:09:55 +02:00
Frank Denis
ee1d5c96d8 Move the codecs tests to their own test file 2017-09-19 22:51:05 +02:00
Frank Denis
a7b75a2d7d + simple metamorphic tests for crypto_generichash()
This needs to be extended to other APIs with a streaming interface
2017-09-17 21:41:32 +02:00
Frank Denis
6e8e0a93f9 Add a couple tests for crypto_secretstream_*() 2017-08-16 14:53:54 +02:00
Frank Denis
5d56821d3d More tests, and start testing misuse cases 2017-07-17 23:09:44 +02:00
Frank Denis
f586752afe + Argon2id tests 2017-06-28 15:49:49 +02:00
Frank Denis
849a35bd82 + crypto_kx_*() API
This doesn't include a full key exchange API yet.
2017-03-12 13:15:39 +01:00
Frank Denis
8fb5918fb6 Add a test for siphashx24 2017-02-24 19:23:14 +01:00
Frank Denis
7f7e7235c5 Add a keygen function to all the primitives 2017-02-19 21:15:54 +01:00
Frank Denis
49916e5a82 Ignore *.wasm *.wast 2017-02-19 18:10:50 +01:00
Frank Denis
532ea6bd95 + test for aead_xchacha20poly1305 2017-02-18 22:10:30 +01:00
Frank Denis
b209a7c0af Add a test for HChaCha20 2017-02-12 22:28:35 +01:00
Frank Denis
cc7b57b4a6 Forgot to ignore libsodium-uninstalled.pc 2016-06-04 07:09:36 +02:00
Frank Denis
eaba3a48fd Ignore test/js.done 2016-06-04 06:57:56 +02:00
Frank Denis
a0e22bddcb Sort .gitignore 2016-06-04 06:52:25 +02:00
Frank Denis
da057008ff Remove curvecp from .gitignore 2016-06-04 06:52:08 +02:00
Frank Denis
9ecde0c456 Ignore more specific directories than libsodium-* 2016-06-04 06:47:24 +02:00
Frank Denis
5dce2b5c64 Revamp the emscripten build script 2016-04-17 22:45:37 +02:00
Frank Denis
99576d46d0 Use a specific "done" file for every javascript target 2016-04-06 15:05:59 +02:00
Frank Denis
79935dc918 test/pwhash_argon2i -> test/pwhash 2016-03-21 09:48:01 +01:00
Frank Denis
7a95e921ac Add tests for pwhash_argon2i 2015-12-29 17:12:23 +01:00
Frank Denis
14bf02af88 Rename the pwhash test as as pwhash_scrypt 2015-12-29 16:14:19 +01:00
Frank Denis
f254415be4 Update .gitignore 2015-12-23 22:31:02 +01:00
Frank Denis
48b9c4e75c Ignore test/default/browser, import HTML template 2015-12-07 09:57:49 +01:00
Frank Denis
93295855cf Add aes256gcm test vectors 2015-10-11 12:56:20 +02:00
Frank Denis
7fca230be8 Nits after pnacl merge 2015-08-02 13:53:22 +02:00
Frank Denis
575ce93058 + crypto_box_seal() 2015-04-17 01:01:32 +02:00
Graydon Hoare
4b6d9994be Add configure.lineno to .gitignore 2015-01-31 12:28:45 +01:00
Frank Denis
cd67cb17e5 Emscripten: add a file to mark that the build completed, for libsodium.js 2015-01-15 10:59:06 +01:00
Frank Denis
c08cbe45ec Ignore Vagrantfile 2015-01-09 20:02:20 +01:00
Frank Denis
fa2da90fd3 Ignore *.mem 2014-11-25 09:52:34 -08:00
Frank Denis
b062a555da scalarmult: check that the top bit is ignored 2014-09-18 21:27:49 -07:00
Frank Denis
eacb7c7f2b Ignore gcov files 2014-09-15 18:05:19 -07:00
Frank Denis
473e1718cc Add sodium_{malloc,allocarray,free}() and sodium_mprotect_*()
ptr = sodium_malloc(size) returns a pointer from which exactly "size" bytes
can be accessed.

ptr = sodium_allocarray(count, size) allocates enough storage space for
"count" pointers or scalars of unit size "size".

In both cases, the region is immediately followed by a guard page.
As a result, any attempt to access a memory location after ptr[size - 1] will
immediately trigger a segmentation fault.

The allocated region is mlock()ed and filled with 0xd0 bytes.

A read-only page with the size, a guard page, as well as a canary are
placed before the returned pointer.

The canary is checked by sodium_free(); as a result, altering data right
before ptr is likely to cause sodium_free() to kill the process.

sodium_free() munlock()s the region and fills it with zeros before
actually calling free().

sodium_mprotect_noaccess(), sodium_mprotect_readonly() and
sodium_mprotect_readwrite() can be used to change the protection on the set
of allocated pages.

Reverting the protection to read+write is not required before calling
sodium_free().
2014-08-14 21:41:05 -07:00
Frank Denis
eae4add8de Implement ed25519 -> curve25519 keys conversion 2014-08-05 13:32:25 -07:00
Frank Denis
7b0eeda1c6 Remove aes256estream.
AES-256 will be reintroduced, but not until we have a bitsliced implementation.
2014-08-05 00:57:10 -07:00
Frank Denis
a7410966ea Rename secretbox_chacha20poly1305() -> aead_chacha20poly1305()
The tag is still at the end. This will be changed right after.
2014-06-26 08:48:13 -07:00
Frank Denis
bd1490a6cd Add AEAD_CHACHA20_POLY1305
With a twist: in order to be consistent with the crypto_stream
interface, the tag has to come before the ciphertext.
2014-06-19 22:49:33 -07:00
Frank Denis
2058eaea99 Revert bd8cbd3175
Go back to masking the high bit in curve25519 instead of processing the
key as a 256-bit value.
2014-06-06 08:22:11 -07:00
Anders Johansson
d47d5d8623 Add test for Tarsnap testvectors to low-level scrypt interface 2014-06-01 20:58:20 +02:00