Commit Graph
1584 Commits
Author SHA1 Message Date
Frank Denis 82b2f5a4c4 aes256gcm doesn't use SSE4.1 instructions any more 2015-10-11 01:17:00 +02:00
Frank Denis 970058bb38 Don't read past the AD buffer, even through an SIMD register 2015-10-11 01:00:33 +02:00
Frank Denis 0b20d292df Convert more functions to macros 2015-10-11 00:43:44 +02:00
Frank Denis 69aac7d0af Add do { ... } while(0) when relevant 2015-10-11 00:12:16 +02:00
Frank Denis 7a67bb9484 Turn reduce4 into a macro
That's too much registers for a function call in 32-bit mode.
And in MSVC, this is even the case if the function is marked inline.
2015-10-10 23:33:34 +02:00
Frank Denis d1d833a240 Enable aes256gcm on Visual Studio 2015-10-10 23:04:40 +02:00
Frank Denis 30729b0add Don't declare new variables after a line of code 2015-10-10 21:57:04 +02:00
Frank Denis 9055a140f3 Declare __m128 arrays used as parameters as pointers
Required for MSVC
2015-10-10 21:07:07 +02:00
Frank Denis 78002f8ca7 Proper casts for aeskeygenassist() 2015-10-10 20:57:46 +02:00
Frank Denis fad86b2fe9 Let's hope that requiring ssse3 is not required any more 2015-10-10 20:15:35 +02:00
Frank Denis 84d92fc1bf Try to enable specific cflags before testing each intructions set 2015-10-10 20:10:26 +02:00
Frank Denis c3195da04d ssse3 target is required in addition to sse4.1 2015-10-10 19:40:29 +02:00
Frank Denis f267352eec Use SIMD-specific compiler flags only for files needing them 2015-10-10 19:24:30 +02:00
Frank Denis d4ff80e7a0 Define __SSSE3__ if required 2015-10-10 18:32:10 +02:00
Frank Denis 6ca06314fc Do not try to compile aesni code if this is not going to compile 2015-10-10 18:22:03 +02:00
Frank Denis e83e9b2d8e Check for AESNI & PCLMUL presence/usability 2015-10-10 17:57:47 +02:00
Frank Denis ab2e86748e Replace the aes256gcm implementation with Romain Dolbeau's implementation
which is slightly faster than mine.
Reimplement features from the previous implementation: add batch mode and
use two passes in the decryption function in order to check the tag before
decrypting.
2015-10-10 16:21:08 +02:00
Frank Denis ef1417bc2f Explicit cast 2015-10-09 09:48:34 +02:00
Frank Denis 41c296fcf8 Make the state const in *_afternm() 2015-10-09 09:43:03 +02:00
Frank Denis 96d4494f2f Add crypto_aead_aes256gcm_aesni_{beforenm|*_afternm} 2015-10-09 09:25:01 +02:00
Frank Denis 396e16880d Move CRYPTO_ALIGN to sodium/export.h 2015-10-09 08:50:49 +02:00
Frank Denis 571bfc99c8 Check for ssse3 presence 2015-10-07 23:26:13 +02:00
Frank Denis e8e5d2fc18 Add crypto_aead_aes256gcm_aesni_*
Requires a CPU with aesni and pclmulqdq
This is a private branch for a reason. It is not going to be merged as-is.
2015-10-07 23:09:19 +02:00
Frank Denis d8e870cb43 /dev/urandom can be a name special file in addition to a character special file 2015-10-05 11:51:29 +02:00
Frank Denis 4705c0a066 Yes, support for NativeClient was added. 2015-09-22 22:51:31 +02:00
Frank Denis dca2131f45 C++ compat 2015-09-21 16:05:53 +02:00
Frank Denis 6be1ce3f34 scalarmult: add the exact test from the irtf-cfrg-curves draft
Use guarded memory by the way.
2015-09-21 15:45:32 +02:00
Frank Denis fe27e6c136 randombytes: use arc4random(3) on OpenBSD and CloudABI 2015-09-13 15:34:01 +02:00
Frank Denis 6757e3320a Confusing indentation 2015-09-13 15:09:51 +02:00
Frank Denis 46f71fba9e Check for getpid(2) presence instead of checking for Visual Studio 2015-09-13 15:04:26 +02:00
Frank Denis 7fa840e486 C++ compat 2015-09-09 17:42:38 +02:00
Frank Denis 8ee4950eb3 Use sodium_malloc() for the secretbox_*() tests 2015-09-09 10:00:18 +02:00
Frank Denis e424963ae8 Call a weak function in sodium_memcmp() to prevent LTO.
sodium_memcmp() can be used to compare user-provided secrets against
constant, hardcoded secrets. We don't want the compiler to generate code
that would be optimized for these hardcoded values.
2015-09-09 09:33:20 +02:00
Frank Denis 0f1f8a6ea6 Check that secretbox works as expected when m and c are overlapping 2015-09-09 09:00:08 +02:00
Frank Denis f51fb6a90e Add a test for crypto_secretbox() with c == m 2015-09-09 08:51:19 +02:00
Frank Denis c1f749e68a Keep shell variables names consistent with their related C macros. 2015-09-04 15:37:31 +02:00
Frank Denis cccc29cc18 Merge pull request #293 from mvduin/master
improve test for unaligned access
2015-09-04 15:31:01 +02:00
Matthijs van Duin cfa9e95b6c improve test for unaligned access
check target attribute on ARM
2015-09-04 02:29:34 +02:00
Frank Denis 8fa4ef1391 + Drew Crawford for NaOH 2015-08-31 02:47:21 +02:00
Frank Denis 2ec482a3d9 Sadly compile for platform version 16 (Android 4.1) 2015-08-11 07:58:50 +02:00
Frank Denis 486b05fccb Thanks @franks42 for the new Clojure bindings 2015-08-06 02:30:57 +02:00
Frank Denis fb2a76f37b Add braces for consistency 2015-08-05 20:00:15 +02:00
Frank Denis 7bce6d82f0 Reindent Android build script 2015-08-05 19:46:36 +02:00
Frank Denis a934fe072b Export crypto_onetimeauth to emscripten 2015-08-05 11:41:44 +02:00
Frank Denis e0ad286258 Remove armv7s from the iOS build script 2015-08-04 13:51:12 +02:00
Frank Denis 90d9f5debd Remove bashisms in nacl-test-wrapper.sh 2015-08-02 14:39:17 +02:00
Frank Denis a8bd6a397b Add a nativeclient build script 2015-08-02 14:17:59 +02:00
Frank Denis 7fca230be8 Nits after pnacl merge 2015-08-02 13:53:22 +02:00
Frank Denis f610f781f2 Merge remote-tracking branch 'arbinger/pnacl' into nacl
* arbinger/pnacl:
  removed comment
  Added .final and .nexe output files to CLEANFILES
  revert original hack
  Initial patch for Chrome NaCl implementation
  Added patch to obtain random bytes for Chrome NaCl via IRT -- allows build with NaCl SDK toolchain
2015-08-02 12:54:05 +02:00
Frank Denis 39bc0980ef Merge pull request #287 from wongsyrone/master
Fix _FORTIFY_SOURCE redefined issue
2015-08-02 08:18:08 +02:00