-
Notifications
You must be signed in to change notification settings - Fork 93
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
cloudflare-specific hybrid kyber768 support #78
Conversation
@baentsch
In RFC draft, https://www.rfc-editor.org/rfc/rfc8446, it mentioned 4 hybrid examples Thanks |
Yes, absolutely: Check the code changes for the "CLOUDFLARE" define: As Cloudflare chose to mix the (cryptographically too weak) X25519 with Kyber768, the PR just changes the assignment --for this particularly weird/unlogical choice-- of X25519 to/with Kyber768. OQS in contrast recommends the use of combining classic and PQ algorithms of the same cryptographic strength. So, for a Kyber768 hybrid that is X448, hence the use of that define to change the codepoint of the Kyber768 hybrid. It may be confusing, but I wanted to add as little code as possible to support an unlogical and proprietary hybrid algorithm choice.
|
Thanks for your quick answers. p256_kyber512 and p384_kyber768 works well. |
We aim for "128 bit" security. The current consensus is that Kyber512 reaches that, but there is not a lot of margin. The designers of Kyber recommend Kyber768, even for "128 bit" applications, to hedge against big, but not catastrophic, advances in cryptanalysis. Hence our choice to mix X25519 with Kyber768. |
Thanks for the background. After the above we added support to OQSprovider to enable all kinds of combinations beyond purely "bit-security-compatible" ones we supported in the old openssl111 code base. So feel free to suggest any further alternatives :) |
* cloudflare-specific hybrid x25519_kyber768 support Signed-off-by: Felipe Ventura <felipe.ventura@entrust.com>
As per discussion in open-quantum-safe/openssl#388 this is to create "minimally invasive" support for cloudflare's hybrid choice of x25519_kyber768.
To activate, set #define CLOUDFLARE in oqs_prov.h.
Tested to run successfully against cloudflare infrastructure & code point: