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.

All of the SHA-3 finalists discussed speed and efficiency of a hardware implementation of their algorithms. How relevant are such details?

I'm curious about who commercializes hardware that implements specific hashing algorithms, and who uses them. In what situations is this worth a dedicated chip, vs. just running it through the CPU / GPU / whatever?

share|improve this question
    
    
@nightcracker: Actually, I believe the question is "who needs to compute hashes that fast"; the existence of AES accelerator instructions doesn't address that. –  poncho Aug 19 '13 at 18:22
    
@poncho Ah ok - I interpreted the question as a general "Do crypto algorithms ever get implemented in hardware?". One answer to who could use fast hashes would be bitcoin miners, but I kind of dislike that answer since it's not a "natural" use case. The only reason they want fast hashes is so they can attack an already existing system, so this has nothing to do with the design of new hash functions. –  orlp Aug 19 '13 at 18:40

1 Answer 1

up vote 10 down vote accepted

Hardware implementations are common, and likely to become more common as security needs increase, rather than less common. One place they're used is in the digital signature of messages, such as messages going to/coming from a Smart Card used for banking. Those are tiny, slow, limited processors, and a hardware implementation has the potential to improve their performance. Americans aren't used to the slowness that Chip and PIN will bring to the checkout experience, so anything that speeds up that process is going to be of great value.

Security is also becoming more critical for other embedded devices. Smart homes use secure communications to tell door locks to unlatch, and alarms to disarm. And in any battery operated device, such as an alarm sensor, power efficiency is often the top requirement. If a hardware implementation saves a few milliwatts, that could extend the life of a battery in an alarm sensor by a month, which is a huge benefit to the homeowner.

With all the talk of cyber-terror attacks on Industrial Control Systems, the individual controlling hardware devices may soon need to validate signatures on each instruction they receive. They need extremely fast response times to perform real time controls of manufacturing equipment, and must be able to quickly process an emergency shutdown request. Encryption and authentication is always a bottleneck, so a high speed hardware implementation could help maintain near-real-time response times. Look for those algorithms to be baked into the communications chips.

At the other end of the computing spectrum, giant web servers use HSMs to perform the encryption and decryption of thousands of https: sessions per second. Dedicated hardware implementations make such devices far more efficient than general purpose CPUs.

In the middle, you have PCs and laptops, where encryption on the CPU is fast enough for the end users, and the performance benefits of hardware implementations is negligible. But they're also the most subject to malware like viruses, and embedding the security features in a chip could prevent malware from accessing sensitive data like private keys. (If TPM wasn't all about enforcing DRM and other forms of rights restrictions, it might have been useful for actual security functions.)

share|improve this answer
    
anything that speeds up that process is going to be of great value. I've always been curious about that. Are a few extra seconds at the checkout line that important? Have there been any case studies that show customers are even aware of the speedup? Great answer btw. –  rath Aug 19 '13 at 22:16
    
@rath, those figures are probably known to the retailers who are concerned about such things, but are not figures they make public. –  John Deters Aug 19 '13 at 23:06
    
+1 for mentioning some of the concerns/constraints of embedded systems (such as low power and limited processing capability, and real-time requirements) –  Dan Aug 19 '13 at 23:19
    
I thought about embedded systems, but my thought was such devices didn't process a ton of data. I mean, they're not hashing multi-megabyte PDFs or something, eh? I guess I'm not aware of all the use cases. –  Lone Shepherd Aug 20 '13 at 13:15
    
This is a very good answer. Detail that I missed is side channel attacks: Certain classes of side channels, including cache, branch-prediction information, etc. do not exist in many hardware implementations of cryptography. –  user4982 Aug 20 '13 at 18:57

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.