Karolin Varner
b1a7d94295
feat: Support for custom osk (output key) domain separators in Rosenpass app
...
This allows for custom protocol extensions with custom domain
separators to be used without modifying the Rosenpass source code
2025-06-25 19:48:29 +02:00
Jan Winkelmann (keks)
811c1746c1
format Cargo.toml
2025-06-23 16:39:22 +02:00
Jan Winkelmann (keks)
91707cc430
Address feedback
2025-06-23 16:39:22 +02:00
Jan Winkelmann (keks)
73df0ceca7
Address feedback
2025-06-23 16:39:22 +02:00
Jan Winkelmann (keks)
77b50b70b1
address feedback
2025-06-23 16:39:22 +02:00
Jan Winkelmann (keks)
cf061bd0f5
workflows: use arch-specific dev shell
2025-06-23 16:39:22 +02:00
Jan Winkelmann (keks)
5097d9fce1
Add benchmarking for cryptographic primitives and protocol performance
...
This commit introduces two kinds of benchmarks:
1. Cryptographic Primitives. Measures the performance of all available
implementations of cryptographic algorithms using traditional
benchmarking. Uses criterion.
2. Protocol Runs. Measures the time each step in the protocol takes.
Measured using a tracing-based approach.
The benchmarks are run on CI and an interactive visual overview is
written to the gh-pages branch. If a benchmark takes more than twice the
time than the reference commit (for PR: the main branch), the action
fails.
2025-06-23 16:39:22 +02:00
wucke13
d496490916
fix: set crate MSRVs to a precise version
...
Before this change, the patch release was left open. This patch
pinpoints it exactly, down to the patch release.
Signed-off-by: wucke13 <wucke13+github@gmail.com >
2025-05-09 18:22:10 +02:00
wucke13
22b980a61f
chore: format everything
...
This implicates a change from nixpkgs-fmt to nixfmt. Nixfmt will become
the new standard on nix formatting, sanctioned by the nixpkgs. To verify
that these changes are purely in whitespace, but not semantic:
git diff --ignore-all-space -w HEAD^!
That will only show newline changes, make the diffing somewhat easier.
Signed-off-by: wucke13 <wucke13+github@gmail.com >
2025-05-09 18:22:07 +02:00
Karolin Varner
f22f4aad7d
feat: Fix minimum supported cargo version to 1.77
...
This should ensure, that our Cargo.lock file stays at version 3
when using `cargo update` or dependabot.
2025-04-13 13:44:36 +02:00
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