Commit Graph
80 Commits
Author SHA1 Message Date
leemeo3andIlka Schulz cf7c9a25c9 Use shake without sha3
Rebase the sha3 upgrade work onto current main, take the digest traits from the shake crate, and remove the direct sha3 dependency from the graph.
2026-06-15 15:07:03 +02:00
Ilka Schulz 10ebaf9cee increase MSRV due to https://github.com/rust-lang/ar_archive_writer/pull/33
$ cargo tree --workspace -i ar_archive_writer
ar_archive_writer v0.5.1
[build-dependencies]
└── psm v0.1.31
    └── stacker v0.1.24
        └── rosenpass-fuzzing v0.0.1 (/home/user/rosenpass/fuzz)
        [dev-dependencies]
        ├── rosenpass v0.3.0-dev (/home/user/rosenpass/rosenpass)
        │   ├── rosenpass-fuzzing v0.0.1 (/home/user/rosenpass/fuzz)
        │   └── rosenpass-rp v0.2.1 (/home/user/rosenpass/rp)
        └── rosenpass-rp v0.2.1 (/home/user/rosenpass/rp)
2026-06-08 13:53:08 +02:00
Ilka Schulz e0e9362046 also remove libcrux as it is no longer needed 2026-06-08 11:06:38 +02:00
Ilka Schulz be2b002fe4 remove libcrux-* (see PR for reasons) but leave libcrux and libcrux-test-utils in 2026-06-08 10:58:13 +02:00
Ilka Schulz 99b769ee32 fix regression from upgrading rand dependency: RngCore is renamed to Rng (https://rust-random.github.io/book/update-0.10.html) 2026-06-07 12:52:09 +02:00
Ilka Schulz 4498c6165c fix regression from upgrading rand dependency: further occurences of thread_rng are renamed to rng (https://rust-random.github.io/book/update-0.9.html) 2026-06-07 12:19:18 +02:00
Ilka Schulz ef8382672d increase minimum supported Rust version from 1.77.0 to 1.85.0 (required for edition2024 required by crate rand) 2026-06-07 11:54:41 +02:00
Ilka Schulz f16b2e1b03 run formatters 2026-06-05 07:35:21 +02:00
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
wucke13andKarolin Varner 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
wucke13andKarolin Varner 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 NiehuesandJan Winkelmann (keks) 8bb54b9cca doc(ciphers): correct formatting 2025-04-03 16:55:03 +02:00
David NiehuesandJan Winkelmann (keks) ebf6403ea7 doc(ciphers + rosenpass): improve the documentation 2025-04-03 16:55:03 +02:00
David NiehuesandJan Winkelmann (keks) 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 NiehuesandJan Winkelmann (keks) b21a95dbbd doc(rp+rosenpass+ciphers+cipher-traits): Apply cargo fmt formatting 2025-04-03 16:55:03 +02:00
David NiehuesandJan Winkelmann (keks) 33901d598a test(ciphers): Adapt SHAKE256 tests to longer including the output length. 2025-04-03 16:55:03 +02:00
David NiehuesandJan Winkelmann (keks) 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