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

Make PRNG model slightly more readable #1079

Merged
merged 3 commits into from
Jul 5, 2023

Conversation

torben-hansen
Copy link
Contributor

Description of changes:

The way the PRNG model is written looks more complicated than what is actually needed. Attempt to re-write it. This also makes it slightly easier to amend with future potential changes.

Only tested on x86_64. Some surprises might arise when running through the CI dimensions.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

dkostic
dkostic previously approved these changes Jun 29, 2023
dkostic
dkostic previously approved these changes Jun 29, 2023
@torben-hansen torben-hansen enabled auto-merge (squash) July 3, 2023 18:17
@torben-hansen torben-hansen merged commit a33d16a into aws:main Jul 5, 2023
@skmcgrail skmcgrail mentioned this pull request Jul 7, 2023
torben-hansen added a commit to torben-hansen/aws-lc that referenced this pull request Sep 18, 2023
The way the PRNG model is written looks more complicated than what is actually needed. Attempt to re-write it. This also makes it slightly easier to amend with future potential changes.
skmcgrail pushed a commit that referenced this pull request Sep 20, 2023
* Make PRNG model slightly more readable (#1079)

The way the PRNG model is written looks more complicated than what is actually needed. Attempt to re-write it. This also makes it slightly easier to amend with future potential changes.

* Remove CRNGT (#1112)

CRNGT is not a requirement for FIPS 140-3.

FIPS 140-2 Section 4.9.2 required the execution of the Continuous Randomness Number Generation Test (CRNGT). However, this requirement is not present in FIPS 140-3. In addition, later stages of FIPS 140-2 this test was not mandatory in all cases either (cf. FIPS 140-2 IG 9.8).

Executing this test requires maintaining state, which inevitably introduces complexity. Given CRNGT is redundant with respect to compliance and really provides zero practical value (see, again, FIPS 140-2 IG 9.8), we axe it.

* Abstract fips entropy functions (#1113)

Abstract getting data from the configured entropy source of FIPS. Atm, the configured source is hard-coded in multiple workflows. This allows adding another source more easily.

In addition, add some machinery to configure another source of build-time using the new define FIPS_ENTROPY_SOURCE_JITTER_CPU.

* Implementation passive entropy (#1125)

* Use passive entropy source method by default for FIPS build mode (#1188)

Enables passive entropy method by default. In addition, adds a build-time config that can modify (at build-time) the entropy source method to CPU Jitter.

* Kick CI bots

* Kick CI bots, again
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants