lowRISC / opentitan

OpenTitan: Open source silicon root of trust
https://www.opentitan.org
Apache License 2.0
2.58k stars 777 forks source link

[RFC] SLH-DSA Updates for Earl Grey #23144

Closed moidx closed 4 months ago

moidx commented 6 months ago

Description

This document proposes updates to the SLH-DSA (Sphincs+) implementation used in secure boot to provide configuration options that will simplify integration with offline and cloud based code signing infrastructure, while providing additional performance improvements in secure boot.

jadephilipoom commented 6 months ago

Here's some context that might be helpful:

In addition to the SHAKE vs SHA-2 question, there's a separate but related question: should we allow a "pre-hashed" option (via an OTP setting or similar) in which the message we sign with SPHINCS+ is the hash of the ROM_EXT image, rather than the image directly? If we did this and used SHA-2, it would reduce boot time for large images because ECDSA and SPHINCS+ could use the same digest (although arguably it would also have an effect on the fault attack difficulty -- see the doc for some discussion).

I'm a little ambivalent on these options myself to be honest; I think there aren't a lot of terrible choices here, and the balance to strike is keeping ROM code as simple as possible while also retaining flexibility as much as we can. Either way, though, if we want to make it for ROM freeze we need to decide on this one pretty quickly. It's a not huge but also not trivial amount of implementation effort.

johannheyszl commented 5 months ago

removing Hotlist label since approved by TC

timothytrippel commented 4 months ago

Can this be closed now?

jadephilipoom commented 4 months ago

Yes! I thought that "Resolves" would link it in this comment but I guess it didn't: https://github.com/lowRISC/opentitan/pull/23765#issuecomment-2189313053