Frank Denis
046c1f03fe
Correct path in the main VS2010 solution
2015-10-14 16:54:51 +02:00
Frank Denis
684a7e3788
Avoid variable shadowing
2015-10-14 16:42:57 +02:00
Frank Denis
3f8d23f226
Rename acc to accv for consistency
2015-10-14 16:29:38 +02:00
Frank Denis
e868211d72
Reuse previous declaration
2015-10-14 16:22:03 +02:00
Frank Denis
9aec6662b2
Name round counters "roundctr", not a generic "i"
2015-10-14 16:12:13 +02:00
Frank Denis
bfed7b91b6
Explicit cast
2015-10-14 15:54:27 +02:00
Frank Denis
ec7b8e5605
Version bump [but still not released]
2015-10-14 14:43:22 +02:00
Frank Denis
14cc1e4836
Avoid variable shadowing
2015-10-14 11:29:39 +02:00
Frank Denis
2ee2e86f80
Explicit cast
2015-10-14 11:29:38 +02:00
Frank Denis
fa71e064ef
Update the MSVC2013 solution
2015-10-14 11:29:38 +02:00
Frank Denis
6e243160e8
Don't build for WP8
2015-10-13 15:12:48 +02:00
Frank Denis
a4a9f24f28
Update MSVS2012 solution
2015-10-13 05:57:15 -07:00
Frank Denis
da35396e90
Don't mix code and declarations
2015-10-13 14:32:37 +02:00
Frank Denis
ea5c989096
Update MSVC2010 solution
2015-10-13 05:07:09 -07:00
Frank Denis
8d35435a6d
Add aes256gcm to the main Visual Studio solution
2015-10-13 13:57:37 +02:00
Frank Denis
5d2692c499
Update ChangeLog
2015-10-12 15:12:31 +02:00
Frank Denis
794b0e9bfe
Update ChangeLog
2015-10-12 14:51:37 +02:00
Frank Denis
cc56966d7e
1.0.4 may still not work out of the box on Windows Phone
...
due to no CSPRNG being available to C applications.
2015-10-12 14:45:49 +02:00
Frank Denis
f169623d4e
C++ compat
2015-10-12 14:44:00 +02:00
Frank Denis
84625742c6
More test vectors
2015-10-12 13:58:10 +02:00
Frank Denis
40ba7ea531
More test vectors
...
from http://www.ieee802.org/1/files/public/docs2011/bn-randall-test-vectors-0511-v1.pdf
2015-10-12 10:03:09 +02:00
Frank Denis
98550acafb
Add tests for the aes256gcm functions returning sizes
...
Which spotted a typo by the way.
2015-10-11 19:19:31 +02:00
Frank Denis
7082a3c8d1
Ignore the aes256gcm test if aes256gcm hasn't been compiled in
2015-10-11 19:14:29 +02:00
Frank Denis
20e384988c
Test for presence of new sodium_runtime_has_*() functions
2015-10-11 18:51:30 +02:00
Frank Denis
c8be336506
C++ compat
2015-10-11 14:35:32 +02:00
Frank Denis
aa965a580b
Expose only crypto_aead_aes256gcm_*() not crypto_aead_aes256gcm_aesni_*()
...
libsodium typically doesn't expose specific implementations.
It shouldn't be the case for that construction either, especially since
an ARM8 implementation might be added later.
We want a single interface for both.
2015-10-11 14:29:25 +02:00
Frank Denis
dadc5d9906
Add crypto_aead_aes256gcm_aesni_is_available()
2015-10-11 13:05:32 +02:00
Frank Denis
76846bd3ee
Indent
2015-10-11 12:59:34 +02:00
Frank Denis
93295855cf
Add aes256gcm test vectors
2015-10-11 12:56:20 +02:00
Frank Denis
16beebb2ec
Don't use implementation-specific functions to expose sizes
2015-10-11 11:58:34 +02:00
Frank Denis
1dddd63a19
Merge branch 'aes256gcm'
...
* aes256gcm: (25 commits)
aes256gcm: we can expect the accumulator and the padding buffer to be aligned
aesgcm: don't expect input & output buffers to be aligned
aes256gcm doesn't use SSE4.1 instructions any more
Don't read past the AD buffer, even through an SIMD register
Convert more functions to macros
Add do { ... } while(0) when relevant
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.
Enable aes256gcm on Visual Studio
Don't declare new variables after a line of code
Declare __m128 arrays used as parameters as pointers Required for MSVC
Proper casts for aeskeygenassist()
Let's hope that requiring ssse3 is not required any more
Try to enable specific cflags before testing each intructions set
ssse3 target is required in addition to sse4.1
Use SIMD-specific compiler flags only for files needing them
Define __SSSE3__ if required
Do not try to compile aesni code if this is not going to compile
Check for AESNI & PCLMUL presence/usability
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.
Explicit cast
...
2015-10-11 02:45:36 +02:00
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
b618248c11
Merge pull request #304 from Sc00bz/patch-1
...
Zero the padding after having computed a hmac
2015-10-11 02:37:05 +02:00
Steve Thomas
e07599dafe
Update hmac_hmacsha256.c
2015-10-10 19:28:13 -05:00
Steve Thomas
958323b8bc
Update hmac_hmacsha512.c
2015-10-10 19:24:42 -05: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