Skip to content

Implement MultipartSign/Verify#525

Merged
tarcieri merged 3 commits intoRustCrypto:masterfrom
daxpedda:multipart-sign-verify
Jun 3, 2025
Merged

Implement MultipartSign/Verify#525
tarcieri merged 3 commits intoRustCrypto:masterfrom
daxpedda:multipart-sign-verify

Conversation

@daxpedda
Copy link
Copy Markdown
Contributor

@daxpedda daxpedda commented Jun 1, 2025

Implementation of MultipartSigner and MultipartVerifier added in RustCrypto/traits#1880.

tarcieri pushed a commit to RustCrypto/traits that referenced this pull request Jun 2, 2025
This PR adds new traits for multipart messages: `MultipartSigner`,
`RandomizedMultipartSigner`, `RandomizedMultipartSignerMut` and
`MultipartVerifier`.

The idea here is to allow non-contiguous bytes to be passed, which is
necessary when the message has to be constructed from multiple sources
without wanting to allocate memory for a contiguous message. E.g. for
`no_std` environments or when the message is rather big but pre-hashing
is not applicable, e.g. PureEdDSA, ML-DSA or SLH-DSA.

I know this is a rather big breaking change, so let me know what you
think!

These new traits can be implemented by a bunch of crates:
- [x] `ecdsa`: RustCrypto/signatures#982
- [x] `ml-dsa`: RustCrypto/signatures#982
- [x]  `slh-dsa`: RustCrypto/signatures#982
- [x] `bign256`: RustCrypto/elliptic-curves#1221
- [x] `sm2`: RustCrypto/elliptic-curves#1221
- [x] `k256`: RustCrypto/elliptic-curves#1221
- [x] `dsa`: RustCrypto/signatures#982
- [x] `lms`: RustCrypto/signatures#982
- [x] `rsa`: RustCrypto/RSA#525
- [ ] `ed25519-dalek`

Resolves RustCrypto/signatures#959.
@daxpedda daxpedda marked this pull request as ready for review June 2, 2025 22:12
@tarcieri tarcieri merged commit 1ffef57 into RustCrypto:master Jun 3, 2025
11 checks passed
takumi-earth pushed a commit to earthlings-dev/RSA that referenced this pull request Jan 27, 2026
Implementation of `MultipartSigner` and `MultipartVerifier` added in
RustCrypto/traits#1880.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants