Conversation
Back the new fixed-buffer H2 and H4 suites with pqhybridsign and pin byte-exact upstream golden parity. The [patch] section is a LOCAL-ONLY development override and must be reworked to a pushed pqhybridsign rev (cfa5913 or successor) before anything is pushed.
Add the H4 hybrid VRF and switch BABE/GRANDPA, keystore dispatch, and CLI schemes to H4/H2.
pqhybridsign-core was merged into the pqhybridsign crate upstream; consumers now import the composite foundation from pqhybridsign::<mod> directly. The two git dependencies collapse into one with the alloc feature, and pqhybridsign-core drops out of the lockfile.
🤖 Augment PR SummarySummary: This PR replaces the in-tree hybrid signature composition engine with adapters over the pinned Changes:
🤖 Was this summary useful? React with 👍 or 👎 |
| else { | ||
| return false; | ||
| }; | ||
| Sr25519FnDsa512::verify(&public, &message, b"", &binding_signature) |
There was a problem hiding this comment.
vrf_verify accepts any valid H4 binding signature, but cannot establish that it was produced with binding_nonce; FN-DSA signatures vary with that nonce. A validator can therefore generate multiple valid bindings for one sr25519 pre-output and select one whose hashed output passes the BABE threshold, making leader election and accumulated epoch randomness grindable.
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
SEC-1: VrfOutput derives from the sr25519 pre-output alone; the PQ binding is verified and never enters output derivation (delegates to pqhybridsign::vrf; same fix for the H3 wrapper). SEC-3: ordinary Pair::sign uses a dedicated domain context, distinct from the VRF binding label. SEC-7: exact =0.0.0-rc7 pin. Q-1: cache the expanded suite secret in Pair (no per-sign PQ keygen). Q-2: frame/babe comment corrected.
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.
✄ -----------------------------------------------------------------------------
Thank you for your Pull Request! 🙏 Please make sure it follows the contribution guidelines outlined in this
document and fill out the
sections below. Once you're ready to submit your PR for review, please delete this section and leave only the text under
the "Description" heading.
Description
A concise description of what your PR is doing, and what potential issue it is solving. Use Github semantic
linking
to link the PR to an issue that must be closed once this is merged.
Integration
In depth notes about how this PR should be integrated by downstream projects. This part is
mandatory, and should be reviewed by reviewers, if the PR does NOT have the
R0-no-crate-publish-requiredlabel. In case of aR0-no-crate-publish-required, it can beignored.
Review Notes
In depth notes about the implementation details of your PR. This should be the main guide for reviewers to
understand your approach and effectively review it. If too long, use
<details>.Imagine that someone who is depending on the old code wants to integrate your new code and the only information that
they get is this section. It helps to include example usage and default value here, with a
diffcode-block to showpossibly integration.
Include your leftover TODOs, if any, here.
Checklist
Trequired)/cmd label <label-name>to add labelsBot Commands
You can use the following bot commands in comments to help manage your PR:
Labeling (Self-service for contributors):
/cmd label T1-FRAME- Add a single label/cmd label T1-FRAME R0-no-crate-publish-required- Add multiple labels/cmd label T6-XCM D2-substantial I5-enhancement- Add multiple labels at onceOther useful commands:
/cmd fmt- Format code (cargo +nightly fmt and taplo)/cmd prdoc- Generate PR documentation/cmd bench- Run benchmarks/cmd update-ui- Update UI tests/cmd --help- Show help for all available commandsYou can remove the "Checklist" section once all have been checked. Thank you for your contribution!
✄ -----------------------------------------------------------------------------