Write complete cryptographic primitives specification#9
Open
XiaoSaGe99 wants to merge 1 commit into
Open
Conversation
Expand specs/crypto.md from basic parameter tables to a full formal specification covering all acceptance criteria: For each of the 5 primitives: - Algorithm and parameters - Input format and constraints - Output format and guarantees - Security property being enforced (preimage resistance, unpredictability, IND-CCA2, authenticated decryption) - Failure modes with severity ratings - Implementation reference with code from AnonVote/js Additional sections: - Dependency diagram showing how primitives compose - Primitive dependency table - Key management section (generation, storage, lifecycle, rotation) - Complete threat model (protected and NOT protected against) Closes AnonVote#1
6 tasks
Contributor
|
@XiaoSaGe99 you know i didnt assign you to this issue right ? even if i merge this youre not getting the points I can see your application on my dashboard so i dont know how to assign you |
Author
|
Hi @Just-Bamford, thanks for the heads-up! I wasn't aware of the GrantFox workflow. Could you let me know how I can be properly assigned? I'm happy to follow whatever process you need — whether that's me claiming the issue through the GrantFox dashboard, or whatever works on your end. Please let me know and I'll take care of it right away. |
Contributor
|
@XiaoSaGe99 I can see your application on the contributors app but I can't see it on my maintainer dashboard, I don't know its thats a bug or what. Maybe try applying to other issues on my repo |
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.
Summary
This PR expands
specs/crypto.mdfrom basic parameter tables into a complete formal specification of the five AnonVote cryptographic primitives, covering security properties, failure modes, implementation references, and supporting documentation.Changes
Per-primitive sections (5 primitives)
Each primitive now includes:
AnonVote/js — src/crypto.tsNew sections
Design rationale notes
hashTokendeliberately omits normalization (unlikehashIdentifier)decryptVotemust throw on auth tag failure rather than returning silentlyAcceptance criteria met
specs/crypto.mdcovers all five primitives with algorithm, input/output format, security property, and failure modesCloses #1