Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols

<jats:p>Public key cryptography protocols, such as RSA and elliptic curve cryptography, will be rendered insecure by Shor’s algorithm when large-scale quantum computers are built. Cryptographers are working on quantum-resistant algorithms, and lattice-based cryptography has emerged as a prime...

Full description

Bibliographic Details
Main Authors: Banerjee, Utsav, Ukyab, Tenzin S, Chandrakasan, Anantha P
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Format: Article
Language:English
Published: Universitatsbibliothek der Ruhr-Universitat Bochum 2022
Online Access:https://hdl.handle.net/1721.1/142901
_version_ 1826206809377996800
author Banerjee, Utsav
Ukyab, Tenzin S
Chandrakasan, Anantha P
author2 Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
author_facet Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Banerjee, Utsav
Ukyab, Tenzin S
Chandrakasan, Anantha P
author_sort Banerjee, Utsav
collection MIT
description <jats:p>Public key cryptography protocols, such as RSA and elliptic curve cryptography, will be rendered insecure by Shor’s algorithm when large-scale quantum computers are built. Cryptographers are working on quantum-resistant algorithms, and lattice-based cryptography has emerged as a prime candidate. However, high computational complexity of these algorithms makes it challenging to implement lattice-based protocols on low-power embedded devices. To address this challenge, we present Sapphire – a lattice cryptography processor with configurable parameters. Efficient sampling, with a SHA-3-based PRNG, provides two orders of magnitude energy savings; a single-port RAM-based number theoretic transform memory architecture is proposed, which provides 124k-gate area savings; while a low-power modular arithmetic unit accelerates polynomial computations. Our test chip was fabricated in TSMC 40nm low-power CMOS process, with the Sapphire cryptographic core occupying 0.28 mm2 area consisting of 106k logic gates and 40.25 KB SRAM. Sapphire can be programmed with custom instructions for polynomial arithmetic and sampling, and it is coupled with a low-power RISC-V micro-processor to demonstrate NIST Round 2 lattice-based CCA-secure key encapsulation and signature protocols Frodo, NewHope, qTESLA, CRYSTALS-Kyber and CRYSTALS-Dilithium, achieving up to an order of magnitude improvement in performance and energy-efficiency compared to state-of-the-art hardware implementations. All key building blocks of Sapphire are constant-time and secure against timing and simple power analysis side-channel attacks. We also discuss how masking-based DPA countermeasures can be implemented on the Sapphire core without any changes to the hardware.</jats:p>
first_indexed 2024-09-23T13:38:35Z
format Article
id mit-1721.1/142901
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T13:38:35Z
publishDate 2022
publisher Universitatsbibliothek der Ruhr-Universitat Bochum
record_format dspace
spelling mit-1721.1/1429012023-07-21T20:22:28Z Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols Banerjee, Utsav Ukyab, Tenzin S Chandrakasan, Anantha P Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science <jats:p>Public key cryptography protocols, such as RSA and elliptic curve cryptography, will be rendered insecure by Shor’s algorithm when large-scale quantum computers are built. Cryptographers are working on quantum-resistant algorithms, and lattice-based cryptography has emerged as a prime candidate. However, high computational complexity of these algorithms makes it challenging to implement lattice-based protocols on low-power embedded devices. To address this challenge, we present Sapphire – a lattice cryptography processor with configurable parameters. Efficient sampling, with a SHA-3-based PRNG, provides two orders of magnitude energy savings; a single-port RAM-based number theoretic transform memory architecture is proposed, which provides 124k-gate area savings; while a low-power modular arithmetic unit accelerates polynomial computations. Our test chip was fabricated in TSMC 40nm low-power CMOS process, with the Sapphire cryptographic core occupying 0.28 mm2 area consisting of 106k logic gates and 40.25 KB SRAM. Sapphire can be programmed with custom instructions for polynomial arithmetic and sampling, and it is coupled with a low-power RISC-V micro-processor to demonstrate NIST Round 2 lattice-based CCA-secure key encapsulation and signature protocols Frodo, NewHope, qTESLA, CRYSTALS-Kyber and CRYSTALS-Dilithium, achieving up to an order of magnitude improvement in performance and energy-efficiency compared to state-of-the-art hardware implementations. All key building blocks of Sapphire are constant-time and secure against timing and simple power analysis side-channel attacks. We also discuss how masking-based DPA countermeasures can be implemented on the Sapphire core without any changes to the hardware.</jats:p> 2022-06-07T15:33:41Z 2022-06-07T15:33:41Z 2019 2022-06-07T15:25:09Z Article http://purl.org/eprint/type/JournalArticle https://hdl.handle.net/1721.1/142901 Banerjee, Utsav, Ukyab, Tenzin S and Chandrakasan, Anantha P. 2019. "Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols." IACR Transactions on Cryptographic Hardware and Embedded Systems. en 10.46586/TCHES.V2019.I4.17-61 IACR Transactions on Cryptographic Hardware and Embedded Systems Creative Commons Attribution 4.0 International License https://creativecommons.org/licenses/by/4.0 application/pdf Universitatsbibliothek der Ruhr-Universitat Bochum Universitatsbibliothek der Ruhr-Universitat Bochum
spellingShingle Banerjee, Utsav
Ukyab, Tenzin S
Chandrakasan, Anantha P
Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols
title Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols
title_full Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols
title_fullStr Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols
title_full_unstemmed Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols
title_short Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols
title_sort sapphire a configurable crypto processor for post quantum lattice based protocols
url https://hdl.handle.net/1721.1/142901
work_keys_str_mv AT banerjeeutsav sapphireaconfigurablecryptoprocessorforpostquantumlatticebasedprotocols
AT ukyabtenzins sapphireaconfigurablecryptoprocessorforpostquantumlatticebasedprotocols
AT chandrakasanananthap sapphireaconfigurablecryptoprocessorforpostquantumlatticebasedprotocols