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

Conversation

bencivjan
Copy link
Contributor

@bencivjan bencivjan commented Jun 29, 2023

Description of changes:

This pull request introduces a KEM API into the library with support for Kyber-512

Call-outs:

  • Creates aws_lc_rs::key_transport module which provides KEM API
  • KemAlgorithm contains the offered KEM algorithms
  • KemPrivateKey and KemPublicKey manage the public and private keys (respectively). KemPrivateKey offers a method to generate a corresponding KemPublicKey and a method to decapsulate a ciphertext. KemPublicKey offers a method an encapsulation method, generating a shared secret and ciphertext.

Testing:

  • Integration test performing a key transfer using Kyber-512
  • Integration test performing a key transfer using Kyber-512 with serialization/deserialization of keys
  • Unit testing of key serialization/deserialization functionality

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.

@bencivjan bencivjan requested a review from a team as a code owner June 29, 2023 23:22
Copy link
Contributor

@justsmth justsmth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Run make format before the next commit.

aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
@bencivjan bencivjan requested review from justsmth and andrewhop June 30, 2023 20:33
@bencivjan bencivjan requested a review from justsmth July 5, 2023 17:39
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/key_transport.rs Outdated Show resolved Hide resolved
@dkostic dkostic self-requested a review July 6, 2023 16:47
@bencivjan bencivjan requested a review from justsmth July 6, 2023 22:37
aws-lc-rs/src/kem.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/kem.rs Outdated Show resolved Hide resolved
aws-lc-rs/tests/key_transport_tests.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/kem.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/kem.rs Outdated Show resolved Hide resolved
aws-lc-rs/src/kem.rs Outdated Show resolved Hide resolved
@bencivjan bencivjan requested review from justsmth and skmcgrail July 7, 2023 18:25
@bencivjan bencivjan merged commit b2bf53b into aws:kem Jul 7, 2023
@bencivjan bencivjan deleted the main branch July 7, 2023 23:41
skmcgrail pushed a commit that referenced this pull request Oct 12, 2023
- Create `kem` module offering new KEM API with support for Kyber-512
- Create `kem_tests` file with integration testing

(cherry picked from commit b2bf53b)
ctz pushed a commit to ctz/aws-lc-rs that referenced this pull request Dec 12, 2023
- Create `kem` module offering new KEM API with support for Kyber-512
- Create `kem_tests` file with integration testing

(cherry picked from commit b2bf53b)
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.

5 participants