[cryptolib] entropy driver
Open
@moidx is already working on this.
Since Aug 18, 2022.
FIPS
SW:cryptolib
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
The Entropy driver aims to provide the following services:
- Interface to software
csrnginstance #14372 - Interface to pre-conditioned entropy provided by the
entropy_src -
csrngKAT interface. See https://github.com/lowRISC/opentitan/blob/a82c4892e88253924b3f7af05ce7494232ab263a/sw/device/lib/crypto/drivers/entropy_kat.c#L115 -
entropy_srcpre-conditioner (SHA3-384) KAT interface. - #14364
-
edn0andedn1helper routines to configure entropy for countermeasures and FIPS entropy source forotbn. See https://github.com/lowRISC/opentitan/blob/a82c4892e88253924b3f7af05ce7494232ab263a/sw/device/lib/crypto/drivers/entropy.c#L319 - Health checks and error handling.
- Health test configuration hardening (
entropy_src), as those registers are not shadowed. Done as part of #29701 but not yet cherry-picked to master.
From a FIPS perspective, KAT tests will be required for algorithms within scope of potential certifications. It may be possible to implement such tests at a higher level of abstraction, but planning to add them along with the driver as optional libraries to drive basic functional test cases.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.