Skip to content

Conversation

jmwample
Copy link
Contributor

Make is possible to wrap kem::(De|En)capsulationKey in external packages without exposing KemParams publicly.

Instead of making KemParams public and allowing external types to implement the interface, I have added a public trait Params which has KemParams as a public supertrait whose name is not publicly exported (private module). Rust API Guidelines

This makes it possible to do things like:

struct WrappedDecapsulationKey<P: Params> {
    key: DecapsulationKey<P>
}

This is more convenient than working with <P as KemCore>::DecapsulationKey.

Closes #65

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.

Downstream library usage of ml_kem::DecapsulationKey
1 participant