Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Question is a follow-up to this one. The question was about accelerating SHA1. I am writing an application, where I do have a choice of hash algorithm, as long as it's a strong one. I want to be able to use the one which could be CPU-accelerated on consumer grade AMD and/or Intel processors. Which one should I take?

Bonus question: does mono on Linux have any support for hardware accelerated hashing, and if yes, which algorithm(s)?

share|improve this question
No consumer CPU supports a hardware accelerated hash instruction, however Intel Haswell CPUs have AVX and BMI instructions, and can hit 0.6GB/s for SHA-512 (the obvious choice for security) or 1GB/s for SHA-1 –  Richie Frame May 1 '14 at 5:02
BLAKE2b is about as close as you can get to a modern hashing algorithm that's CPU-accelerated. –  Stephen Touset May 1 '14 at 6:26
Are you hashing many short messages, or few long ones? In the latter case you must use a tree hash to have any hope of parallelization. –  CodesInChaos May 1 '14 at 10:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.