Commit Graph
1904 Commits
Author SHA1 Message Date
Frank Denis 9e125388a1 Use uint64_t sizes in aegis*_mac()
No-op in libsodium for now, but useful if we introduce a streaming
API later.
2024-12-04 17:38:55 +01:00
Frank Denis 8855e8c300 Add assembly versions of equal() and negative() 2024-10-23 22:37:37 +02:00
Frank Denis 42f4e42b06 Use an optblocker in crypto_verify_n() 2024-10-23 22:34:15 +02:00
Frank Denis c1fc74e690 Sync softaes with libaegis 2024-10-23 22:11:51 +02:00
Frank Denis 96d115cf29 Decrement and shift in separate steps 2024-10-23 19:52:14 +02:00
Frank Denis 409b3a70ad More optblocker usage 2024-10-23 19:10:13 +02:00
Frank Denis a9cbc57844 Add another optblocker 2024-10-23 19:09:24 +02:00
Frank Denis 3c6da4b8c2 randombytes_internal_random.c: move clang target attribute down
Specifically, move it after the system includes.

This appears to address an issue with clang 18 when cross-compiling
to windows.

Fixes #1413
2024-09-26 21:55:38 +02:00
mschwarzlandFrank Denis b7b1c08272 Support for Cloudflare Workers for javascript_stir (#1401)
* Support for Cloudflare Workers for javascript_stir

* Ramove debugging comment

---------

Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
2024-08-13 21:40:54 +02:00
Frank Denis 0217d07326 Start introducing optblockers to prevent unwanted conditional jumps 2024-08-03 18:14:26 +02:00
Frank Denis f2303ba3f0 Update autoconf 2024-08-01 13:57:57 +02:00
Frank Denis dcc6471e26 Indent 2024-08-01 13:57:32 +02:00
SeungHwan Hur 28ac48d112 help MSVC optimize ROL/ROR functions (#1392) 2024-08-01 13:57:26 +02:00
Frank Denis 87f46367c4 AEGIS: improve performance of AD absorption on x86_64
No apparent regression on other platforms.

Adapted from libaegis.
2024-05-25 00:43:57 +02:00
Frank Denis 54b04533cc Explicitly enabling evex512 is now required with LLVM 18 2024-05-09 22:21:10 +02:00
Frank Denis bf972efda0 Use clang pragmas to enable features rather than depend on compiler settings 2024-04-27 23:18:59 +02:00
Andrzej Fiedukowicz b3333f07fa Move includes in crypto_onetimeauth_poly1305.h outside of extern C (#1345)
Includes being outside of `extern "C"` are de-facto standard in all other include files of libsodium.

At the same time, having inside the `extern "C"` is causing problem with C++ vs. C toolchain being confused about which libraries should be linked. This was especially painful while working on `swift-sodium` integration with windows.
2024-01-17 15:06:29 +01:00
Frank Denis 5068a8f257 When using MSVC on aarch64, __ARM_ARCH is not defined
Reported by RADDI.net -- Thanks!
2024-01-07 16:12:41 +01:00
Frank Denis 60c0c40b55 Add forgotten crypto_kdf_hkdf_sha512_statebytes() 2023-11-29 22:03:05 +01:00
Frank Denis f1184e45d9 Include argon2id in crypto_pwhash_primitive()
Fixes #1331
2023-11-10 12:36:32 +01:00
Frank Denis 420356c58a Add a comment where coordinates are expected to be normalized 2023-11-08 07:38:04 +01:00
Frank Denis d1a0b7e7cb _M_AMD64 is the same as _M_X64 2023-11-02 06:40:41 +01:00
Frank Denis bb6e6a4b52 aarch64: set compiler attributes *after* including <arm_neon.h>
Fixes #1321
2023-10-20 13:57:44 +02:00
Frank Denis fb4533b0a9 Port the GCC target changes for aarch64 to aegis
Fixes #1313
2023-09-13 15:46:16 +02:00
Frank Denis b795a93fa8 Promote HKDF to minimal builds 2023-09-13 09:00:06 +02:00
Frank Denis 443617d750 Remove expected length from the pwhash_str_verify()/needs_rehash() 2023-09-13 09:00:06 +02:00
Frank Denis 854947a4ce Add AEGIS AEADs 2023-09-13 09:00:06 +02:00
Frank Denis b8a6fecdb6 Add support for HKDF 2023-09-13 09:00:06 +02:00
Frank Denis 61674c6c87 Use ANDROID_CPU_ARM64_FEATURE_AES for AES detection on Android/aarch64 2023-09-13 08:59:50 +02:00
Frank Denis a589d64b42 Handle SIGPROT, CHERI's in-address space security exception 2023-09-12 21:04:06 +02:00
Frank Denis b6bcb3dc22 Forgotten attribute pop 2023-09-12 16:03:13 +02:00
Frank Denis e2935b6943 aarch64: try harder when checking for the crypto extensions 2023-09-12 15:59:05 +02:00
Frank Denis 652c081535 Don't hardcode type sizes 2023-09-12 12:52:08 +02:00
Frank Denis dcf78d77be Inline 2023-09-12 12:38:52 +02:00
Frank Denis 6d5cf12fca define randombytes_set_implementation argument to be const (#1068) 2023-09-12 12:30:19 +02:00
martingd b335abd946 Error from argon2_hash() during verify propagated. (#1039) 2023-09-12 12:13:49 +02:00
Frank Denis ed9e3e18f1 Indent 2023-09-12 12:09:39 +02:00
Frank Denis 18727ac58f Nits 2023-09-12 12:08:23 +02:00
Frank Denis 2800307b05 Nits 2023-09-12 12:07:32 +02:00
Frank Denis 6e0c80f169 Remove unused variables 2023-09-11 15:05:43 +02:00
Frank Denis 709fb29e79 Visual Studio: define __ARM_NEON on Windows/ARM 2023-09-11 00:59:59 +02:00
Frank Denis 9a55460523 Define additional capabilities when using Visual Studio 2023-09-11 00:59:51 +02:00
Frank Denis 6c35bcaabf Downgrade ax_valgrind_check 2023-09-10 22:26:31 +02:00
Frank Denis 7793ba6bc4 Move sodium implementations out of their dedicated directory 2023-09-09 17:33:02 +02:00
Frank Denis 21223ba7a1 Add ge25519_clear_cofactor() 2023-09-09 13:25:09 +02:00
Frank Denis 5e4affe9d8 Support gcc-like and C11-like memory fences 2023-09-09 09:01:51 +02:00
Frank Denis e95d437f84 Add memory fences where supported 2023-09-09 09:01:44 +02:00
Frank Denis 3a6a6025cc Backport aarch64 support for aes256-gcm 2023-09-09 01:04:48 +02:00
Frank Denis 2a72d4501b Simplify how non-deterministic ed25519 nonces are computed 2023-09-08 23:37:55 +02:00
Frank Denis a77269a21b Regen 2023-09-08 22:03:03 +02:00