Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/docker-c-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
image: ${{ needs.build-and-push-image.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-kem/extracts/c_header_only
working-directory: crates/algorithms/kem/extracts/c_header_only
shell: bash
steps:
- uses: actions/checkout@v5
Expand All @@ -70,7 +70,7 @@ jobs:
image: ${{ needs.build-and-push-image.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-kem/extracts/cpp_header_only
working-directory: crates/algorithms/kem/extracts/cpp_header_only
shell: bash
steps:
- uses: actions/checkout@v5
Expand All @@ -94,7 +94,7 @@ jobs:
image: ${{ needs.build-and-push-image.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/dsa
shell: bash
steps:
- uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ecdh-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-ecdh
working-directory: crates/primitives/ecdh

steps:
- uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/kem-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-kem
working-directory: crates/primitives/kem

steps:
- uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/libcrux-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
run: cargo test --verbose --release $RUST_TARGET_FLAG

- name: 🔨 Build sys/hacl
working-directory: sys/hacl
working-directory: crates/sys/hacl
run: cargo build --verbose $RUST_TARGET_FLAG

libcrux-build-test-status:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mldsa-bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/ml-dsa

steps:
- uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mldsa-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/ml-dsa

steps:
- uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mldsa-c.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
image: ${{ needs.setup.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/ml-dsa
shell: bash
steps:
- uses: actions/checkout@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/mldsa-hax.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
fstar: v2025.03.25

- name: 🏃 Extract ML-DSA crate
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/ml-dsa
run: ./hax.sh extract

- name: ↑ Upload F* extraction
Expand Down Expand Up @@ -75,7 +75,7 @@ jobs:
path: .

- name: 🏃 Lax ML-DSA crate
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/ml-dsa
run: ./hax.sh prove --admit

prove:
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
path: .

- name: 🏃 Prove ML-DSA crate
working-directory: libcrux-ml-dsa
working-directory: crates/algorithms/ml-dsa
run: ./hax.sh prove

mldsa-extract-hax-status:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/mlkem-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-ml-kem
working-directory: crates/algorithms/ml-kem

steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -100,25 +100,25 @@ jobs:

# Test SHA3
- name: 🏃🏻‍♀️ SHA3 Test
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: |
cargo clean
cargo test --verbose $RUST_TARGET_FLAG

- name: 🏃🏻‍♀️ SHA3 Test Release
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: |
cargo clean
cargo test --release --verbose $RUST_TARGET_FLAG

- name: 🏃🏻‍♀️ SHA3 Test Portable
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: |
cargo clean
LIBCRUX_DISABLE_SIMD128=1 LIBCRUX_DISABLE_SIMD256=1 cargo test --verbose $RUST_TARGET_FLAG

- name: 🏃🏻‍♀️ SHA3 Test Portable Release
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: |
cargo clean
LIBCRUX_DISABLE_SIMD128=1 LIBCRUX_DISABLE_SIMD256=1 cargo test --verbose --release $RUST_TARGET_FLAG
Expand Down Expand Up @@ -169,7 +169,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-ml-kem
working-directory: crates/algorithms/ml-kem

steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -207,7 +207,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: libcrux-ml-kem
working-directory: crates/algorithms/ml-kem

steps:
- uses: actions/checkout@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/mlkem-c.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
image: ${{ needs.setup.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-kem/extracts/c
working-directory: crates/algorithms/ml-kem/extracts/c
shell: bash
steps:
- uses: actions/checkout@v5
Expand All @@ -88,7 +88,7 @@ jobs:
image: ${{ needs.setup.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-kem/extracts/c_header_only
working-directory: crates/algorithms/ml-kem/extracts/c_header_only
shell: bash
steps:
- uses: actions/checkout@v5
Expand All @@ -114,7 +114,7 @@ jobs:
image: ${{ needs.setup.outputs.image }}
defaults:
run:
working-directory: libcrux-ml-kem/extracts/cpp_header_only
working-directory: crates/algorithms/ml-kem/extracts/cpp_header_only
shell: bash
steps:
- uses: actions/checkout@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/mlkem-hax.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
fstar: v2025.02.17

- name: 🏃 Extract ML-KEM crate
working-directory: libcrux-ml-kem
working-directory: crates/algorithms/ml-kem
run: ./hax.py extract

- name: ↑ Upload F* extraction
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
name: fstar-extractions
path: .
- name: 🏃 Lax ML-KEM crate
working-directory: libcrux-ml-kem
working-directory: crates/algorithms/ml-kem
run: ./hax.py prove --admit

prove:
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
path: .

- name: 🏃 Prove ML-KEM crate
working-directory: libcrux-ml-kem
working-directory: crates/algorithms/ml-kem
run: FSTAR_HOME=~/.nix-profile ./hax.py prove

mlkem-extract-hax-status:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/platform-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: sys/platform
working-directory: crates/sys/platform

steps:
- uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/secrets-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: secrets
working-directory: crates/utils/secrets

steps:
- uses: actions/checkout@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/sha3-hax.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
fstar: v2025.02.17

- name: 🏃 Extract SHA3 crate
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: ./hax.py extract

- name: ↑ Upload F* extraction (standard)
Expand All @@ -70,7 +70,7 @@ jobs:
fstar: v2025.02.17

- name: 🏃 Extract SHA3 crate (portable)
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: ./hax.py extract --portable

- name: ↑ Upload F* extraction (portable)
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
path: .

- name: 🏃 Lax SHA3 crate (portable)
working-directory: libcrux-sha3
working-directory: crates/algorithms/sha3
run: ./hax.py prove --admit

sha3-extract-hax-status:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/traits-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
defaults:
run:
shell: bash
working-directory: traits
working-directory: crates/utils/traits

steps:
- uses: actions/checkout@v5
Expand Down
79 changes: 40 additions & 39 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,40 +1,41 @@
[workspace]
members = [
"sys/hacl",
"sys/libjade",
"sys/platform",
"sys/pqclean",
"sys/lib25519",
"crates/sys/hacl",
"crates/sys/libjade",
"crates/sys/platform",
"crates/sys/pqclean",
"crates/sys/lib25519",
"benchmarks",
"fuzz",
"libcrux-ml-kem",
"libcrux-ml-kem/fuzz",
"libcrux-sha3",
"libcrux-ml-dsa",
"libcrux-intrinsics",
"libcrux-kem",
"libcrux-hmac",
"libcrux-hkdf",
"libcrux-ecdh",
"crates/algorithms/ml-kem",
"crates/algorithms/ml-kem/fuzz",
"crates/algorithms/sha3",
"crates/algorithms/ml-dsa",
"crates/utils/libcrux-intrinsics",
"crates/primitives/kem",
"crates/algorithms/hmac",
"crates/algorithms/hkdf",
"crates/primitives/ecdh",
"libcrux-psq",
"macros",
"crates/utils/macros",
"cavp",
"traits",
"sha2",
"ed25519",
"curve25519",
"poly1305",
"chacha20poly1305",
"rsa",
"ecdsa",
"p256",
"blake2",
"secrets",
"crates/utils/traits",
"crates/algorithms/sha2",
"crates/algorithms/ed25519",
"crates/algorithms/curve25519",
"crates/algorithms/poly1305",
"crates/algorithms/chacha20poly1305",
"crates/algorithms/rsa",
"crates/algorithms/ecdsa",
"crates/algorithms/p256",
"crates/algorithms/blake2",
"crates/utils/secrets",
"fstar-helpers/core-models",
"test-utils",
"crates/primitives/aead",
"crates/primitives/digest",
"crates/testing/kats",
"crates/utils/hacl-rs",
]

[workspace.package]
Expand Down Expand Up @@ -80,21 +81,21 @@ crate-type = ["staticlib", "cdylib", "lib"]
bench = false # so libtest doesn't eat the arguments for criterion

[build-dependencies]
libcrux-platform = { version = "=0.0.2", path = "sys/platform" }
libcrux-platform = { version = "=0.0.2", path = "crates/sys/platform" }

[dependencies]
libcrux-traits = { version = "=0.0.3", path = "traits" }
libcrux-chacha20poly1305 = { version = "=0.0.3", path = "chacha20poly1305" }
libcrux-hacl-rs = { version = "=0.0.3", path = "hacl-rs" }
libcrux-hacl = { version = "=0.0.2", path = "sys/hacl" }
libcrux-platform = { version = "=0.0.2", path = "sys/platform" }
libcrux-hkdf = { version = "=0.0.3", path = "libcrux-hkdf" }
libcrux-hmac = { version = "=0.0.3", path = "libcrux-hmac" }
libcrux-sha2 = { version = "=0.0.3", path = "sha2" }
libcrux-ed25519 = { version = "=0.0.3", path = "ed25519" }
libcrux-ecdh = { version = "=0.0.3", path = "libcrux-ecdh" }
libcrux-ml-kem = { version = "=0.0.3", path = "libcrux-ml-kem" }
libcrux-kem = { version = "=0.0.3", path = "libcrux-kem" }
libcrux-traits = { version = "=0.0.3", path = "crates/utils/traits" }
libcrux-chacha20poly1305 = { version = "=0.0.3", path = "crates/algorithms/chacha20poly1305" }
libcrux-hacl-rs = { version = "=0.0.3", path = "crates/utils/hacl-rs" }
libcrux-hacl = { version = "=0.0.2", path = "crates/sys/hacl" }
libcrux-platform = { version = "=0.0.2", path = "crates/sys/platform" }
libcrux-hkdf = { version = "=0.0.3", path = "crates/algorithms/hkdf" }
libcrux-hmac = { version = "=0.0.3", path = "crates/algorithms/hmac" }
libcrux-sha2 = { version = "=0.0.3", path = "crates/algorithms/sha2" }
libcrux-ed25519 = { version = "=0.0.3", path = "crates/algorithms/ed25519" }
libcrux-ecdh = { version = "=0.0.3", path = "crates/primitives/ecdh" }
libcrux-ml-kem = { version = "=0.0.3", path = "crates/algorithms/ml-kem" }
libcrux-kem = { version = "=0.0.3", path = "crates/primitives/kem" }
rand = { version = "0.9" }
log = { version = "0.4", optional = true }
# WASM API
Expand Down
Loading
Loading