-
Notifications
You must be signed in to change notification settings - Fork 33
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
Add software AES fallback #54
base: main
Are you sure you want to change the base?
Conversation
I've been working on this and I got it mostly working (fails It would break stability, but maybe AES emulation isn't the right solution. |
Wow nice! Performance is indeed much worse, but I was expecting even worse results tbh (like at least 2 orders of magnitude slower).
That leaves us with a choice on the overall objective of this crate. Here are the possible paths I see (let me know if you have other ideas):
|
4 sounds like the best option. I'll try to implement AES w/o AES-NI using SIMD so the performance impact isn't as bad. |
I think it is acceptable to split the work into two parts (software fallback first, then alternative hash fallback as an optional feature). Both imply a substantial amount of work. The alternative hash fallback will require some refactoring as we currently reference AES explicitly in several places (needs to be abstracted away). Can you share your current work on the software AES fallback? Even if not all tests are passing and performance is not optimal. |
Sorry for the late reply. I'll share my progress on the software AES soon, and on runtime feature detection as well as it's a bit hard to work on both separately and merge them later. All of this required some restructuring of the project, but it will make cross-platform development much easier. Also, the software AES implementation should now be stable and considerably faster, but I need to do more testing. |
In regards to this, the reason I use |
No description provided.