zig/lib/std/crypto
Frank Denis f62e3b8c0d std.crypto: add the Ascon permutation
Ascon has been selected as new standard for lightweight cryptography
in the NIST Lightweight Cryptography competition.

Ascon won over Gimli and Xoodoo.

The permutation is unlikely to change. However, NIST may tweak
the constructions (XOF, hash, authenticated encryption) before
standardizing them. For that reason, implementations of those
are better maintained outside the standard library for now.

In fact, we already had an Ascon implementation in Zig:
`std.crypto.aead.isap` is based on it. While the implementation was
here, there was no public API to access it directly.

So:

- The Ascon permutation is now available as `std.crypto.core.Ascon`,
with everything needed to use it in AEADs and other Ascon-based
constructions
- The ISAP implementation now uses std.crypto.core.Ascon instead of
keeping a private copy
- The default CSPRNG replaces Xoodoo with Ascon. And instead of an
ad-hoc construction, it's using the XOFa mode of the NIST submission.
2023-02-13 02:22:24 -05:00
..
25519 std.crypto.edwards25519: add a rejectLowOrder() function (#13668) 2022-11-28 00:34:13 +01:00
aes crypto.core.aes: process 6 block in parallel instead of 8 on aarch64 (#13473) 2022-11-07 12:28:37 +01:00
Certificate Add std.os.darwin.cssm 2023-01-17 09:51:39 -08:00
pcurves update uses of overflow arithmetic builtins 2022-12-27 15:13:14 +02:00
tls std.crypto.tls.Client: fix crash in read() 2023-01-05 19:57:00 -07:00
aegis.zig std.crypto: make proper use of undefined 2023-01-02 16:57:16 -07:00
aes.zig Revert "std.crypto.aes: use software implementation in comptime context (#13792)" (#13798) 2022-12-07 03:49:20 +00:00
aes_gcm.zig std.crypto: make proper use of undefined 2023-01-02 16:57:16 -07:00
aes_ocb.zig stage2+stage1: remove type parameter from bit builtins 2022-08-22 11:19:20 +03:00
argon2.zig std.crypto: fix invalid pass by value 2022-06-20 15:11:22 +03:00
ascon.zig std.crypto: add the Ascon permutation 2023-02-13 02:22:24 -05:00
bcrypt.zig crypto.bcrypt: fix massive speed regression when using stage2 (#13518) 2022-11-14 16:37:19 +01:00
benchmark.zig std.crypto benchmark: don't use a relative path to import std (#13772) 2022-12-05 04:44:14 +00:00
blake2.zig std: add writer methods on all crypto.hash types (#10168) 2021-11-20 01:37:17 -08:00
blake3.zig std: avoid vector usage with the C backend 2022-11-01 20:38:37 -04:00
Certificate.zig support P256 in x509 2023-01-22 17:24:45 -05:00
chacha20.zig replace other uses of std.meta.Vector with @Vector (#11346) 2022-03-30 14:12:14 -04:00
ecdsa.zig std.sign.ecdsa: add support for incremental signatures (#13332) 2022-10-28 16:25:37 +02:00
errors.zig std/crypto: use finer-grained error sets in function signatures (#8558) 2021-04-20 19:57:27 +02:00
ghash_polyval.zig treshold -> threshold 2022-12-05 19:25:10 -05:00
gimli.zig std: avoid vector usage with the C backend 2022-11-01 20:38:37 -04:00
hash_composition.zig std.crypto.hash: allow creating hash functions from compositions (#11965) 2022-07-01 11:37:41 +02:00
hkdf.zig hkdf: add prk_length and extractInit() 2022-12-29 17:56:50 -05:00
hmac.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
isap.zig std.crypto: add the Ascon permutation 2023-02-13 02:22:24 -05:00
md5.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
modes.zig migrate from std.Target.current to @import("builtin").target 2021-10-04 23:48:55 -07:00
pbkdf2.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
phc_encoding.zig std.builtin: rename Type.UnionField and Type.StructField's field_type to type 2022-12-17 14:11:33 +01:00
poly1305.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
salsa20.zig update uses of overflow arithmetic builtins 2022-12-27 15:13:14 +02:00
scrypt.zig std.mem: add first method to SplitIterator and SplitBackwardsIterator 2022-07-25 22:04:30 +03:00
sha1.zig std: add writer methods on all crypto.hash types (#10168) 2021-11-20 01:37:17 -08:00
sha2.zig std.crypto.Tls: add read/write methods 2023-01-02 16:57:15 -07:00
sha3.zig sha3: define block_length as the rate, not as the state size (#14132) 2022-12-30 22:15:25 +00:00
siphash.zig std.crypto.siphash: add finalResult() and peek() 2023-01-07 18:06:55 -07:00
test.zig remove redundant license headers from zig standard library 2021-08-24 12:25:09 -07:00
tlcsprng.zig std: collect all options under one namespace 2023-01-05 02:31:29 -07:00
tls.zig std.crypto.tls: add API for sending close_notify 2023-01-02 16:57:16 -07:00
utils.zig update uses of overflow arithmetic builtins 2022-12-27 15:13:14 +02:00
xoodoo.zig crypto: add the Xoodoo permutation, prepare for Gimli deprecation (#11866) 2022-07-01 13:18:08 +02:00