Frank Denis
82e9c729f1
aes256gcm: we can expect the accumulator and the padding buffer to be aligned
2015-10-11 02:39:28 +02:00
Frank Denis
66d55c1939
aesgcm: don't expect input & output buffers to be aligned
2015-10-11 02:39:28 +02:00
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