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

Faster (by a magnitude) OpenCL AES code #5594

Open
magnumripper opened this issue Nov 30, 2024 · 0 comments
Open

Faster (by a magnitude) OpenCL AES code #5594

magnumripper opened this issue Nov 30, 2024 · 0 comments
Assignees

Comments

@magnumripper
Copy link
Member

magnumripper commented Nov 30, 2024

#5591 (comment)

The default KeePass benchmark includes old low iteration test vectors. To see modern, real-life cost, edit opencl_keepass_fmt_plug.c, change the define of KEEPASS_REAL_COST_TEST_VECTORS to 1, rebuild and benchmark with -cost=31250000 (it will take a looong time).

Each KDF-AES round is 32 bytes of AES-256 so at this cost it will encrypt exactly 1 GB with AES-256 per candidate - great for testing AES performance. Our shared OpenCL AES comes in two flavors. Using the "bitsliced AES" (default for GPU - I kinda doubt bitsliced is a correct description but it does some things in parallel), Super's 1080 does 20.5 GB/s which I believe could be improved with at least 10x, (and forcing it to run our older, even worse, vanilla AES it's down to 1.15 GB/s which is essentially useless for anything but decrypting a short verifier).

The faster GPU code (CUDA) is at https://www.github.com/cihangirtezcan/CUDA_AES and there's also a freely available PDF.

@magnumripper magnumripper self-assigned this Nov 30, 2024
@magnumripper magnumripper changed the title Faster OpenCL AES code Faster (by a magnitude) OpenCL AES code Nov 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants