Commit Graph

1103 Commits

Author SHA1 Message Date
Frank Denis
768b78b711 crypto_(secret)box_easy_detached() -> crypto_(secret)box_detached() 2014-06-27 18:29:03 -07:00
Frank Denis
9d8b184c1a Add another static assertion 2014-06-27 18:29:03 -07:00
Frank Denis
28d6eeaad7 Next package version will be 0.6.0
The library itself doesn't need a major version bump.
2014-06-26 16:13:46 -07:00
Frank Denis
c8dfd0d211 _detached versions of crypto_box 2014-06-26 15:54:03 -07:00
Frank Denis
44f7a9f3cb Allow the authentication tag to be stored separately from the message.
Encrypting in-place and storing the tag separately is a very common need.
Instead of forcing people to do their own cuisine, let's provide simple
variants of the _easy interfaces to do that.
2014-06-26 15:18:39 -07:00
Frank Denis
83e91d7955 Update MSVC2013 solution 2014-06-26 13:52:53 -07:00
Frank Denis
113adff15b Update the MSVC2010 solution 2014-06-26 13:49:03 -07:00
Frank Denis
54cddd9650 Update MSVC2012 solution 2014-06-26 13:40:18 -07:00
Frank Denis
b35d9d07be Update the legacy Visual Studio solution 2014-06-26 13:04:31 -07:00
Frank Denis
ca28c580e8 Revamp the AUTHORS file 2014-06-26 12:43:46 -07:00
Frank Denis
d00f0ef94a Move the chacha20poly1305 implementation to a subfolder for consistency 2014-06-26 11:42:49 -07:00
Frank Denis
d80dce9139 Handle c / ad overlap in crypto_aead_chacha20poly1305_encrypt() 2014-06-26 09:57:39 -07:00
Frank Denis
eec0f78af6 Move the tag to the end for crypto_aead_chacha20poly1305 2014-06-26 09:15:20 -07:00
Frank Denis
efe53d118b chachapoly1305 test: check output length 2014-06-26 08:56:17 -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
d983bbe860 zerocopy crypto_box_easy() and crypto_box_open_easy() 2014-06-25 21:42:33 -07:00
Frank Denis
865a0719fc The easy interface doesn't require any memory allocations any more.
At least for crypto_secretbox. crypto_box will follow.
2014-06-25 20:21:48 -07:00
Frank Denis
b2a8367b2b Zerocopy crypto_secretbox_open_easy() 2014-06-25 20:17:50 -07:00
Frank Denis
8e22264e85 zerocopy crypto_secretbox_easy() 2014-06-25 00:39:00 -07:00
Frank Denis
f08666b0c6 Add crypto_stream_salsa20_xor_ic() to set the initial counter value. 2014-06-24 22:16:55 -07:00
Frank Denis
e352e775e8 Update vs2010 & vs2013 solutions 2014-06-23 16:55:19 -07:00
Frank Denis
1ba2ff6a04 Update vs2012 solution 2014-06-23 16:53:14 -07:00
Frank Denis
6a3598187a Update headers in the MSVC solution 2014-06-22 22:10:03 -07:00
Frank Denis
4687d2db77 Update MSVC solution 2014-06-22 21:59:36 -07:00
Frank Denis
957315035a Use weak symbols to prevent LTO if this is an option.
Idea from Matthew Dempsky.
2014-06-20 21:11:53 -07:00
Frank Denis
c7418dfd58 zero the poly1305 state in crypto_secretbox_chacha20poly1305* 2014-06-20 16:28:00 -07:00
Frank Denis
bc24968993 Document ChaCha20Poly1305 2014-06-20 00:07:12 -07:00
Frank Denis
5e89fc9303 Import secretbox_chacha20poly1305.exp 2014-06-19 23:07:20 -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
9cba9c39e3 + crypto_onetimeauth streaming interface 2014-06-19 20:32:37 -07:00
Frank Denis
4df5a1b404 + poly1305 streaming interface (2) 2014-06-19 20:14:56 -07:00
Frank Denis
b6fbb0ca6a + poly1305 streaming interface 2014-06-19 20:04:48 -07:00
Frank Denis
ffdbac52ce poly1305_state_internal_t alignment is fine; add intermediary void * cast. 2014-06-19 19:39:50 -07:00
Frank Denis
c914f6a1af Remove implementation-specific header crypto_onetimeauth_poly1305_donna.h
Remove macro magic for poly1305_donna by the way
2014-06-19 19:26:40 -07:00
Frank Denis
47f409a0c8 Expose poly1305_context as crypto_onetimeauth_poly1305_state 2014-06-19 18:55:21 -07:00
Frank Denis
3ae2cb5c26 Indent 2014-06-19 18:45:56 -07:00
Frank Denis
b0f798aa66 + crypto_stream_chacha20_xor_ic() to set the initial value of the block counter 2014-06-19 00:28:02 -07:00
Frank Denis
098bad385b Disable memset_s test for now.
Targeting OSX < 10.9 with -macosx-version-min doesn't work as expected:
memset_s is detected as present even though it won't actually work on
OSX <= 10.8
2014-06-18 17:49:28 -07:00
Frank Denis
64154fb9f5 Use RtlGenRandom() instead of CryptGenRandom() on Windows 2014-06-15 22:39:10 -07:00
evoskuil
0c0705ed47 Debug symboils for VS static libs. 2014-06-14 19:44:32 -07:00
Frank Denis
18cabe2c14 Another Objective-C wrapper 2014-06-14 11:55:51 -07:00
Frank Denis
bc11c90bf5 Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Avoid naming a function select() in order to avoid confusion with select(2)
  Comment dead code generated by qhasm
  Remove useless access() before open()
  Add annotations for Coverity FPs
  test/default/sign.c: make the test vectors static
  Make crypto_sign() test code more explicit. crypto_sign() doesn't just need the secret key. The public key has to follow. Which is why the test vectors are laid out in this order. But this can confuse static analysis, as well as people looking at the test in order to better understand how crypto_sign() works. So, just copy the sk and the pk into a dedicated buffer, for clarity.
  Disable the pwhash_scrypt_ll test that requires 1 Gb RAM. This is way too much for many devices and for VPS users.
2014-06-13 17:17:31 -07:00
Frank Denis
7b7e223d39 Do not allocate more memory than needed in the easy interfaces.
And compute m_boxed_len as (ZEROBYTES || message len) to match the way the
documentation describes the output.
2014-06-13 17:15:34 -07:00
Frank Denis
dfade241e7 Avoid naming a function select() in order to avoid confusion with select(2) 2014-06-09 19:29:08 -07:00
Frank Denis
9b3da167fd Comment dead code generated by qhasm 2014-06-09 19:27:54 -07:00
Frank Denis
3acdfa99a6 Remove useless access() before open() 2014-06-09 19:27:54 -07:00
Frank Denis
befd9c257d Add annotations for Coverity FPs 2014-06-09 19:27:54 -07:00
Frank Denis
1fcb676aed test/default/sign.c: make the test vectors static 2014-06-09 19:27:54 -07:00
Frank Denis
06e089ef6a Make crypto_sign() test code more explicit.
crypto_sign() doesn't just need the secret key. The public key has to follow.
Which is why the test vectors are laid out in this order.
But this can confuse static analysis, as well as people looking at the test
in order to better understand how crypto_sign() works.
So, just copy the sk and the pk into a dedicated buffer, for clarity.
2014-06-09 19:27:49 -07:00
Frank Denis
8560366cd8 Disable the pwhash_scrypt_ll test that requires 1 Gb RAM.
This is way too much for many devices and for VPS users.
2014-06-07 10:16:03 -07:00