Skip to content
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

Cherry-pick to earlgrey_1.0.0: [hsmtool] Add SPHINCS+ operations #25504

Merged
merged 5 commits into from
Dec 5, 2024

Conversation

cfrantz
Copy link
Contributor

@cfrantz cfrantz commented Dec 4, 2024

This is a manual cherry-pick of #23679.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 120907b)
Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 60f22c7)
This is the original, unmodified version of the `acorn.h` file from
Entrust's PQ dev kit.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 9b58dca)
@cfrantz cfrantz requested review from a team as code owners December 4, 2024 04:12
@cfrantz cfrantz removed request for a team December 4, 2024 04:13
Entrust's `acorn` library is their experimental PQ cryptography module
for their nShield HSMs.  This binding gives us access to their APIs
from Rust so we can write `hsmtool` commands to work with SPHINCS+
algorithms.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 05e7c44)
1. Allow loading the Entrust PQ crypto module from a shared library.
2. Add a command hierarchy of SPHINCS+ (aka `spx`) commands:
   - list: List keys
   - generate: Generate a key
   - export: Export the public portion of an SPX key.
   - import: Import a private SPX key.
   - sign: Sign a message with an SPX key.
   - verify: Verify a message with an SPX key.

Signed-off-by: Chris Frantz <[email protected]>
(cherry picked from commit 605a457)
@cfrantz cfrantz merged commit 7c37492 into lowRISC:earlgrey_1.0.0 Dec 5, 2024
30 of 31 checks passed
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