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

Introduce KEM API with support for Kyber-512 #174

Merged
merged 52 commits into from
Jul 7, 2023
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
8686e02
Create key_transport module with skeleton code
bencivjan Jun 21, 2023
2015540
add signatures for all methods
bencivjan Jun 22, 2023
af3ff54
Create EVP_PKEY_CTX pointer and update KEM function signatures
bencivjan Jun 23, 2023
d89d9c9
Finish decapsulate implementation
bencivjan Jun 26, 2023
6d00e20
Finish implementation + test with failure
bencivjan Jun 27, 2023
1ff159d
Fix buffer write issue, test passes but aborts after
bencivjan Jun 28, 2023
5a4cd77
Make deep copy of EVP_PKEY in compute_public_key to fix double free b…
bencivjan Jun 28, 2023
711562e
Remove unnecessary mut
bencivjan Jun 28, 2023
b2df1b7
Move integration tests to separate file
bencivjan Jun 28, 2023
482c893
Implement PrivateKey serialize with unit testing
bencivjan Jun 29, 2023
e1d1d4d
Finish public key serialization with unit tests
bencivjan Jun 29, 2023
de81dc4
Add serialization integration test, working
bencivjan Jun 29, 2023
9299432
Rename integration tests
bencivjan Jun 29, 2023
3a5ad98
Add documentation and doc tests to key_transport
bencivjan Jun 29, 2023
47956c0
Minor comment cleanups
bencivjan Jun 29, 2023
eecb0a0
Fix formatting for CI
bencivjan Jun 30, 2023
35055c4
Remove PartialEq implementations and update tests accordingly
bencivjan Jun 30, 2023
6984ccd
Implement AsRef instead of get_raw_bytes
bencivjan Jun 30, 2023
476362c
Update tests to use as_ref
bencivjan Jun 30, 2023
e91db8f
Rename from_raw_bytes to new
bencivjan Jun 30, 2023
99a4cec
Change usage of DetachableLcPtr to LcPtr
bencivjan Jun 30, 2023
ce4b0c5
Verify length of raw buffer before constructing context
bencivjan Jun 30, 2023
c182baf
Remove macros by getting lengths through aws-lc kem api and use Box<[…
bencivjan Jun 30, 2023
e9ec9b3
Refactor back to using macros, but also offer getters for shared secr…
bencivjan Jun 30, 2023
6bfa6b7
Introduce KemAlgorithm struct and change enum to KemAlgorithmID
bencivjan Jun 30, 2023
3ffe609
Update docs
bencivjan Jul 1, 2023
376d1c6
Remove debug feature
bencivjan Jul 1, 2023
b7e982a
Implement drop for KemPublicKey and KemPrivateKey, and remove unneces…
bencivjan Jul 1, 2023
95187d6
Rename 'context' field to 'pkey'
bencivjan Jul 1, 2023
fe0bf9f
Fix documentation
bencivjan Jul 1, 2023
171fed1
Minor test change
bencivjan Jul 1, 2023
6d266e2
Undo last change
bencivjan Jul 1, 2023
b4a7445
Remove unnecessary clone and leaked comments
bencivjan Jul 3, 2023
cda0c3a
Update make clippy to match CI by removing +nightly
bencivjan Jul 3, 2023
f77236a
Add crystals website reference next to key length definitions
bencivjan Jul 3, 2023
0d2dda2
Random white space adjustments
bencivjan Jul 3, 2023
04ac352
Additional documentation to clarify difference between generate and new
bencivjan Jul 3, 2023
37a40bb
Revert makefile back to nightly
bencivjan Jul 3, 2023
655abd8
Apply suggestions from code review
bencivjan Jul 3, 2023
a437108
Clean up pointer usage
bencivjan Jul 6, 2023
3af2510
Rename key_transport module to kem
bencivjan Jul 6, 2023
cbe494a
Expand on key size checking with tests
bencivjan Jul 6, 2023
8f1499a
Update decapsulate to use custom error type
bencivjan Jul 6, 2023
af2ee23
Fix clippy
bencivjan Jul 6, 2023
088cbbd
Add caller specified error to encapsulate
bencivjan Jul 6, 2023
817757b
Separate context initialization from key generation
bencivjan Jul 6, 2023
8e8fc66
Rename test variables to be more accurate
bencivjan Jul 6, 2023
5bca072
Clean up more mut return value usage
bencivjan Jul 6, 2023
d9b20ee
Reduce unsafe scopes
bencivjan Jul 7, 2023
7690fc0
Remove unwraps
bencivjan Jul 7, 2023
331e0f0
rename key_transport_tests to kem_tests
bencivjan Jul 7, 2023
97f763c
Change if let to let else to avoid breaking s2n quic
bencivjan Jul 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading