Commit Graph
100 Commits
Author SHA1 Message Date
Frank Denis 6a79fae4cb Update for zig 0.16 2026-03-12 18:50:01 +01:00
Frank Denis 5224134ce4 Add .swival to .gitignore 2026-02-26 00:02:29 +01:00
Frank Denis 3d9d8f5001 Regen emscripten 2026-02-20 23:41:12 +01:00
Frank Denis 84e25e8f81 Format 2026-02-20 23:32:12 +01:00
Frank Denis 354e997bba Adjust KAT order 2026-02-20 23:31:12 +01:00
Frank Denis af0dd1b4ac Indent 2026-02-20 23:27:12 +01:00
Frank Denis 38a82863f1 crypto_core_*_from_string: drop the _ro suffix 2026-02-20 23:23:12 +01:00
Frank Denis 8bb79ae24d Rename crypto_core_*_from_string to crypto_core_*_from_string_nu
RO should be the default
2026-02-20 23:19:12 +01:00
Frank Denis 44cf631d04 Add argon2_fill_segment_neon to the quirks 2026-02-20 23:12:12 +01:00
Frank Denis 530252d9a3 Add crypto_core_ed25519_scalar_from_string 2026-02-20 23:06:12 +01:00
Frank Denis 78c80a9f73 Update emscripten symbols 2026-02-20 23:00:12 +01:00
Frank Denis 1cde0d85d9 Add tests for crypto_core_ristretto255_from_string_ro
Using test vectors from RFC 9497. Suggested by @wmcelderry, thanks!

Fixes #1515
2026-02-20 12:24:47 +01:00
Frank Denis babd0c3e59 Remove crypto_core_ristretto255_from_string 2026-02-20 12:05:55 +01:00
Frank Denis ed661cd1fc More fixes for MSVC/aarch64 2026-02-10 23:05:40 +01:00
Frank Denis e4575f45e2 Add casts for aarch64+gcc 2026-02-10 23:00:40 +01:00
Frank Denis 47eaab6bd6 Update ChangeLog 2026-02-10 08:56:52 +01:00
Frank Denis f6e26ce153 Try to enable aes256-gcm even on non-clang compilers 2026-02-10 08:56:52 +01:00
Frank Denis f823ff3450 dotnet-core: ubuntu 20.04 is unsupported 2026-02-08 16:43:50 +01:00
Frank Denis e8492b1859 Zero the state afetr AES decryption 2026-02-05 21:42:03 +01:00
Frank Denis 69435b04fe 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-02-05 23:08:48 +01:00
Frank Denis 012bab9616 Zeroize a few things after use 2026-02-05 23:01:48 +01:00
Frank Denis 92b2a81616 Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium: (46 commits)
  Update ChangeLog
  apple-xcframework: move headers into a Clibsodium subdirectory
  Change crypto_core_ed25519_from_string to take a binary string
  Add hardware acceleration for SHA256 on aarch64
  core_ed25519_h2c.c test: verify y coordinate as well
  Add NEON optimizations for Argon2
  Add WASM SIMD implementations of Argon2
  Emscripten: add an option to compile with SIMD
  Just use sodium_memcmp
  Add a high-level crypto_kem API mapping to xwing
  Add X-Wing
  Add back symbols for Intel implementations
  Cleanup symbols
  Remove SHA3 wrapper
  ml-kem: remove internal SHA3 implememtation
  Add new symbols
  Add support for SHA3
  JavaScript: faster randomness generation
  Compatibility with gcc 4.x
  Set emscripten reserved memory to 80MB
  ...
2026-02-03 23:59:34 +01:00
Frank Denis 866075b4d1 VS 2026 toolsets may not define PlatformToolsetVersion 2026-02-03 23:59:15 +01:00
Frank Denis 28b8bc53bf Update ChangeLog 2026-01-29 13:29:22 +01:00
Frank Denis af4ec309ef apple-xcframework: move headers into a Clibsodium subdirectory
The generated Clibsodium.xcframework will have headers at
Headers/Clibsodium/ instead of Headers/

This prevents the module.modulemap collision when used alongside
other xcframeworks.
2026-01-29 13:26:13 +01:00
Frank Denis 3e4de8a134 Change crypto_core_ed25519_from_string to take a binary string 2026-01-23 23:07:00 +01:00
Frank Denis 54cd5d0ae9 Add hardware acceleration for SHA256 on aarch64 2026-01-23 23:01:00 +01:00
Frank Denis 03786f4de5 core_ed25519_h2c.c test: verify y coordinate as well 2026-01-23 12:24:48 +01:00
Frank Denis 9561aea8e5 Add NEON optimizations for Argon2 2026-01-22 12:00:49 +01:00
Frank Denis b36e407fe5 Add WASM SIMD implementations of Argon2 2026-01-22 12:00:49 +01:00
Frank Denis 368ceb845d Emscripten: add an option to compile with SIMD 2026-01-22 11:19:41 +01:00
Frank Denis 15e6dad043 Just use sodium_memcmp 2026-01-15 23:30:59 +01:00
Frank Denis 557dc9e51d Add a high-level crypto_kem API mapping to xwing 2026-01-15 23:29:59 +01:00
Frank Denis bd6a8af323 Add X-Wing 2026-01-15 23:26:59 +01:00
Frank Denis 44443f9bcb Add back symbols for Intel implementations 2026-01-15 19:26:15 +01:00
Frank Denis bc43c46a43 Cleanup symbols 2026-01-15 23:18:59 +01:00
Frank Denis 02e707a963 Remove SHA3 wrapper 2026-01-15 23:17:59 +01:00
Frank Denis 49d1b7e0ea ml-kem: remove internal SHA3 implememtation
Now that there's a public SHA3 API.
2026-01-15 23:10:59 +01:00
Frank Denis 036e268e17 Add new symbols 2026-01-15 23:10:59 +01:00
Frank Denis a6038f815c Add support for SHA3 2026-01-15 23:03:59 +01:00
Frank Denis e7c1796015 JavaScript: faster randomness generation
Fill entire buffers directly.
2026-01-13 23:00:03 +01:00
Frank Denis 4a7692a723 Compatibility with gcc 4.x
Reported by @pedro0311

Fixes #1507
2026-01-13 20:00:17 +01:00
Frank Denis d603d6b151 Set emscripten reserved memory to 80MB 2026-01-11 22:53:49 +01:00
Frank Denis 2852c0ea68 Update ChangeLog 2026-01-11 20:03:32 +01:00
Frank Denis bb7fb0e0f0 CI: also compile with GCC/aarch64 with the SHA3 extensions 2026-01-11 17:52:41 +01:00
Frank Denis 64cba3196c CI: compile with GCC on aarch64 with ARM Crypto Extensions 2026-01-11 17:50:04 +01:00
Frank Denis 83c310254c Update ChangeLog 2026-01-08 09:40:05 +01:00
Frank Denis ddcf3aba32 Use build.zig from -stable 2026-01-08 12:00:39 +01:00
Frank Denis 589f042623 Bump dev 2026-01-07 23:28:39 +01:00
Frank Denis 08b349a09b Improve the issue templates 2026-01-07 23:22:39 +01:00
Frank Denis b927407fec Try installing VS2019 manually 2026-01-07 23:18:39 +01:00
Frank Denis 75ece7e5d3 Windows Server 2019 has been retired from Azure Pipelines
See https://devblogs.microsoft.com/devops/upcoming-updates-for-azure-pipelines-agents-images/
2026-01-07 23:12:39 +01:00
Frank Denis e8e47bdaee Update ChangeLog 2026-01-07 14:58:20 +01:00
Frank Denis aed0ed992d Update test/symbols/all-symbols.txt 2026-01-07 23:05:39 +01:00
Frank Denis 60b528c3dd Export missing crypto_ipcrypt_nd_keygen() helper function 2026-01-07 23:00:39 +01:00
Frank Denis a84a99a496 Brad Barden (@IAMB) wrote bindings for Perl 2026-01-07 12:36:35 +01:00
Frank Denis d2a2dbe066 CI: compile using GCC on aarch64 2026-01-07 11:25:36 +01:00
Frank Denis 7d331763bc Update ChangeLog 2026-01-07 11:13:36 +01:00
Frank Denis 6702f69bef Fix compilation with GCC on aarch64
Use unsigned NEON intrinsics everywhere

Fixes #1502
2026-01-07 10:57:10 +01:00
Frank Denis ecd927bf3e Add keccak tests to .gitignore 2026-01-07 00:01:56 +01:00
Frank Denis 52975b38ce Add ARM acceleration for SHA3 2026-01-06 23:18:21 +01:00
Frank Denis f0dbdbf311 Update ChangeLog 2026-01-06 23:17:21 +01:00
Frank Denis c89ee84172 Add fences 2026-01-06 23:09:21 +01:00
Frank Denis f6c5b9f0e4 CI: update MSYS2 2026-01-06 23:07:21 +01:00
Frank Denis 333636d86d Update GitHub actions 2026-01-06 23:07:21 +01:00
Frank Denis 8a7378460f Add crypto_core_keccak1600_state, remove keccak1600_STATEBYTES 2026-01-06 23:00:21 +01:00
Frank Denis 1ac57afa53 Emscripten: handle empty CFLAGS 2026-01-06 14:52:35 +01:00
Frank Denis 52b4239c01 Modernize emscripten optimizations 2026-01-06 14:52:24 +01:00
Frank Denis 4e371ecb0d Replace -s RESERVED_FUNCTION_POINTERS=8 with -sALLOW_TABLE_GROWTH 2026-01-06 14:43:51 +01:00
Frank Denis 04199cec53 Relax alignment of SHAKE states 2026-01-06 23:04:21 +01:00
Frank Denis 4a1ff8bf03 Add defensive NULL guard in escrypt_r 2026-01-05 23:52:01 +01:00
Frank Denis bc6e89e5cb Remove build-aux if required 2026-01-05 23:51:42 +01:00
Frank Denis f01a86a607 Add a zig build test target 2026-01-05 22:22:09 +01:00
Frank Denis 5bfe3bc40a Update THANKS file 2026-01-05 23:23:32 +01:00
Frank Denis dc12719756 Add more tests 2026-01-05 23:20:32 +01:00
Frank Denis 5aff9f2d89 Rename parameters to improve clarity 2026-01-05 23:12:32 +01:00
Frank Denis 5766a9acd3 Change sodium_ip2bin to take the ip length 2026-01-05 23:09:32 +01:00
Frank Denis 1b6f37d343 Bump 2026-01-05 23:06:32 +01:00
Frank Denis 37ea8300da Update ChangeLog 2026-01-05 23:00:32 +01:00
Frank Denis ecd2f868d3 Support compilation with CompCert out of the box 2026-01-03 20:20:48 +01:00
Frank Denis 3878a20a6e CI: compile to freebsd 2026-01-03 20:14:39 +01:00
Frank Denis 2e2f42f528 build.zig: add support for FreeBSD 2026-01-03 20:11:47 +01:00
Frank Denis cb14819555 Remove unnecessary checks 2026-01-03 19:29:05 +01:00
Frank Denis cd87a345f6 Remove unused variable 2026-01-03 19:01:21 +01:00
Frank Denis 739317765c Sync prototypes 2026-01-03 17:25:02 +01:00
Frank Denis 818e89fcb5 Remove unused constants 2026-01-03 17:24:58 +01:00
Frank Denis 598f5da725 NuGET is gone 2026-01-03 10:20:54 +01:00
Frank Denis f9b3676a1d Add a script to check version consistency 2026-01-03 10:19:55 +01:00
Frank Denis 3d7e6563d1 Remove unnecessary multiplication
To make the check projective‑invariant.
2026-01-02 12:00:59 +01:00
Frank Denis d92212b9c1 Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Mention emscripten 4 compatibility
2026-01-01 20:39:46 +01:00
Frank Denis f2e34a80d3 ge25519_has_small_order: remove the inversion
Re-express the affine checks in projective form to avoid the inversion.

Based on a suggestion from @Sc00bz in
https://github.com/jedisct1/libsodium/discussions/1500 -- Thanks!
2026-01-01 23:00:57 +01:00
Frank Denis 838c523e64 Mention Windows arm64 2025-12-31 23:01:37 +01:00
Frank Denis 5aeec062e9 Clarify versioning 2025-12-31 23:00:37 +01:00
Frank Denis fd40f938ff Mention emscripten 4 compatibility 2025-12-31 16:12:51 +01:00
Frank Denis 1e40f96e57 Regen for emscripten 2025-12-31 12:39:39 +01:00
Frank Denis e6a7bc2df4 Rename ip2bytes and bytes2ip to ip2bin and bin2ip for consistency 2025-12-31 12:35:41 +01:00
Frank Denis 52fbfd80ed Update symbols list 2025-12-31 12:25:34 +01:00
Frank Denis 20452e34d5 Add test for IP conversion functions 2025-12-31 12:23:39 +01:00
Frank Denis 776ec1d92c Add sodium_ip2bytes, sodium_bytes2ip 2025-12-31 12:10:12 +01:00
Frank Denis f913525a5f Emscripten: add -s SINGLE_FILE_BINARY_ENCODE=0
Emscripten 4 changed the WASM binary encoding mode from base64 to
a custom UTF-8 binary encoding with binaryDecode().

The new encoding uses control characters and non-printable ASCII
that get corrupted when served to browsers.
2025-12-31 00:40:44 +01:00