Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Compact and Flexible FPGA Implementation of Ed25519 and X25519

Published: 02 April 2019 Publication History
  • Get Citation Alerts
  • Abstract

    This article describes a field-programmable gate array (FPGA) cryptographic architecture, which combines the elliptic curve--based Ed25519 digital signature algorithm and the X25519 key establishment scheme in a single module. Cryptographically, these are high-security elliptic curve cryptography algorithms with short key sizes and impressive execution times in software. Our goal is to provide a lightweight FPGA module that enables them on resource-constrained devices, specifically for Internet of Things (IoT) applications. In addition, we aim at extensibility with customisable countermeasures against timing and differential power analysis side-channel attacks and fault-injection attacks. For the former, we offer a choice between time-optimised versus constant-time execution, with or without Z-coordinate randomisation and base-point blinding; and for the latter, we offer enabling or disabling default-case statements in the Finite State Machine (FSM) descriptions. To obtain compactness and at the same time fast execution times, we make maximum use of the Digital Signal Processing (DSP) slices on the FPGA. We designed a single arithmetic unit that is flexible to support operations with two moduli and non-modulus arithmetic. In addition, our design benefits in-place memory management and the local storage of inputs into DSP slices’ pipeline registers and takes advantage of distributed memory. These eliminate a memory access bottleneck. The flexibility is offered by a micro-code supported instruction-set architecture. Our design targets 7-Series Xilinx FPGAs and is prototyped on a Zynq System-on-Chip (SoC). The base design combining Ed25519 and X25519 in a single module, and its implementation requires only around 11.1K Lookup Tables (LUTs), 2.6K registers, and 16 DSP slices. Also, it achieves performance of 1.6ms for a signature generation and 3.6ms for a signature verification for a 1024-bit message with an 82MHz clock. Moreover, the design can be optimised only for X25519, which gives the most compact FPGA implementation compared to previously published X25519 implementations.

    References

    [1]
    2017. Estimated Value of the North American Smart Home Market From 2012 to 2021 (in Billion U.S. Dollars). Retrieved from https://www.statista.com/statistics/296113/north-america-smart-home-market-revenue/.
    [2]
    Daniel J. Bernstein. 2006. Curve25519: New Diffie-Hellman speed records. In International Workshop on Public Key Cryptography. Springer, 207--228.
    [3]
    Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, and Bo-Yin Yang. 2012. High-speed high-security signatures. J. Cryptographic Eng. 2, 2 (2012), 77--89.
    [4]
    Daniel J. Bernstein, Bernard Van Gastel, Wesley Janssen, Tanja Lange, Peter Schwabe, and Sjaak Smetsers. 2014. TweetNaCl: A crypto library in 100 tweets. In International Conference on Cryptology and Information Security in Latin America. Springer, 64--83.
    [5]
    Billy Bob Brumley and Nicola Tuveri. 2011. Remote timing attacks are still practical. In Computer Security—ESORICS 2011, Vijay Atluri and Claudia Diaz (Eds.). Springer, Berlin, Germany, 355--371.
    [6]
    Jean-Sébastien Coron. 1999. Resistance against differential power analysis for elliptic curve cryptosystems. In Cryptographic Hardware and Embedded Systems. Springer, 725--725.
    [7]
    Darrel Hankerson, Alfred J. Menezes, and Scott Vanstone. 2005. Guide to elliptic curve cryptography. Computing Reviews 46, 1 (2005), 13.
    [8]
    Hüseyin Hisil, Kenneth Koon-Ho Wong, Gary Carter, and Edward Dawson. 2008. Twisted Edwards curves revisited. In Asiacrypt, Vol. 5350. Springer, 326--343.
    [9]
    Mei-Chen Hsueh, Timothy K. Tsai, and Ravishankar K. Iyer. 1997. Fault injection techniques and tools. Comput. 30, 4 (1997), 75--82.
    [10]
    Simon Josefsson and Ilari Liusvaara. 2017. Edwards-curve Digital Signature Algorithm (eddsa). Technical Report RFC 8032.
    [11]
    Paul Kocher, Joshua Jaffe, and Benjamin Jun. 1998. Introduction to differential power analysis and related attacks.
    [12]
    Philipp Koppermann, Fabrizio De Santis, Johann Heyszl, and Georg Sigl. 2016. X25519 hardware implementation for low-latency applications. In 2016 Euromicro Conference on Digital System Design (DSD), 2016 Euromicro Conference on. IEEE, 99--106.
    [13]
    Philipp Koppermann, Fabrizio De Santis, Johann Heyszl, and Georg Sigl. 2017. Low-latency X25519 hardware implementation: Breaking the 100 microseconds barrier. Microprocess. Microsyst. 52 (2017), 491--497.
    [14]
    Peter L. Montgomery. 1987. Speeding the Pollard and elliptic curve methods of factorization. Math. Comput. 48, 177 (1987), 243--264.
    [15]
    Joost Renes and Benjamin Smith. 2017. qDSA: Small and secure digital signatures with curve-based Diffie-Hellman key pairs. In International Conference on the Theory and Application of Cryptology and Information Security. Springer, 273--302.
    [16]
    Yolan Romailler and Sylvain Pelissier. 2017. Practical fault attack against the Ed25519 and EdDSA signature schemes. In 2017 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC). IEEE, 17--24.
    [17]
    Vladimir Rozic, Bohan Yang, Wim Dehaene, and Ingrid Verbauwhede. 2015. Highly efficient entropy extraction for true random number generators on FPGAs. In 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). IEEE, 1--6.
    [18]
    Pascal Sasdrich and Tim Güneysu. 2014. Efficient elliptic-curve cryptography using curve25519 on reconfigurable devices. ARC 8405 (2014), 25--36.
    [19]
    Pascal Sasdrich and Tim Güneysu. 2015. Implementing curve25519 for side-channel--protected elliptic curve cryptography. ACM Trans. Reconfigurable Technol. Syst. (TRETS) 9, 1 (2015), 3.
    [20]
    Furkan Turan, Ruan De Clercq, Pieter Maene, Oscar Reparaz, and Ingrid Verbauwhede. 2016. Hardware acceleration of a software-based VPN. In 26th International Conference on Field Programmable Logic and Applications (FPL). IEEE, 1--9.
    [21]
    Xilinx. 2012. Vivado Design Suite User Guide: Synthesis. Xilinx. v2012.2.
    [22]
    Xilinx. 2014. 7 Series DSP48E1 Slice. Xilinx. v1.8.
    [23]
    Xilinx. 2015. Zynq-7000 All Programmable SoC Technical Reference Manual. Xilinx v1.10.

    Cited By

    View all
    • (2024)REALISE-IoT: RISC-V-Based Efficient and Lightweight Public-Key System for IoT ApplicationsIEEE Internet of Things Journal10.1109/JIOT.2023.329613511:2(3044-3055)Online publication date: 15-Jan-2024
    • (2023)Topgun: An ECC Accelerator for Private Set IntersectionACM Transactions on Reconfigurable Technology and Systems10.1145/360311416:4(1-30)Online publication date: 13-Jul-2023
    • (2023)E-Booster: A Field-Programmable Gate Array-Based Accelerator for Secure Tree Boosting Using Additively Homomorphic EncryptionIEEE Micro10.1109/MM.2023.329384543:5(88-96)Online publication date: 1-Sep-2023
    • Show More Cited By

    Index Terms

    1. Compact and Flexible FPGA Implementation of Ed25519 and X25519

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 18, Issue 3
        Special Issue on Cryptographic Engineering for IoT: Security Foundations, Lightweight Solutions, and Attacks and Regular Papers
        May 2019
        214 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/3323876
        Issue’s Table of Contents
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Journal Family

        Publication History

        Published: 02 April 2019
        Accepted: 01 January 2019
        Revised: 01 October 2018
        Received: 01 February 2018
        Published in TECS Volume 18, Issue 3

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. Curve25519
        2. ECC
        3. ECDH
        4. Ed25519
        5. EdDSA
        6. FPGA
        7. X25519

        Qualifiers

        • Research-article
        • Research
        • Refereed

        Funding Sources

        • Transregional Collaborative Research Centre “Invasive Computing”
        • German Research Foundation (DFG)
        • KU Leuven Research Council
        • ERC

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)66
        • Downloads (Last 6 weeks)4
        Reflects downloads up to 11 Aug 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2024)REALISE-IoT: RISC-V-Based Efficient and Lightweight Public-Key System for IoT ApplicationsIEEE Internet of Things Journal10.1109/JIOT.2023.329613511:2(3044-3055)Online publication date: 15-Jan-2024
        • (2023)Topgun: An ECC Accelerator for Private Set IntersectionACM Transactions on Reconfigurable Technology and Systems10.1145/360311416:4(1-30)Online publication date: 13-Jul-2023
        • (2023)E-Booster: A Field-Programmable Gate Array-Based Accelerator for Secure Tree Boosting Using Additively Homomorphic EncryptionIEEE Micro10.1109/MM.2023.329384543:5(88-96)Online publication date: 1-Sep-2023
        • (2023)Design and Evaluation of multipliers for hardware accelerated on-chip EdDSA2023 24th International Symposium on Quality Electronic Design (ISQED)10.1109/ISQED57927.2023.10129381(1-9)Online publication date: 5-Apr-2023
        • (2023)Multi-Functional Resource-Constrained Elliptic Curve Cryptographic ProcessorIEEE Access10.1109/ACCESS.2023.323640611(4879-4894)Online publication date: 2023
        • (2023)Uniform instruction set extensions for multiplications in contemporary and post-quantum cryptographyJournal of Cryptographic Engineering10.1007/s13389-023-00332-214:1(1-18)Online publication date: 24-Aug-2023
        • (2022)Low-Cost Area-Efficient FPGA-Based Multi-Functional ECDSA/EdDSACryptography10.3390/cryptography60200256:2(25)Online publication date: 10-May-2022
        • (2022)Throughput/Area Optimized Architecture for Elliptic-Curve Diffie-Hellman ProtocolApplied Sciences10.3390/app1208409112:8(4091)Online publication date: 18-Apr-2022
        • (2022)EC-ECC: Accelerating Elliptic Curve Cryptography for Edge Computing on Embedded GPU TX2ACM Transactions on Embedded Computing Systems10.1145/349273421:2(1-25)Online publication date: 31-Mar-2022
        • (2022)A High-Performance Hardware Architecture for ECC Point Multiplication over Curve255192022 IEEE 30th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)10.1109/FCCM53951.2022.9786192(1-9)Online publication date: 15-May-2022
        • Show More Cited By

        View Options

        Get Access

        Login options

        Full Access

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format.

        HTML Format

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media