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
..
2025-10-27 11:19:51 +01:00
2025-10-27 07:35:38 -07:00
2025-07-07 22:43:51 -07:00
2025-09-18 22:39:33 -07:00
2025-09-18 22:39:33 -07:00
2025-09-30 13:44:54 +01:00
2025-09-18 22:39:33 -07:00
2025-08-28 18:30:57 -07:00
2025-10-10 22:47:47 -07:00
2025-09-20 14:34:18 -07:00
2025-10-29 06:20:49 -07:00
2025-07-31 22:10:11 -07:00
2025-10-27 07:35:38 -07:00
2025-08-29 17:14:26 -07:00
2025-08-29 17:14:26 -07:00
2025-09-30 13:44:51 +01:00
2025-08-29 17:14:26 -07:00
2025-10-23 09:27:17 +02:00
2025-10-27 07:35:38 -07:00
2025-10-29 06:20:50 -07:00
2025-10-29 06:20:49 -07:00
2025-08-28 18:30:57 -07:00
2025-07-16 10:27:39 -07:00
2025-08-29 17:14:26 -07:00