Generalise ML-DSA with GYB #355
Open
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.
Generalises the definition of ML-DSA algorithms with GYB to allow the addition of other parameter sets in the future
Checklist
If you've made changes to
gyb
files.script/generate_boilerplate_files_with_gyb
and included updated generated files in a commit of this pull requestMotivation:
BoringSSL recently made ML-DSA-87 public in its API, in addition to ML-DSA-65 which has already been integrated into Swift Crypto.
By generating the code with GYB we will be able to add support for ML-DSA-87 very easily in the future when the vendored version of BoringSSL is updated.
Modifications:
Generate the code for
MLDSA65
(and in future also forMLDSA87
) with GYB.Result:
Nothing changes in the public API, but adding
MLDSA87
in the future will be instantaneous.