Closed moidx closed 4 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.
removing Hotlist label since approved by TC
Can this be closed now?
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
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.