David Niehues
b47d3a9deb
style(ciphers): fix formatting
2025-04-05 17:31:32 +02:00
Jan Winkelmann (keks)
954162b61f
cleanup
2025-04-03 17:04:00 +02:00
David Niehues
8bb54b9cca
doc(ciphers): correct formatting
2025-04-03 16:55:03 +02:00
David Niehues
ebf6403ea7
doc(ciphers + rosenpass): improve the documentation
2025-04-03 16:55:03 +02:00
David Niehues
62d408eade
dev(ciphers): implement the Display trait for the KeyedHash that allows to choose a hash.
2025-04-03 16:55:03 +02:00
David Niehues
b21a95dbbd
doc(rp+rosenpass+ciphers+cipher-traits): Apply cargo fmt formatting
2025-04-03 16:55:03 +02:00
David Niehues
33901d598a
test(ciphers): Adapt SHAKE256 tests to longer including the output length.
2025-04-03 16:55:03 +02:00
David Niehues
6f71767529
dev(ciphers): remove keyed hash module
2025-04-03 16:55:03 +02:00
Jan Winkelmann (keks)
38f371e3d7
Fix examples in Doc-Comments
2025-04-03 16:15:03 +02:00
Jan Winkelmann (keks)
2dba9205e7
Address Feedback
2025-04-03 16:14:55 +02:00
Jan Winkelmann (keks)
b16619b1d3
fix doc example tests
2025-04-03 16:14:51 +02:00
Jan Winkelmann (keks)
576ad5f6d0
respect experiment_libcrux_blake2 feature flag
2025-04-03 16:14:47 +02:00
Jan Winkelmann (keks)
6494518460
add fine-grained features
2025-04-03 16:14:19 +02:00
Jan Winkelmann (keks)
185e92108e
add blake2 from libcrux
2025-04-03 16:14:19 +02:00
Jan Winkelmann (keks)
253243a8c8
add kyber512 from libcrux
2025-04-03 16:14:19 +02:00
Jan Winkelmann (keks)
075d9ffff3
update libcrux chachapoly to use libcrux-chacha20poly1305
2025-04-03 16:14:19 +02:00
Jan Winkelmann (keks)
01a1408044
address feedback
2025-04-03 16:12:44 +02:00
Jan Winkelmann (keks)
b84e0beae8
introduce traits for all the primitives and algorithms. A bit more cleanup.
2025-04-03 16:12:44 +02:00
Jan Winkelmann (keks)
a1f41953b7
Reorganize the ciphers crate
2025-04-03 16:12:23 +02:00
Jan Winkelmann (keks)
32ae8f7051
Rename hash selection enum to KeyedHash, restructure traits
2025-04-03 16:11:55 +02:00
Jan Winkelmann (keks)
b94ddd980d
remove superfluous associated types
2025-04-03 16:11:55 +02:00
Jan Winkelmann (keks)
44e46895aa
fmt
2025-04-03 15:57:43 +02:00
David Niehues
6d25c13fd1
dev(ciphers): make the libcrux implementation of chachapoly return an error instead of panicking when decryption fails. This makes tests decryptions possible.
2025-03-19 11:29:11 +01:00
David Niehues
30e158f594
dev(ciphers): change HashDomain and related structures to use EitherShakeOrBlake. Docu pending
2025-03-19 11:29:11 +01:00
David Niehues
cf74584f51
tests(ciphers): add rudimentary tests for the shake256 implementation
2025-03-19 11:29:11 +01:00
David Niehues
793cfd227f
dev(ciphers): provide EitherShakeOrBlake for 32 bytes KEY_LEN and 32 bytes of HASH_LEN based on SHAKE256 and the incorrect blake2b-hmac
2025-03-19 11:29:11 +01:00
David Niehues
54c8e91db4
doc(ciphers): fix typo in comment
2025-03-19 11:29:11 +01:00
David Niehues
1b0179e751
dev(ciphers): provide implementations of KeyedHash and KeyedHashInstance for the incorrect hmac for blake2b.
2025-03-19 11:29:11 +01:00
David Niehues
760ecdc457
dev(ciphers): add EitherHash enum and thus the functionality for choosing a hash function at runtime
2025-03-19 11:29:11 +01:00
David Niehues
6a9bbddde3
dev(ciphers): move blake2b.rs and incorrect_hmac_blake2b.rs to dedicated hash_functions directory
2025-03-19 11:29:11 +01:00
David Niehues
530f81b9d5
dev(ciphers): use InferredHash to provide KeyedHashInstance for SHAKE256
2025-03-19 11:29:11 +01:00
David Niehues
b96df1588c
dev(ciphers): add InferredKeyedHash to instantiate KeyedHashFunctions generically
2025-03-19 11:29:11 +01:00
David Niehues
5a2555a327
dev(ciphers): add implementation of shake256
2025-03-19 11:29:11 +01:00
David Niehues
ac3f21c4bd
dev: add sha3 dependency
2025-03-19 11:29:11 +01:00
David Niehues
61b8b28e86
style(ciphers): improve style in doc-tests around using the the ?-operator in the ciphers crate
2024-12-17 11:57:54 +01:00
David Niehues
a6bac74d48
docs(ciphers+cipher-traits):fix most broken doc-links in the ciphers and cipher-traits crates.
...
Some links in the documentation of the ciphers and cipher-traits were broken or linked to private fields.
This PR fixes most of these occasions and some more warnings in cargo doc.
The reaming issues are links to chacha20poly1305_ietf, that are broken because the feature experiment_libcrux corresponding feature is enabled. Analogously, disabling the feature would lead to broken links to chacha20poly1305_ietf_libcrux.
2024-12-16 16:33:18 +01:00
David Niehues
a789f801ab
fix formatting
2024-12-10 12:35:22 +01:00
David Niehues
be06f8adec
add tests and documentation for hash_domain.rs
2024-12-10 12:35:22 +01:00
David Niehues
03d3c70e2e
document lib.rs and mod.rs, and format documentation for incorrect_hmac_blake2b.rs
2024-12-10 12:35:22 +01:00
David Niehues
94ba99d89b
add documentation for hash_domain.rs
2024-12-10 12:35:22 +01:00
David Niehues
667a994253
add documentation for blake2b hmac
2024-12-10 12:35:22 +01:00
David Niehues
9561ea4a47
add documentation for xchacha20polxy1305_ietf.rs and improve documentaion for other implementations for chacha20poly1305
2024-12-10 12:35:22 +01:00
David Niehues
fb641f8568
document chacha20poly1305 as implemented in RustCrypto
2024-12-10 12:35:22 +01:00
David Niehues
6e16956bc7
document chacha20poly1305 as implemented in libcrux
2024-12-10 12:35:22 +01:00
David Niehues
eeb738b649
add documentation and doc-tests for blake2b.rs
2024-12-10 12:35:21 +01:00
Karolin Varner
b483612cb7
feat(protocol): Hash-based retransmission mechanism
...
See the updated whitepaper for details.
Fixes : #331
2024-12-07 12:36:40 +01:00
Paul Spooren
b0706354d3
chore: Format all Cargo.toml files
...
Signed-off-by: Paul Spooren <mail@aparcar.org >
2024-10-01 11:22:45 +01:00
Karolin Varner
37f7b3e4e9
fix: Consistently use feature flag experiment_libcrux
...
Before this, some parts of the code used an incorrect feature flag
name, preventing libcrux from being used.
2024-08-03 14:03:31 +02:00
Karolin Varner
99ac3c0902
feat: Experimental support for encryption using libcrux
...
Libcrux is a library for formally verified implementations of
cryptographic primitives. It uses multiple back ends; one of which is
libjade. A cryptographic library written in the jasmin assembly
language for high assurance cryptographic implementations.
To use compile with the experiment_libcrux feature enabled:
cargo build --features experiment_libcrux
2024-07-03 21:46:40 +02:00
Emil Engler
bd6a6e5dce
ciphers: Remove needless borrow for nonce array
2024-04-25 11:08:54 +02:00