Commit Graph
1977 Commits
Author SHA1 Message Date
Frank Denis 4defa543c4 Relax crypto_auth_hmacsha{256,512}_init to accept NULL pointers 2026-04-09 22:20:32 +02:00
Frank Denis 45b5cae00a Include <core.h> to get sodium_misuse 2026-04-09 22:18:52 +02:00
Frank Denis d6820320e8 Allow NULL pointers (with length=0) with shorthash 2026-04-09 22:18:47 +02:00
Frank Denis c1fe2af601 Reject impossible lengths in crypto_box 2026-04-09 22:18:41 +02:00
Frank Denis c7fb97c2bf Add some zeroing 2026-04-09 22:18:35 +02:00
Frank Denis 874c12a3ae Add some message size guards in AEGIS, for consistency 2026-04-09 22:18:29 +02:00
Frank Denis a77b7e7bbf Add Visual Studio quirks back 2026-04-09 00:42:34 +02:00
Frank Denis 4fe02571dd Fix compilation on ARM with very old gcc versions 2026-04-09 00:28:22 +02:00
Frank Denis d4bc6fb5fe Unify AES key expansion code on ARM 2026-04-09 00:28:18 +02:00
Frank Denis 829426cd1d More fixes for MSVC/aarch64 2026-04-09 00:28:13 +02:00
Frank Denis 2d949f8330 Add support for MSVC to aes256gcm 2026-04-09 00:28:09 +02:00
Frank Denis 168e60a217 Add casts for aarch64+gcc 2026-04-09 00:28:06 +02:00
Frank Denis 00ff370f84 Try to enable aes256-gcm even on non-clang compilers 2026-04-09 00:28:03 +02:00
Frank Denis 5160d47a9d Remove trailing comma 2026-04-09 00:15:51 +02:00
Frank Denis 098c5d46d3 Call sodium_misuse on ridiculously high base64 input lengths 2026-04-08 21:41:43 +02:00
Frank Denis 1518607867 C++ compat 2026-04-05 21:58:17 +02:00
Frank Denis 175d573e29 Remove ctype usage 2026-04-04 22:41:59 +02:00
Frank Denis 7a69ca5bc9 Refactor IPv6 zone ID parsing and reject malformed zone identifiers 2026-04-04 22:35:40 +02:00
Frank Denis 97a6e1d2d8 gcc on FreeBSD can produce bogus code for isspace 2026-04-04 22:24:16 +02:00
Frank Denis d44576d85a defined _AIX -> defined(_AIX) 2026-04-04 22:05:00 +02:00
Frank Denis bd6402c5db Define TLS as _Thread_local only if not properly autoconfigured 2026-04-04 11:12:55 +02:00
Frank Denis 8565c4a159 Some AIX versions define a macro named ip_len
So, workaround that by using ip_len_ :/
2026-04-04 11:05:04 +02:00
Frank Denis d23bbc58c3 base64: reject signed chars 2026-03-29 09:22:30 +02:00
Frank Denis c8dbc9c926 No need to include the hkdf headers twice 2026-03-26 23:53:05 +08:00
Frank Denis cdd5dea03d Avoid an MSVC warning in sodium_base64_ENCODED_LEN macro
Reported by @valveri , thanks!

Fixes #1526
Fixes #1527
2026-03-24 19:39:47 +08:00
Frank Denis 79a59b7a0a Restrict evex512 to clang 18-21 only 2026-03-16 20:52:58 +01:00
Frank Denis b55d75015b Add LCOV markers 2026-03-15 12:40:05 +01:00
Frank Denis 4286cef393 Add inlilne hints for aegis hot paths 2026-03-15 10:42:01 +01:00
Frank Denis 13d2c97a72 Remove useless sodium_memzero, add one that makes sense 2026-03-08 15:26:40 +01:00
Frank Denis c4e3b4028f Zero the state afetr AES decryption 2026-02-10 09:01:00 +01:00
Frank Denis 8a8d8a62fa secretbox: zero the state after checking only the tag 2026-02-10 09:00:59 +01:00
Frank Denis f6c18801a8 Add WASM SIMD implementations of Argon2 2026-01-22 10:42:14 +01:00
Frank Denis e4c2190330 randombytes: cleanup the JavaScript path
Refactor Emscripten handling to use a proper
randombytes_implementation struct instead of scattered #ifdef
blocks.
2026-01-17 12:28:29 +01:00
Frank Denis a937222006 Compatibility with gcc 4.x
Reported by @pedro0311

Fixes #1507
2026-01-13 23:00:25 +01:00
Frank Denis 3804ecc0e2 Add ARM acceleration for SHA3 2026-01-11 17:13:18 +01:00
Frank Denis 6b48659e3d Export missing crypto_ipcrypt_nd_keygen() helper function 2026-01-07 23:00:08 +01:00
Frank Denis 91fe8a46ec Fix compilation with GCC on aarch64
Use unsigned NEON intrinsics everywhere

Fixes #1502
2026-01-07 12:00:49 +01:00
Frank Denis 6a569ef3be Relax alignment of SHAKE states 2026-01-06 15:42:08 +01:00
Frank Denis d66b358741 Add crypto_core_keccak1600_state, remove keccak1600_STATEBYTES 2026-01-06 15:42:08 +01:00
Frank Denis 995c501554 Rename parameters to improve clarity 2026-01-06 15:42:08 +01:00
Frank Denis 7fcc982618 Change sodium_ip2bin to take the ip length 2026-01-06 15:42:08 +01:00
Frank Denis 7df634f2c5 Remove unnecessary checks 2026-01-06 15:42:08 +01:00
Frank Denis 7572dcccb9 Sync prototypes 2026-01-06 15:42:08 +01:00
Frank Denis 2fd321e42c Remove unused constants 2026-01-06 15:42:08 +01:00
Frank Denis b4263fc800 Add missing prototype 2026-01-06 15:42:08 +01:00
Frank Denis ff05585f75 Add sodium_ip2bin, sodium_bin2ip 2026-01-06 15:42:07 +01:00
Frank Denis 232a878877 MSVC doesn't allow direct C-style casts between NEON vector types
Replace (int8x16_t) with vreinterpretq intrinsics
2026-01-06 15:42:07 +01:00
Frank Denis f1eeb2787e Use a specialized shuffle macro and avoid non-portable builtins 2026-01-06 15:42:07 +01:00
Frank Denis 5aa6d1910b Import ipcrypt 2026-01-06 15:42:07 +01:00
Frank Denis 350604eb25 Import SHAKE128, SHAKE256, TurboSHAKE128, and TurboSHAKE256
- crypto_core_keccak1600: Keccak-f[1600] permutation
- crypto_xof_shake128/256: FIPS 202 SHAKE functions
- crypto_xof_turboshake128/256: TurboSHAKE (faster, 12-round variant)
2026-01-06 15:42:07 +01:00