-
Notifications
You must be signed in to change notification settings - Fork 53
Signature APIs #1241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
wysiwys
wants to merge
61
commits into
main
Choose a base branch
from
wysiwys/signature-apis
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Signature APIs #1241
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
dbb3197
add macros and traits for implementing signature APIs
wysiwys 2dab1d5
ed25519 public API implementation
wysiwys 1ae48d3
update `Cargo.toml`
wysiwys b96d79a
update visibility
wysiwys bbbd869
ecdsa public API implementation
wysiwys 0500b44
implement `sign_mut()`
wysiwys 33d604d
libcrux-ml-dsa public API implementation
wysiwys a82a2f8
unify feature names
wysiwys e9864f3
add `libcrux-signature` crate
wysiwys 5bf977b
add documentation
wysiwys 104bc15
documentation
wysiwys 279bc7b
documentation and visibility
wysiwys 189540a
docs and visibility
wysiwys 8953adf
simplify `KeyPair` generation
wysiwys 46ac6da
update pre-hash buffer length
wysiwys 8879a01
improve feature flags and imports
wysiwys d16a826
spacing
wysiwys 95f7a14
re-export all parameter sets
wysiwys f919f4d
clean up comments
wysiwys 2bc0a6b
update key generation in test
wysiwys 2e82add
update method names for derand keygen
wysiwys 9820828
separate error types for `arrayref` and `slice` variants
wysiwys e1dbc7e
remove placeholder error implementation
wysiwys c35566c
use the correct dependency paths within the workspace
wysiwys e3adf85
update changelogs
wysiwys 467813b
begin adding more documentation
wysiwys 9e6cd82
remove the `SignTypes` trait
wysiwys f68a07b
import `U8` in the main implementation macro
wysiwys 3edccdc
simplify importing the `U8` type
wysiwys 28fa7cc
reorganize module exports and docs
wysiwys b741d3d
document API shape with examples
wysiwys e7ecd3d
improve imports
wysiwys 5fa672a
re-use the `WrongLengthError`
wysiwys 1c70c67
additional macro documentation
wysiwys bde7645
clarify payload length computation and remove hacl-related docs that …
wysiwys 298200b
documentation
wysiwys 1c28705
update documentation to reflect that only one trait is provided
wysiwys 5ad6450
clarify descriptions of generated structs
wysiwys 2ad5489
add derand keygen for `KeyPair`
wysiwys f765759
update tests
wysiwys 14d2948
add derand keygen methods for `KeyPair`
wysiwys cbf036a
update tests
wysiwys 40160d6
module-level documentation
wysiwys 58e5327
documentation
wysiwys 57681f7
use `generate_pair()`
wysiwys 4381408
update test randomness arguments
wysiwys fc3036c
more documentation for algorithm structs
wysiwys 576f634
add basic Readme
wysiwys 953897b
more documentation
wysiwys 8cdf860
add doc comments to error types
wysiwys 5b8389f
improve error naming and documentation
wysiwys 4516545
update the error variant returned when verification fails
wysiwys 0a96eee
don't call `classify()` on already-classified `bytes` array in keygen
wysiwys 7a942d2
[Signature] Add comment about ensuring good randomness to documentation
jschneider-bensch f9183ec
[ML-DSA] Implement key centric API on existing key types
jschneider-bensch f4a3213
[Ed25519] Add `Ed25519KeyPair` type
jschneider-bensch 7e6d666
[Ed25519] Expose only key centric API
jschneider-bensch 2672089
[ECDSA] Rename key types
jschneider-bensch 5158003
[ECDSA] Add `ECDSAKeyPair` type
jschneider-bensch 5087854
[ECDSA] Expose only key centric API
jschneider-bensch 4d93d7c
`SigningKey::random()` for ECDSA signature keygen
wysiwys File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,28 +1,37 @@ | ||
| [package] | ||
| name = "libcrux-ecdsa" | ||
| description = "Formally verified ECDSA signature library" | ||
| name = "libcrux-ecdsa" | ||
| readme = "Readme.md" | ||
| version = "0.0.4" | ||
|
|
||
| authors.workspace = true | ||
| license.workspace = true | ||
| homepage.workspace = true | ||
| edition.workspace = true | ||
| homepage.workspace = true | ||
| license.workspace = true | ||
| repository.workspace = true | ||
|
|
||
| [dependencies] | ||
| libcrux-p256 = { version = "=0.0.4", path = "../p256", features = [ | ||
| "expose-hacl", | ||
| ] } | ||
| libcrux-sha2 = { version = "=0.0.4", path = "../sha2" } | ||
| libcrux-secrets = { version = "=0.0.4", path = "../../utils/secrets" } | ||
| libcrux-traits = { version = "=0.0.4", path = "../../../traits" } | ||
| rand = { version = "0.9", optional = true, default-features = false } | ||
|
|
||
| [features] | ||
| default = ["rand", "std"] | ||
| rand = ["dep:rand"] | ||
| std = ["rand?/std"] | ||
|
|
||
| # This doesn't check the secret independence of the implementation, but sets the | ||
| # exposed API into secret independence checking mode. | ||
| expose-secret-independence = [ | ||
| "libcrux-secrets/check-secret-independence", | ||
| "libcrux-traits/check-secret-independence", | ||
| ] | ||
|
|
||
| [dev-dependencies] | ||
| rand_core = { version = "0.9" , features = ["os_rng"] } | ||
| rand_core = { version = "0.9", features = ["os_rng"] } | ||
| serde = { version = "1.0.217", features = ["derive"] } | ||
| serde_json = "1.0.138" | ||
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Workspace dependencies?