Restructure repo
Move crates around.
@keks What is needed to get this done?
The PR is probably pretty much out of date. One issue there was that it tries to do the entire repo at once, which makes merge conflicts likely. Let's instead make a list of crates and see what makes sense. In the parentheses we have the name of the subdirectory of the crates folder that the crate should go into.
- [x] libcrux-aead
- [x] libcrux-aesgcm
- [x] libcrux-ml-dsa
- [x] libcrux-ml-kem
- [x] libcrux-hkdf
- [x] libcrux-digest
- [x] libcrux-secrets
- [x] libcrux-traits
- [x] libcrux-kats
- [x] libcrux-hacl (sys)
- [x] libcrux-platform (sys)
- [x] libjade-sys (sys)
- [x] libcrux-pqclean (sys)
- [x] lib25519 (sys)
- [x] libcrux-blake2 (algorithms)
- [x] libcrux-poly1305 (algorithms)
- [x] libcrux-chacha20poly1305 (algorithms)
- [x] libcrux-curve25519 (algorithms)
- [x] libcrux-p256 (algorithms)
- [x] libcrux-sha2 (algorithms)
- [x] libcrux-ed25519 (algorithms)
- [x] libcrux-hmac (algorithms)
- [x] libcrux-rsa (algorithms)
- [x] libcrux-ecdsa (algorithms)
- [x] libcrux-sha3 (algorithms)
- [x] libcrux-hacl-rs (utils)
- [x] libcrux-macros (utils)
- [x] libcrux-intrinsics (utils)
- [x] core-models (utils)
- [x] libcrux-test-utils (utils)
- [ ] libcrux (lets put this directly into crates/libcrux)
- [ ] libcrux-ecdh (algorithms)
- [ ] libcrux-psq (protocols)
- [ ] libcrux-kem (primitives)
- [ ] benchmarks (testing)
- [ ] cavp (testing)
- [ ] libcrux-fuzz (testing)
- [ ] libcrux-ml-kem-fuzz (testing)
- [ ] libcrux-aesgcm-fuzz (testing)
Thoughts on order:
- The sys crates are not changing at all
- Most of the extracted hacl-rs crates and the primitive crates are pretty static, except the signatures one
- Not entirely sure about the testing ones, I can imagine this is pretty much across the board.
Let's do a PR with the sys and utils crates and the poly1305, chacha20poly1305, hmac, sha2, sha3, blake2, algorithms. Once that is merged, let's see what makes sense to tackle next, based on what is in flight then.
Updated the list to reflect the changes from #1243.