I have a FPGA and am curious what cryptographic applications I can use with it. I'm just a hobbyist / security researcher and not a professional cryptographer.

Since I'm creating my own curriculum, what cryptographic goals should I have with regards to the FPGA device? (note I'm not looking for FPGA programming advice, that's a goal all in of itself)

I'm also interested in learning what won't work with a FPGA... in other words, what algorithms are or aren't suited for a FPGA?

  • $\begingroup$ You could take a look at the scrypt KDF, which is specifically designed to defeat FPGA brute-forcing as it requires large amounts of on-chip memory for each KDF invocation. $\endgroup$
    – Thomas
    Nov 27, 2012 at 1:33

1 Answer 1


As for goals, there are typically two that you would look to when implementing something on an FPGA: first, minimizing latency; second, maximizing throughput.

To minimize latency, you would use the FPGA to perform a computation much faster than you could do on a CPU. An example here would be the DES cipher. DES is well suited for hardware and you can get significant reductions in latency using an FPGA.

The second goal to potentially look at is maximizing throughput. The idea here is that you could potentially use hardware to encrypt 100s of streams in parallel.

As to which algorithms are not suited for FPGA, Thomas pointed out scrypt. I'm guessing other KDFs are similar in that they try to make it extremely hard for an attacker to gain any advantage by using an FPGA. Of related interest might be this question on bcrypt using GPUs.


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.