Commit Graph
1988 Commits
Author SHA1 Message Date
Frank Denis d022f2d637 State wipe 2026-04-09 23:00:05 +02:00
Frank Denis 758bb4a4de ML-KEM: wipe ephemeral seeds and harden invalid-pk test 2026-04-09 23:00:05 +02:00
Frank Denis bf8cf449ea sha3: make post-final misuse safe and deterministic 2026-04-09 23:00:05 +02:00
Frank Denis 57c6200865 Regen 2026-04-09 23:00:05 +02:00
Frank Denis 30a18ae407 Add a high-level crypto_kem API mapping to xwing 2026-04-09 23:00:05 +02:00
Frank Denis 3fa3eac209 Add X-Wing 2026-04-09 23:00:05 +02:00
Frank Denis bca64e0982 Add ML-KEM768 2026-04-09 23:00:05 +02:00
Frank Denis 350313ec20 Add support for SHA3 2026-04-09 23:00:05 +02:00
Frank Denis a09f7ed21a Add some coverage exclusions 2026-04-09 23:00:05 +02:00
Frank Denis 98e1f0dba7 SHAKE: in case update is called right after squeezing, permute
Calling update after squeezing is undocumented and non standard,
but if an application still decides to do it, permute the state
before absorbing so that it's still safe to do so.

We can easily do it since we keep track of the state.

Still return an error as this is not the expected usage of SHAKE,
and zeroing the state is another thing we could do.
2026-04-09 23:00:04 +02:00
Frank Denis db920a146c Add NEON optimizations for Argon2 2026-04-09 23:00:04 +02:00
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