Closed marsella closed 2 weeks ago
I provided my input on this topic in today's MTV meeting, but we should also get input from @weaversa as well.
I provided my input on this topic in today's MTV meeting, but we should also get input from @weaversa as well.
I've only ever attempted 186-5. This is new territory for me. Let me suggest you keep the CAVP and KASVS specific to 800-56A in mind, ensuring that the invariants laid out are adhered to (when possible) and documented regardless. Also, providing interfaces to the provided test suites will be beneficial.
I read through most of the spec (800-56A). Here are my notes:
is_valid
function for each of public & private keys to check this?Per offline discussion, we decided on the following priorities:
I'll write a follow-up issue to handle the ECDH primitive and basic key representation and leave the rest here for now.
Closing this as we don't have concrete plans to continue adding the key agreement schemes or any other items right now. Can reopen if / when we decide to do so.
We want to have a version of elliptic-curve Diffie-Hellman, as standardized in NIST SP 800-56A revision 3. There are several versions (not sure yet how all the models are different; one thing is key durability but maybe others):
Some initial poking around suggests that this might need to be broken into multiple issues / PRs: one to set up key management (association with curves, distinguishing between ephemeral and static keys, maybe generation?), one to implement other preliminaries and the ECDH primitive, and maybe a third to do all the different models.