Commit Graph

2764 Commits

Author SHA1 Message Date
Frank DENIS
36c038ccd1 Additional ChaCha20/Salsa20 tests with a short output length 2017-03-02 18:01:28 +01:00
Frank Denis
edb03b4ad8 Reorder includes
This restores compatibility with CompCert
2017-03-02 16:32:57 +01:00
Frank Denis
2fe7ccfbd6 Remove another useless test on 32-bit platforms 2017-03-02 14:52:29 +01:00
Frank Denis
0ae4fa63bf Avoid useless comparison 2017-03-02 14:38:20 +01:00
Frank Denis
faf40a1946 Define scrypt's opslimit_max as UINT32_MAX
This is consistent with Argon2, will always be plenty enough, and
ensures that the constant is the same on 32- and 64-bit architectures.

Adjust memlimit_max accordingly
2017-03-02 14:19:45 +01:00
Frank Denis
0ebae146ca UL -> U suffixes 2017-03-02 14:19:34 +01:00
Frank Denis
77950b544c Move core_hchacha20 out of the minimal build 2017-03-02 11:27:19 +01:00
Frank Denis
be9024c5db Merge branch 'master' of https://github.com/jedisct1/libsodium
* 'master' of https://github.com/jedisct1/libsodium:
  Update comment on crypto_generichash_state allocation with sodium_malloc() (#501)
2017-03-02 10:19:46 +01:00
Frank Denis
617862eb5a Make aead_xchacha20_poly1305 a first-class citizen 2017-03-02 10:19:08 +01:00
Alexander Iljin
fa0245cf1c Update comment on crypto_generichash_state allocation with sodium_malloc() (#501) 2017-03-02 00:29:50 +01:00
Frank Denis
60e9668c14 Regen the emscripten build script with the updated list of symbols 2017-03-01 17:24:55 +01:00
Frank Denis
bc2bde3482 Add the new symbols to the Javascript target 2017-03-01 17:22:46 +01:00
Frank Denis
862c747a20 Simplify 2017-03-01 14:40:58 +01:00
Frank Denis
6ac55a30be No need for memmove() when no overlap is possible 2017-03-01 14:07:12 +01:00
Frank Denis
6349e75304 Indent 2017-03-01 10:33:48 +01:00
Frank Denis
de6a932842 Include private/common.h in onetimeauth_poly1305.c
(not available in MSVC yet)
2017-03-01 10:33:32 +01:00
Frank Denis
89f9b7501a Include private/common.h in stream_chacha20.c 2017-03-01 10:33:06 +01:00
Frank Denis
ea7f03d9b4 Define HAVE_INTRIN_H on Windows; no need to reinclude it in runtime.c 2017-03-01 10:32:28 +01:00
Frank Denis
ed57801379 Avoid implicit types conversions and magic constants 2017-03-01 08:21:02 +01:00
Frank Denis
02565ad4c8 Mark the *_primitive() accessors as warn_unused_result 2017-03-01 08:14:03 +01:00
Frank Denis
ca188c59fd Make the SHA2 code slightly faster
Bring the code up to date with FreeBSD and libcperciva
2017-03-01 01:07:02 +01:00
Frank Denis
ff931a9ab5 Remove useless assignments 2017-02-28 20:54:13 +01:00
Frank Denis
ab05ce906b Add missing preprocessor continuation, indent by the way 2017-02-28 18:27:06 +01:00
Frank Denis
1c2ce89326 _xgetbv() can be defined as a macro, so try an actual compilation 2017-02-28 18:20:24 +01:00
Frank Denis
e5a196a8ee Always include intrin.h if available 2017-02-28 17:58:50 +01:00
Frank Denis
9eea164007 Check for _xgetbv() presence 2017-02-28 17:51:18 +01:00
Frank Denis
f23d7eff4d Automatically generate MSVC projects 2017-02-28 17:33:57 +01:00
Frank Denis
bf9b322334 _mm_set_epi64x() emulation for MSVC < 2015 2017-02-28 16:27:45 +01:00
Frank Denis
72426ed9c0 Always include <intrin.h> on Visual Studio x86/x86_64 2017-02-28 15:28:59 +01:00
Frank Denis
88cc2c6ba5 scrypt_common: check for sse2 support the same way as everywhere else 2017-02-28 15:08:40 +01:00
Frank Denis
9904e95bde salsa_ref: properly initialize variables when NULL is used as constants 2017-02-27 17:06:14 +01:00
Frank Denis
8398b47573 Remove unused variable 2017-02-27 17:04:31 +01:00
Frank Denis
fa89071261 Manual unrolling 2017-02-27 17:03:03 +01:00
Frank Denis
c6460c9e9a Remove unreferenced variables 2017-02-27 16:57:37 +01:00
Frank Denis
03f27b4204 Use _xgetbv() on Visual Studio, when available 2017-02-27 16:54:20 +01:00
Frank Denis
4fea4d917b With MSVC, AVX2 cause ICEs on x86 targets 2017-02-27 16:34:41 +01:00
Frank Denis
0e4a05d558 MSVC can only assembly x86 instructions 2017-02-27 16:31:46 +01:00
Frank Denis
3cd883d33e Remove debugging leftover in tests 2017-02-27 16:25:32 +01:00
Frank Denis
47bc8df460 Avoid unsupport pragmas 2017-02-27 16:07:57 +01:00
Frank Denis
f6a032f3e6 Regen the top-level msvc project 2017-02-27 16:02:59 +01:00
Frank Denis
cc55a084f8 MSC_VER -> _MSC_VER typo 2017-02-27 09:15:37 +01:00
Frank Denis
e05d2b3d8f C++ compat 2017-02-27 00:36:59 +01:00
Frank Denis
17b26a6e01 Missing \ 2017-02-27 00:30:30 +01:00
Frank Denis
9c699ecdd4 Don't ask too much from automake 2017-02-27 00:22:35 +01:00
Frank Denis
14bebe460b Allow compilation without a working x86_64 assembler 2017-02-27 00:19:42 +01:00
Frank Denis
e3b9907429 Use the assembly version of salsa20_xmm6 by default, if possible
icc produces good code from the intrinsics-based translation,
clang produces okay code, but gcc doesn't perform very well ATM.

It's a bummer to have a 3rd implementation, but salsa20 is used quite
a lot in the library, so it deserves a special attention.

If the assembly code cannot be assembled, fall back to the reduced
version of the intrinsics-based translation.

So, in the final library, we always only get two implementations at most.
2017-02-27 00:09:48 +01:00
Frank Denis
7d29c0fbd7 Remove useless prototypes 2017-02-26 23:51:58 +01:00
Frank Denis
3db624d335 Bring the asm amd64_xmm6 implementation back 2017-02-26 23:36:54 +01:00
Frank Denis
606f569c7b Replace the SSSE3 ChaCha20 impl with one derived from the AVX2 impl 2017-02-26 23:02:45 +01:00
Frank Denis
f60e4ae514 Capitalize macro params 2017-02-26 22:48:49 +01:00