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

Use other providers' functionality #631

Open
baentsch opened this issue Jan 27, 2025 · 2 comments
Open

Use other providers' functionality #631

baentsch opened this issue Jan 27, 2025 · 2 comments

Comments

@baentsch
Copy link
Member

Triggered by the discussion here this is to suggest adding a feature to allow oqsprovider to utilize other providers' PQC implementation(s) to deliver its hybrid/composite functionality.

Advantage: Use of (non-)functional properties of other providers for specific PQC algorithms, e.g., FIPS certification.
Disadvantage: Breaks dependence from liboqs -- a more logical way (retaining current design) would be to utilize the OpenSSL integration in liboqs to integrate externally provided PQC algs (as already discussed for SLH-DSA).

@dstebila
Copy link
Member

If I'm understanding correctly, the problem seems to stem from the fact that oqs-provider is kind of doing two things: providing implementations of PQ algorithms to OpenSSL at the algorithm level, and also providing implementations of PQ and hybrid constructions above the algorithm level (e.g., as TLS key exchange groups, as composite signatures, etc.). For that second purpose, the point is for people to be able to reuse the code oqs-provider has created for PQ & hybrid constructions above the algorithm level with PQ algoritms provided by other providers. Have I understood correctly?

@baentsch
Copy link
Member Author

(Conceptually) Yes and (code wise) No: There is no clean separation between (functionalities making available to EVP and TLS) pure PQC algs and hybrid/composite ones. The only "true, separate" layer is the OQS API of liboqs.

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

No branches or pull requests

2 participants