Nicholas Moellers

Nicholas Moellers

Lecture Description:

Cryptography is necessary whenever two parties want to communicate privately over a public medium. Cryptography is therefore as ubiquitous as the Internet; almost all Internet data is
encrypted whether it is a password or the results of a Google search. Modern public-key cryptography algorithms rely on the immense computational complexity of the integer factorization and discrete logarithm problems. One example of a modern public-key cryptography algorithm is SHA-3. However, this computation is not sufficiently complex to be secure from attacks by quantum computers. In 2016, the US National Institute for Standards and Technology (NIST) predicted that quantum computers could soon break public-key encryption. Without new encryption strategies, private information sent over the Internet would no longer be secure. NIST, having predicted the need for new cryptographic strategies, has commissioned a contest for “Post-Quantum Cryptography” (PQC). One of the three NIST Post-quantum signature finalists is “Rainbow.” A third party wanting to forge, tamper, or decrypt a message secured using Rainbow must solve systems of multivariable polynomial equations. These equations are too computationally complex even for quantum computers. There are three components to any signature scheme: key generation, signature generation, and signature verification. In this presentation, we show how we automatically optimized the HLS C code for the latter stage, which verifies whether the signature is correct for acceleration using an FPGA. In addition, we compare the FPGA performance and area optimization of the
automatically optimized solution optimized by hand. Finally, we will show you how to perform design space exploration to automatically create a range of possible solutions with different FPGA performance/area trade-offs.

Share by: