zig/lib
Frank Denis 95c76b1b4a
Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. (#25593)
KT128 and KT256 are fast, secure cryptographic hash functions based on Keccak (SHA-3).

They can be seen as the modern version of SHA-3, and evolution of SHAKE, with better performance.

After the SHA-3 competition, the Keccak team proposed these variants in 2016, and the constructions underwent 8 years of public scrutiny before being standardized in October 2025 as RFC 9861.

They uses a tree-hashing mode on top of TurboSHAKE, providing both high security and excellent performance, especially on large inputs.

They support arbitrary-length output and optional customization strings.

Hashing of very large inputs can be done using multiple threads, for high throughput.

KT128 provides 128-bit security strength, equivalent to AES-128 and SHAKE128, which is sufficient for virtually all applications.

KT256 provides 256-bit security strength, equivalent to SHA-512. For virtually all applications, KT128 is enough (equivalent to SHA-256 or BLAKE3).

For small inputs, TurboSHAKE128 and TurboSHAKE256 (which KT128 and KT256 are based on) can be used instead as they have less overhead.
2025-11-01 14:03:43 +00:00
..
build-web std.Build: implement unit test timeouts 2025-10-18 09:28:39 +01:00
c compiler-rt: move strlen from libzigc to here 2025-08-30 06:36:41 +02:00
compiler std.debug.lockStderrWriter: also return ttyconf 2025-10-30 09:31:28 +00:00
compiler_rt fix: make compiler_rt and std.Io.Writer compile on 16-bit platforms. 2025-10-27 11:17:48 +01:00
docs std.fmt: delete deprecated APIs 2025-08-31 12:49:18 -07:00
include remove all IBM AIX and z/OS support 2025-10-29 14:25:51 +01:00
init fix: fix typo in comment by removing repeated 'business' word 2025-08-24 23:00:17 +02:00
libc glibc: change library link order to prefer libc.so symbols 2025-10-19 11:50:32 +02:00
libcxx remove all IBM AIX and z/OS support 2025-10-29 14:25:51 +01:00
libcxxabi remove all IBM AIX and z/OS support 2025-10-29 14:25:51 +01:00
libtsan remove all IBM AIX and z/OS support 2025-10-29 14:25:51 +01:00
libunwind remove all IBM AIX and z/OS support 2025-10-29 14:25:51 +01:00
std Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. (#25593) 2025-11-01 14:03:43 +00:00
c.zig libc: use zig isnan and derivates for mingw 2025-08-27 03:58:32 +02:00
compiler_rt.zig compiler-rt: move strlen from libzigc to here 2025-08-30 06:36:41 +02:00
fuzzer.zig fuzzing: fix off-by-one in limit count 2025-09-25 17:16:10 -07:00
ubsan_rt.zig Coff: implement threadlocal variables 2025-10-10 22:47:47 -07:00
zig.h remove all IBM AIX and z/OS support 2025-10-29 14:25:51 +01:00