-
Notifications
You must be signed in to change notification settings - Fork 7
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
Update AES-GCM to meet "gold standard" requirements #78
Comments
Here are my notes on the parameter requirements in the NIST spec:
|
marsella
added a commit
that referenced
this issue
Jul 2, 2024
marsella
added a commit
that referenced
this issue
Jul 2, 2024
- modifies the GCM mode implementation to use the interface - replaces AES_GCM with separate instantiations of the GCM functor for our AES's of interest, and an independent test file -
marsella
added a commit
that referenced
this issue
Jul 3, 2024
- Adds missing type constraints on IV, AAD, tag, plaintext, block size, and key lengths - Update some names in the implementations - Add notes on deviations / unsupported requirements from the spec
marsella
added a commit
that referenced
this issue
Jul 3, 2024
- Adds missing type constraints on IV, AAD, tag, plaintext, block size, and key lengths - Update some names in the implementations - Add notes on deviations / unsupported requirements from the spec
marsella
added a commit
that referenced
this issue
Jul 3, 2024
marsella
added a commit
that referenced
this issue
Jul 3, 2024
I read through the spec and added warnings about failure modes that Cryptol can't catch. Also put in a tiny and fairly obvious property.
marsella
added a commit
that referenced
this issue
Jul 3, 2024
marsella
added a commit
that referenced
this issue
Jul 3, 2024
- modifies the GCM mode implementation to use the interface - replaces AES_GCM with separate instantiations of the GCM functor for our AES's of interest, and an independent test file -
marsella
added a commit
that referenced
this issue
Jul 3, 2024
- Adds missing type constraints on IV, AAD, tag, plaintext, block size, and key lengths - Update some names in the implementations - Add notes on deviations / unsupported requirements from the spec
marsella
added a commit
that referenced
this issue
Jul 3, 2024
marsella
added a commit
that referenced
this issue
Jul 3, 2024
I read through the spec and added warnings about failure modes that Cryptol can't catch. Also put in a tiny and fairly obvious property.
marsella
added a commit
that referenced
this issue
Jul 3, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The GCM spec and AES instantiation of it needs a bit of work to meet our "gold standard" for specs. This was initially flagged in discussion on #75; see that PR for more details.
Some things to review:
There's a duplicated version (Based on discussion, this will now be handled in Distinguish between spec-conformant and SAW-optimized Cryptol #86AES_256_GCM.cry
andAES_GCM.cry
). Determine whether we can remove this duplication or improve documentation to explain why we need two versions (maybe blocked on Refactor AES spec to meet "gold standard" requirements #77)GCM.cry
in terms ofCipher
so that the instantiation is simpler and it can be reused for other (non-AES) block ciphersAES256_GCM
andAES128_GCM
)X
is empty, the return value should be the empty stringConvert into a literate specThis will be handled in Convert GCM mode to a Literate spec #87The text was updated successfully, but these errors were encountered: