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