[silicon_creator] Make parallel ECDSA/SPX test use more bazel rules instead of checked-in binaries
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
> There are several checked-in files with comments on how to generate them. I think it would better if those were generated by bazel `genrule` commands to ensure that the commands stay up-to-date with the tooling. Any thoughts? @cfrantz
In theory, I agree. However:
- The original data blob was generated by reading `/dev/random`. Regenerating it is not deterministic.
- There is a random component in both ECDSA and SPX signatures. Again, regenerating them isn't deterministic. We have a similar issue with every signed image produced in the codebase. In those cases, a change in the source code is more relevant than any randomness in a signature.
It would be acceptable to me to generate the original data blob once and then automate the signing and creation of hexdumped header resources (bonus points if you want to write a bazel rule to handle the "binary to header" conversions).
_Originally posted by @cfrantz in https://github.com/lowRISC/opentitan/issues/28948#issuecomment-3666657319_
Contributor guide
Research direction
Start by locating the parallel ECDSA/SPX test and its checked-in binaries, then read the comments describing how the data and signature resources are generated. Determine how Bazel genrule commands could automate signing and binary-to-header conversion while preserving the original data blob. Done means the relevant generated resources no longer need manual regeneration and the test still passes.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, cryptography, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100