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 std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
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 std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
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 Add documentation to std.crypto.aes_gcm.AesGcm.encrypt (#24427) 2025-07-13 07:33:08 +00:00
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 crypto.pwhash.bcrypt: make silently_truncate_password a member of Params (#22792) 2025-02-19 22:37:51 +01:00
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 std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
codecs.zig fixed codecs.zig (#23706) 2025-04-29 22:07:30 +00:00
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 std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
ghash_polyval.zig std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
hash_composition.zig x86_64: implement enough to pass unicode tests 2023-10-23 22:42:18 -04:00
hkdf.zig closes #21824 (#21832) 2024-10-28 14:54:02 +00:00
hmac.zig Remove redundant test name prefixes now that test names are fully qualified 2024-02-26 15:18:31 -08:00
isap.zig std.crypto: better names for everything in utils 2024-08-09 19:47:06 -07:00
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 crypto.keccak.State: add checks to prevent insecure transitions (#22020) 2024-11-20 11:16:09 +01:00
md5.zig std.tar: update to new I/O API 2025-07-22 09:41:44 -07:00
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 lib: correct unnecessary uses of 'var' 2023-11-19 09:55:07 +00:00
phc_encoding.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
poly1305.zig std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
salsa20.zig std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
scrypt.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
Sha1.zig std.crypto: fix Sha1 namespace 2025-07-14 00:14:21 -07:00
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 zig fmt: apply new cast builtin order 2025-08-03 14:59:56 +02:00
tlcsprng.zig std.crypto.tlcsprng: Fix hardcoded use of defaultRandomSeed() 2025-02-22 22:39:40 -05:00
tls.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00