Implementing the NewHope-Simple Key Exchange on Low-Cost FPGAs Tobias Oder and Tim Güneysu Ruhr-University Bochum Latincrypt 2017 20.09.2017
Public-Key Crypto and Long-Term Security NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 2
Lattice-Based Cryptography • Five main branches of post-quantum crypto: – Code-based – Lattice-based – Hash-based – Multivariate-quadratic – Supersingular elliptic curve isogenies NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 3
Standard Lattices vs Ideal Lattices Ring or ideal lattices • smaller parameters • faster implementations • smaller implementations But less trust in security due to structure! Ideal: polynomial multiplication Standard: matrix-vector multiplication Module lattices somewhere inbetween NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 4
Learning with Errors Given A and b = As Task: Find s ➢ Easy to solve NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 5
Learning with Errors Given A and b = As Task: Find s ➢ Easy to solve Given A and b = As + e Task: Find s ➢ Hard problem NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 6
A New Hope - Simple Alkim, E., Ducas, L., Pöppelmann, T., Schwabe, P.: NewHope without reconciliation (2016), http://cryptojedi.org/papers/#newhopesimple NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 7
A New Hope NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 8
Challenges for HW Implementation Implementation for Xilinx Aritx-7 FPGA • NTT for polynomial multiplication in O( n log n ) • Binomial sampler to generate error polynomials • SHAKE-128 for Parse • Optimize for low-area footage, but maintain a decent performance NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 9
Our Design - Server NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 10
Our Design - Client NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 11
Sever-side Operations I NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 12
Client-side Operations NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 13
Sever-side Operations II NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 14
Comparison We compare our results with • Thomas Pöppelmann and Tim Güneysu : Towards practical lattice- based public-key encryption, SAC 2013 • Sujoy Sinha Roy and Frederik Vercauteren and Nele Mentens and Donald Donglong Chen and Ingrid Verbauwhede : Compact Ring- LWE based cryptoprocessor, CHES 2014 • Po-Chun Kuo and Wen-Ding Li and Yu-Wei Chen and Yuan-Che Hsu and Bo-Yuan Peng and Chen-Mou Cheng and Bo-Yin Yang: Post-Quantum Key Exchange on FPGAs, ePrint, 2017 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 15
Resource consumption Implementation Scheme LUTs FFs BRAMs DSPs Roy et al. R-LWE Encrypt 1,536 953 3 1 Pöppelmann et al. R-LWE Encrypt 5,595 4,760 14 1 Kuo et al. NewHope 12,340 6,098 14 29 Our (server) NewHope Simple 5,142 4,452 4 2 Our (client) NewHope Simple 4,498 4,635 4 2 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 16
Resource consumption Implementation Scheme LUTs FFs BRAMs DSPs Roy et al. R-LWE Encrypt 1,536 953 3 1 Pöppelmann et al. R-LWE Encrypt 5,595 4,760 14 1 Kuo et al. NewHope 12,340 6,098 14 29 Our (server) NewHope Simple 5,142 4,452 4 2 Our (client) NewHope Simple 4,498 4,635 4 2 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 17
Resource consumption Implementation Scheme LUTs FFs BRAMs DSPs Roy et al. R-LWE Encrypt 1,536 953 3 1 Pöppelmann et al. R-LWE Encrypt 5,595 4,760 14 1 Kuo et al. NewHope 12,340 6,098 14 29 Our (server) NewHope Simple 5,142 4,452 4 2 Our (client) NewHope Simple 4,498 4,635 4 2 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 18
Resource consumption Implementation Scheme LUTs FFs BRAMs DSPs Roy et al. R-LWE Encrypt 1,536 953 3 1 Pöppelmann et al. R-LWE Encrypt 5,595 4,760 14 1 Kuo et al. NewHope 12,340 6,098 14 29 Our (server) NewHope Simple 5,142 4,452 4 2 Our (client) NewHope Simple 4,498 4,635 4 2 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 19
Performance results Implementation Scheme Frequency Cycles µs/Operation Roy et al. (Enc) R-LWE Encrypt 278 MHz 13,300 47 Roy et al. (Dec) R-LWE Encrypt 278 MHz 5,800 21 Pöppelmann et al. (Enc) R-LWE Encrypt 251 MHz 13,769 55 Pöppelmann et al. (Dec) R-LWE Encrypt 251 MHz 8,883 35 Kuo et al. (server) NewHope 114 MHz 11,400 100 Kuo et al. (client) NewHope 114 MHz 11,300 99 Our (server) NewHope Simple 125 MHz 171,124 1,369 Our (client) NewHope Simple 117 MHz 179,292 1,532 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 20
Performance results Implementation Scheme Frequency Cycles µs/Operation Roy et al. (Enc) R-LWE Encrypt 278 MHz 13,300 47 Roy et al. (Dec) R-LWE Encrypt 278 MHz 5,800 21 Pöppelmann et al. (Enc) R-LWE Encrypt 251 MHz 13,769 55 Pöppelmann et al. (Dec) R-LWE Encrypt 251 MHz 8,883 35 Kuo et al. (server) NewHope 114 MHz 11,400 100 Kuo et al. (client) NewHope 114 MHz 11,300 99 Our (server) NewHope Simple 125 MHz 171,124 1,369 Our (client) NewHope Simple 117 MHz 179,292 1,532 NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 21
Comparison What makes our numbers worse than those of R-LWE implementations? • Parameter sizes • More components • Key generation • On-the-fly generation of a • Security level NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 22
Conclusions • NewHope-Simple is well suited for implementations on constrained devices – Low area footprint – Practical performance • VHDL source code will be made available for verification soon: – http://www.seceng.rub.de/ • Our implementation is constant time – DPA-resistant implementation is future work NewHope on FPGA | Tobias Oder and Tim Güneysu | Ruhr-University Bochum | 20.09.2017 23
Thank You For Your Attention! Any Questions?
Recommend
More recommend