Skip to content

[crypto] ML-DSA-87: Computation of the S and T vectors (5-6/8)#30164

Merged
andrea-caforio merged 3 commits into
lowRISC:masterfrom
andrea-caforio:mldsa87-keygen-5-6
May 21, 2026
Merged

[crypto] ML-DSA-87: Computation of the S and T vectors (5-6/8)#30164
andrea-caforio merged 3 commits into
lowRISC:masterfrom
andrea-caforio:mldsa87-keygen-5-6

Conversation

@andrea-caforio

Copy link
Copy Markdown
Contributor

The S and T vectors make up most of the public and secret key.


This is a series of PRs that in their composition result in FIPS-204-compliant OTBN implementation of ML-DSA-87 keygen.

Resources

Gadgets
  1. sec_mod5 [crypto] ML-DSA-87: Modulo 5 gadget (1/8) #30108
Sampling
  1. sample_uniform_eta, expand_s [crypto] ML-DSA-87: Rejection-sample coefficient-bounded polys (2/8) #30138
Encoding
  1. encode_t0, encode_t1, power2round [crypto] ML-DSA-87: Encoding and rounding of T polynomials #30154
  2. encode_s [crypto] ML-DSA-87: Encoding of S polynomials (4/8) #30162
Vector Ops
  1. compute_t
  2. sample_s
  3. hash_seed, hask_pk
Epilogue
  1. app

@andrea-caforio andrea-caforio self-assigned this May 21, 2026
@andrea-caforio andrea-caforio added Type:Enhancement Feature requests, enhancements SW:cryptolib Crypto library labels May 21, 2026

@nasahlpa nasahlpa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Andi, the implementation looks very clean :-)

Comment thread sw/otbn/crypto/mldsa87/keygen/mldsa87_keygen_ops.s Outdated
Comment thread sw/otbn/crypto/mldsa87/keygen/mldsa87_keygen_ops.s Outdated
A new routine is introduced to sample the S{1,2} vectors of the secret
key.

Signed-off-by: Andrea Caforio <andrea.caforio@lowrisc.org>
Signed-off-by: Andrea Caforio <andrea.caforio@lowrisc.org>
Signed-off-by: Andrea Caforio <andrea.caforio@lowrisc.org>
@andrea-caforio andrea-caforio added this pull request to the merge queue May 21, 2026
Merged via the queue into lowRISC:master with commit f31f484 May 21, 2026
49 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

SW:cryptolib Crypto library Type:Enhancement Feature requests, enhancements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants