FPGA is suited for acceleration of algorithms that can be pipelined, or for network acceleration (in-line processing).

Why is FPGA suited for cryptography / security applications? For example AES, SHA... what features of those workloads makes then adequate for FPGA?

  • $\begingroup$ Half joking: FPGA is adequate when full-custom is desirable, but one can't afford the NRE and TTM; use a CPU, clever design and coding when even an FPGA can't be afforded. Also: modern x64 CPUs, and increasingly many others, have built-in support for AES, SHA-1, and SHA-256; such CPU will often exceed FPGA performance, almost always so if the bulk of the data flow is from/to that CPU for some reason. $\endgroup$
    – fgrieu
    Aug 26, 2016 at 17:28
  • 1
    $\begingroup$ @fgrieu As an answer to your "for some reason", we are basically bus constrained. degnan68k.blogspot.com/2015/04/… If you have a dataflow application, the FPGA wins. If you have data you can cache, the CPU wins. $\endgroup$
    – b degnan
    Aug 26, 2016 at 18:27

1 Answer 1


The answer is simple. When you have a job to be done you choose toolkit which would accomplish it in a fastest possible way.CPUs are usually multi-tasked they would be running your OS beside running your cryptographic toolkit. Also, colloquially speaking, FPGA circuits can be designed for partcilar sort of computaion in hardware reaching a far higher efficiency in terms of energy utilization and performace.

So it is not that FPGAs have some special features that CPUs lack. Its just a matter of specialization in circuits construction for a specific task. ex. SHA.


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.