-
Notifications
You must be signed in to change notification settings - Fork 503
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
Investigate integrating pqcrystals common code to OQS common code #973
Comments
This may actually be more about making sure PQCrystals symmetric crypto code is wired to use our liboqs common code (and pick up our platform-specific optimizations) rather than integrating PQCrystals symmetric crypto code into our common code. Need to check if all required functions are available. |
Integrating the pqcrystals (Kyber-90s, Dilithium-AES) reference implementations with the libOQS common-AES. Also adding some more API and shim API to make it usable with minor modifications. Some measurements on x86_64: (i) libOQS C-AES, (ii) libOQS OpenSSL-AES, (iii) old version with pqcrystals-AES. Kyber768-90s:
Dilithium3-AES:
-> Roughly the same performance using the libOQS C-AES and the old pqcrystals-AES. Improved performance when using OpenSSL. The avx2 implementations are a bit more tightly integrated with AES(-NI). |
Good to know. Any performance changes for |
AES-CTR with AESNI was relatively slow, with a throughput about half compared to ECB-mode. The main cause is the code that increases the counter. See results below.
I've added some optimizations to the CTR-mode code so that the performance is now about the same as ECB-mode:
Other algorithms using CTR-mode may benefit as well. I will add some updated results once everything is integrated. |
Cool! Thanks. Looking forward to seeing that in #1221 when ready. |
as per this discussion
The text was updated successfully, but these errors were encountered: