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
Emil Engler
f4116f2c20
ciphers: Remove redundant mutability
2024-04-25 11:03:48 +02:00
Karolin Varner
9690085156
chore: Cargo fmt
2024-01-27 21:38:13 +01:00
Karolin Varner
ca972e8b70
feat: Remove libsodium
2024-01-27 21:38:13 +01:00
Karolin Varner
b6203683fc
feat: Migrate away from sodium blake2b towards the rust crypto implementation
2024-01-27 21:38:13 +01:00
Karolin Varner
e0f75ab97e
feat: Use xchacha implementation from rust crypto instead of sodium
2024-01-27 21:38:13 +01:00
Karolin Varner
0789c60602
feat: Use chacha implementation from rust crypto instead of sodium
2024-01-27 21:38:13 +01:00
Karolin Varner
972e82b35f
chore: Move kems out of rosenpass crate
2023-12-02 10:42:13 +01:00
Karolin Varner
77cd8a9fd1
feat: Move prftree into ciphers crate
...
- Use a new nomenclature for these functions based on the idea of a hash
domain (as in domain separation); this makes much more sence
- Remove the ciphers::hash export; we did not even export a hash
function in the purest sence of the word. This gets us around the
difficulty of figuring out what we should call the underlying
primitive
2023-12-01 18:36:46 +01:00
Jemilu Mohammed
ba224a2200
add default member
...
add shared dependencies to workspace dependencies
all package level dependencies now rely on workspace
2023-11-30 18:44:28 +01:00
Jemilu Mohammed
181154b470
move external dependencies to workspace level
2023-11-30 18:44:28 +01:00
Karolin Varner
09aa0e027e
chore: Move hashing functions into sodium/ciphers crate
...
This finishes the last step of removing sodium.rs from the rosenpass crate
itself and also removes the NOTHING and NONCE0 constants.
Hashing functions now use destination parameters;
rosenpass_constant_time::xor now does too.
2023-11-29 11:36:28 +01:00
Karolin Varner
86300ca936
chore: Use naming scheme without rosenpass- for crates
2023-11-26 10:38:24 +01:00