Skip to content

pkcs1v15: implement implicit rejection - #749

Merged
tarcieri merged 1 commit into
masterfrom
pkcs1v15/implicit-rejection
Nov 1, 2026
Merged

tarcieri merged 1 commit into
masterfrom
pkcs1v15/implicit-rejection

Conversation

@tarcieri

@tarcieri tarcieri commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Avoid a padding oracle by returning a deterministic rejection symbol rather than an error on padding failures. See sections 7.1/7.2 of:

https://www.ietf.org/archive/id/draft-irtf-cfrg-rsa-guidance-10.html

Incorporates some of the code from #680 / #702, where some of the code from the latter was merged in #739 (blinding support).

Uses cargo checkct / BINSEC to verify constant-time operation.

Closes #626

@tarcieri

tarcieri commented Nov 1, 2026

Copy link
Copy Markdown
Member Author

cc @tomato42 who authored the I-D

@tarcieri
tarcieri force-pushed the pkcs1v15/implicit-rejection branch from 937fd40 to c7bda1b Compare November 1, 2026 19:47
Avoid a padding oracle by returning a deterministic rejection symbol
rather than an error on padding failures. See sections 7.1/7.2 of:

https://www.ietf.org/archive/id/draft-irtf-cfrg-rsa-guidance-10.html

Incorporates some of the code from #680 / #702, where some of the code
from the latter was merged in #739 (blinding support).

Uses `cargo checkct` / BINSEC to verify constant-time operation.

Closes #626
@tarcieri
tarcieri force-pushed the pkcs1v15/implicit-rejection branch from c7bda1b to 6b7d70f Compare November 1, 2026 19:58
@tarcieri
tarcieri marked this pull request as ready for review November 1, 2026 20:40
@tarcieri tarcieri changed the title [WIP] pkcs1v15: implement implicit rejection pkcs1v15: implement implicit rejection Nov 1, 2026
@tarcieri
tarcieri merged commit 0eb430c into master Nov 1, 2026
13 checks passed
@tarcieri
tarcieri deleted the pkcs1v15/implicit-rejection branch November 1, 2026 20:41
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.

Padding implementation is not constant-time

1 participant