8
$\begingroup$

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?

$\endgroup$
3
  • $\begingroup$ en.wikipedia.org/wiki/AES_instruction_set $\endgroup$
    – orlp
    Commented Aug 19, 2013 at 16:52
  • $\begingroup$ @nightcracker: Actually, I believe the question is "who needs to compute hashes that fast"; the existence of AES accelerator instructions doesn't address that. $\endgroup$
    – poncho
    Commented Aug 19, 2013 at 18:22
  • $\begingroup$ @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. $\endgroup$
    – orlp
    Commented Aug 19, 2013 at 18:40

1 Answer 1

13
$\begingroup$

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.)

$\endgroup$
6
  • 1
    $\begingroup$ 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. $\endgroup$
    – rath
    Commented Aug 19, 2013 at 22:16
  • $\begingroup$ @rath, those figures are probably known to the retailers who are concerned about such things, but are not figures they make public. $\endgroup$ Commented Aug 19, 2013 at 23:06
  • $\begingroup$ +1 for mentioning some of the concerns/constraints of embedded systems (such as low power and limited processing capability, and real-time requirements) $\endgroup$
    – Dan
    Commented Aug 19, 2013 at 23:19
  • $\begingroup$ 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. $\endgroup$ Commented Aug 20, 2013 at 13:15
  • $\begingroup$ 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. $\endgroup$
    – user4982
    Commented Aug 20, 2013 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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