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

Hardware acceleration for SHA-1 and SHA-2 family using x86 SHA and ARMv8 crypto extension #8739

Open
3 tasks
ttc0419 opened this issue Jan 23, 2024 · 2 comments
Labels
component-crypto Crypto primitives and low-level interfaces enhancement help-wanted This issue is not being actively worked on, but PRs welcome. size-l Estimated task size: large (2w+)

Comments

@ttc0419
Copy link

ttc0419 commented Jan 23, 2024

Suggested Enhancement

Both intel and ARM has hardware support for SHA-1 and SHA-2 since 2013 and 2012. They should be implemented like AES.

Update:
It seems SHA-2 is already implemented using ARM crypto extension. So, we only need:

  • ARMv8 SHA-1
  • x86 SHA-1
  • x86 SHA-2

Justification

These hash family are widely used nowadays. It will improve overall performance and efficiency.

@davidhorstmann-arm
Copy link
Contributor

I believe we already have SHA2 acceleration, see here.

@ttc0419
Copy link
Author

ttc0419 commented Jan 23, 2024

I believe we already have SHA2 acceleration, see here.

Thanks for pointing out, I thought the code would be organized like aes, which uses multiple file for each implementation (aes.c, aesce.c and aesni.c). I just read the code once more, so, the sha1 hardware acceleration is missing on both platforms and for sha2, only x86 acceleration is missing, right?

@paul-elliott-arm paul-elliott-arm added enhancement help-wanted This issue is not being actively worked on, but PRs welcome. component-crypto Crypto primitives and low-level interfaces size-l Estimated task size: large (2w+) labels Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component-crypto Crypto primitives and low-level interfaces enhancement help-wanted This issue is not being actively worked on, but PRs welcome. size-l Estimated task size: large (2w+)
Projects
None yet
Development

No branches or pull requests

3 participants