proof: extract a single pattern to start#167
Merged
cfm merged 14 commits intofreedomofpress:one-crab-to-rule-them-allfrom Feb 27, 2026
Merged
proof: extract a single pattern to start#167cfm merged 14 commits intofreedomofpress:one-crab-to-rule-them-allfrom
cfm merged 14 commits intofreedomofpress:one-crab-to-rule-them-allfrom
Conversation
4 tasks
securedrop_protocol_minimal::primitives::xwing::typed per <freedomofpress#164 (comment)>.
…version 2025.12.15 See cryspen/hax#1858.
…her than from Git
Generated by Claude based on cryspen/bertie@0bf761a.
c7086a7 to
6683259
Compare
…ing keys have axiomatized lengths
197814b to
610388f
Compare
…()'s assumed postconditions and typed's preconditions
610388f to
bcf4e1e
Compare
cfm
commented
Feb 27, 2026
Comment on lines
+12
to
+22
| # crypto stack, pinned to cryspen/libcrux#1312 | ||
| libcrux-ed25519 = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f", features = ["rand"] } | ||
| libcrux-curve25519 = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f" } | ||
| libcrux-chacha20poly1305 = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f" } | ||
| libcrux-traits = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f" } | ||
| libcrux-kem = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f" } | ||
| libcrux-ml-kem = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f" } | ||
| libcrux-sha2 = { git = "https://github.com/cryspen/libcrux", rev = "c1e75990cbcf1bf476199fb1367df680c6de570f" } | ||
|
|
||
| # fork of cryspen/hpke-rs, transitively pinned to cryspen/libcrux#1312 | ||
| hpke-rs = { git = "https://github.com/cfm/hpke-rs", rev = "9325551537d642d308edc60f3b271742b3a25b00", features = ["libcrux"] } |
Member
Author
There was a problem hiding this comment.
cryspen/libcrux#1312 has been merged, so we can revert to specifying a version for these crates once they're released in versions that include it.
redshiftzero
approved these changes
Feb 27, 2026
Contributor
redshiftzero
left a comment
There was a problem hiding this comment.
LGTM!
I see the wasm build is failing and didn't investigate but good to merge once that's addressed
…ree to build with "wasm_js"
Member
Author
|
Thanks, @redshiftzero. That's fixed in c7d4a41. |
1e87d2e
into
freedomofpress:one-crab-to-rule-them-all
8 checks passed
This was referenced Mar 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#131 demonstrated how to integrate hax into our CI for extraction (by hax) and proof (in F*).
Closes #154 by demonstrating how to use hax and F* to prove some property about some function implemented in #164. Per #164 (comment),
securedrop_protocol_minimal::primitives::*::typed()seemed to be the lowest-hanging fruit.At a high level:
Notes: