zig/lib/std/crypto
Frank Denis ce355e0ba5
Add ML-DSA post-quantum signatures (#25862)
ML-DSA is a post-quantum signature scheme that was recently
standardized by NIST.

Keys and signatures are pretty large, not making it a drop-in
replacement for classical signature schemes.

But if you are shipping keys that may still be used in 10 years
or whenever large quantum computers able to break ECC arrive,
it that ever happens, and you don't have the ability to replace
these keys, ML-DSA is for you.

Performance is great, verification is faster than Ed25519 / ECDSA.

I tried manual vectorization, but it wasn't worth it, the compiler
does at good job at auto-vectorization already.
2025-11-10 14:11:30 +01:00
..
25519 tweak tests to avoid timeouts 2025-10-18 09:28:42 +01:00
aes
Certificate std.Io.Threaded: fix compilation failures on Windows 2025-10-29 06:20:50 -07:00
codecs std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
pcurves
tls std: updating to std.Io interface 2025-10-29 06:20:48 -07:00
aegis.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
aes.zig std.crypto: add AES-SIV and AES-GCM-SIV 2025-09-16 12:45:08 +02:00
aes_ccm.zig std.crypto: add AES-CCM and CBC-MAC (#25526) 2025-10-14 12:00:44 +02:00
aes_gcm.zig
aes_gcm_siv.zig Parallelize deriveKeys 2025-09-16 23:13:58 +02:00
aes_ocb.zig Fix #24999: copy left-overs before we XOR into c. (#25001) 2025-08-25 15:59:42 +00:00
aes_siv.zig std.crypto: add AES-SIV and AES-GCM-SIV 2025-09-16 12:45:08 +02:00
argon2.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
ascon.zig std.crypto.ascon: disable Ascon-AEAD128 test on RISC-V with V support 2025-09-20 19:05:32 +02:00
bcrypt.zig
benchmark.zig Add ML-DSA post-quantum signatures (#25862) 2025-11-10 14:11:30 +01:00
blake2.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
blake3.zig std.crypto: improve KT documentation, use key_length for B3 key length (#25807) 2025-11-07 08:20:04 +01:00
cbc_mac.zig std.crypto: add AES-CCM and CBC-MAC (#25526) 2025-10-14 12:00:44 +02:00
Certificate.zig Validate wildcard TLS certificates correctly (#24829) 2025-08-14 13:57:00 +00:00
chacha20.zig coerce vectors to arrays rather than inline for 2025-09-20 18:33:00 -07:00
cmac.zig
codecs.zig
ecdsa.zig std: split up ecdsa tests 2025-10-18 09:28:43 +01:00
errors.zig Add ML-DSA post-quantum signatures (#25862) 2025-11-10 14:11:30 +01:00
ff.zig
ghash_polyval.zig
hash_composition.zig
hkdf.zig
hmac.zig
isap.zig
kangarootwelve.zig std.crypto: improve KT documentation, use key_length for B3 key length (#25807) 2025-11-07 08:20:04 +01:00
keccak_p.zig
md5.zig
ml_dsa.zig Add ML-DSA post-quantum signatures (#25862) 2025-11-10 14:11:30 +01:00
ml_kem.zig std.crypto.ml_kem: disable some Kyber tests on LoongArch with LSX 2025-09-18 12:42:24 +02:00
modes.zig std.crypto: add AES-SIV and AES-GCM-SIV 2025-09-16 12:45:08 +02:00
pbkdf2.zig
phc_encoding.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
poly1305.zig
salsa20.zig
scrypt.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
Sha1.zig
sha2.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
sha3.zig Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. (#25593) 2025-11-01 14:03:43 +00:00
siphash.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
test.zig
timing_safe.zig
tlcsprng.zig
tls.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00