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

MLDSA PCR flow #645

Closed
calebofearth opened this issue Nov 19, 2024 · 1 comment · Fixed by #670
Closed

MLDSA PCR flow #645

calebofearth opened this issue Nov 19, 2024 · 1 comment · Fixed by #670

Comments

@calebofearth
Copy link
Collaborator

@mojtaba-bisheh to add details

@mojtaba-bisheh
Copy link
Contributor

mojtaba-bisheh commented Jan 3, 2025

In Caliptra 1.x, we have a hardware flow that computes hashed_pcr = SHA384(pcr0 || pcr1 || ...), which is then used as a message to be signed by ECC. For pcr signing, a dedicated KV slot (slot 7) is provided for the 384-bit key.

The proposal for dual signature in Caliptra 2.0 is as follows:

Update the hashed_pcr flow to use SHA512, resulting in hashed_pcr = SHA512(pcr0 || pcr1 || ...).
Use the same results for both ECC and MLDSA.

  • The 384-bit portion of hashed_pcr will be signed by ECC.
  • The entire 512-bit of hashed_pcr will be signed by MLDSA.

Assign another KV slot (SLOT 8) dedicated to MLDSA to ensure domain separation between ECC and MLDSA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants