Open
Conversation
b4a04e8 to
7e14e22
Compare
7e14e22 to
90c6fe8
Compare
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.
This PR adds ML-DSA signature support.
The following operations are supported:
CKM_ML_DSA_KEY_PAIR_GENfor the existingC_GenerateKeyPair()method)CKM_ML_DSAandCKM_HASH_ML_DSAfor the existingC_SignInit()andC_Sign()methods)C_VerifyInit()andC_Verify())C_CreateObject())Furthermore, the new key type
CKK_ML_DSAhas been added to support ML-DSA object handling.Both the pure and pre-hash versions of ML-DSA are supported. For that, the new structures
CK_SIGN_ADDITIONAL_CONTEXTandCK_HASH_SIGN_ADDITIONAL_CONTEXTare available to pass the optional context as well as the used hash function (in case of the pre-hash version). Not yet supported are the pre-hash versions that also offload the hashing onto the token.To enable the functionality, use
--enable-mldsafor autoconf andWOLFPKCS11_MLDSAfor CMake. As ML-DSA is strictly a new PKCS#11 version 3.2 feature, we ensure that this is also enabled when ML-DSA is enabled (although only v2.40 interfaces are used currently).The new functionality is also tested in the unit tests.