09.11.2017
Efficient Implementation of Lattice-based Cryptography for Embedded Devices
Tobias Oder Ruhr-University Bochum
Workshop on Cryptography for the Internet of Things and Cloud 2017
Cryptography for Embedded Devices Tobias Oder Ruhr-University - - PowerPoint PPT Presentation
Efficient Implementation of Lattice-based Cryptography for Embedded Devices Tobias Oder Ruhr-University Bochum Workshop on Cryptography for the 09.11.2017 Internet of Things and Cloud 2017 Lattice-based Cryptography Set of vectors in n
09.11.2017
Tobias Oder Ruhr-University Bochum
Workshop on Cryptography for the Internet of Things and Cloud 2017
2 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
3 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
– Encryption – Digital signatures – Key exchange – Advanced constructions (IBE, FHE,…)
4 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Given A and b = As Task: Find s ➢ Easy to solve
5 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Given A and b = As Task: Find s ➢ Easy to solve Given A and b = As + e Task: Find s ➢ Hard problem
6 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Standard or random lattices
7 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Standard or random lattices
Ring or ideal lattices
But less trust in security due to structure!
8 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Idea: Find a trade-off between the advantages of both classes Main operation: Matrix-vector multiplication
Efficiency Security
9 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Non-exhaustive list
10 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Non-exhaustive list
11 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Non-exhaustive list
12 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
– Throughput/latency – Code size/area – Power/energy
13 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
– Throughput/latency – Code size/area – Power/energy
cryptographers required
– Parameter selection and design decisions can make schemes more efficient but also weaker
14 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
– Throughput/latency – Code size/area – Power/energy
cryptographers required
– Parameter selection and design decisions can make schemes more efficient but also weaker
– Timing, Cache, Simple Power Analysis – Differential Power Analysis, EM
15 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
module lattice-based cryptography
– Polynomial multiplication in O(n log n) instead of O(n²)
16 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
module lattice-based cryptography
– Polynomial multiplication in O(n log n) instead of O(n²)
– Stored in tables – Computed on-the-fly
17 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
module lattice-based cryptography
– Polynomial multiplication in O(n log n) instead of O(n²)
– Stored in tables – Computed on-the-fly
– Gentleman-Sande – Cooley-Tukey
18 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
19 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
20 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Rejection Sampling Bernoulli Sampling Knuth-Yao Sampling Cumulative Distribution Table (CDT) Sampling
21 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
plaintext attackers (CPA)
attackers (CCA)
– Attacker has access to a decryption oracle
– Tweak by Targhi and Unruh for post-quantum security – Expensive re-encryption in decryption
22 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Components to be masked in CCA2-secure Ring-LWE
See our implementation: ia.cr/2016/1109 together with Tobias Schneider, Thomas Pöppelmann, and Tim Güneysu
23 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
environments)
identifier IDX (e.g., given name, MAC, e-mail address, etc.)
Enc(PKM, IDB, msg) Master Authority PKM, SKM
Trusted Third Party (TTP)
PKM, SKA PKM, SKB Alice Bob
IDA IDB
24 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
[DPL14] Efficient Identity-Based Encryption over NTRU Lattices, Léo Ducas, Thomas Prest, Vadim Lyubashevsky, ASIACRYPT 2014
25 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
– Enc/Dec: 6/2 ms
– Enc/Dec: 80/54 µs
[DPL14] Efficient Identity-Based Encryption over NTRU Lattices, Léo Ducas, Thomas Prest, and Vadim Lyubashevsky, ASIACRYPT 2014
26 Implementation of Lattice Crypto| Tobias Oder | Ruhr-University Bochum | 09.11.2017
Lattice-based cryptography is practical on embedded devices! Future Work