Skip to content

cipher-chachapoly: use OpenSSL's implementation of Poly1305 #560

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

iucoen
Copy link

@iucoen iucoen commented Mar 11, 2025

OpenSSL starting in version 3.0.0 has a new EVP_MAC API which allows POLY1305 algorithm to be used as a standalone MAC. OpenSSL's implementation is significantly faster, so we should use it when it's available.

With this change on an Intel N5105 (Jasperlake), I observed a 26% speedup for the entire [email protected] cipher from 276MB/s to 350MB/s.

@iucoen
Copy link
Author

iucoen commented May 17, 2025

Any interest in taking this change?

@djmdjm
Copy link
Contributor

djmdjm commented May 19, 2025

I've discussed this with one of the LibreSSL developers and I think we'll probably prefer to use the BoringSSL poly1305 API (which LibreSSL will also adopt), and add a shim to support EVP_MAC in OpenSSL. I'll wait until the LibreSSL people let me know once it's ready to look at.

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.

2 participants