home products company partners clients news careers contact us
rsa diffie hellman modular exponentiation

RSA and Modular Exponentiation cores

Overview

Modular Exponentiation based on long number arithmetic is the foundation for a number of public key encryption and key exchange mechanisms.

The most well known of these is probably RSA. This algorithm was first described in 1977 by Ron Rivest, Adi Shamir and Len Adleman at MIT, its name being taken from the three inventor's initials. RSA is suitable for both signing as well as encryption, and is still very widely used in electronic commerce protocols; it is considered to be secure given sufficiently long keys.

Another well known application for Modular Exponentiation is Diffie-Hellman key exchange. This scheme was first published by Whitfield Diffie and Martin Hellman in 1976, and is a cryptographic protocol which allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communications channel. This shared key can then be used to encrypt higher speed communications using a more conventional symmetric key cipher like AES.

Both of these schemes, plus others, use long number modular arithmetic as their basis. Due to the extremely large operand lengths (typically 1024- or 2048-bits), this kind of arithmetic processing is very slow when implemented in a standard processor, so it is perfect for offloading into dedicated hardware.

Helion RSA, Diffie-Hellman and
Modular Exponentiation Solutions

Helion offer a range of RSA, Diffie-Hellman and Modular Exponentiation solutions, covering a broad spread of speed and area requirements. They have been fully proven in production ASIC and FPGA silicon by numerous customers, and are easy to use and highly efficient.

Existing offerings from other vendors concentrate on being the biggest and fastest solutions around, but we take a more considered approach, and offer not only big and fast solutions, but also extremely compact solutions which are ideal when your target throughput is lower. Our standard cores (STDnnn) offer a wide range of performance levels at the highest clock rates, trading area for performance in power-of-two steps, whilst our TINY32 core is optimised for lowest logic area with a lower clock rate.

The FPGA cores make optimal use of each FPGA familiy's RAM resources, whether it is distributed or Block RAM. Each core version is available supporting a maximum operand length ranging from 2K to 8K bits, with certain sweet spots for each family. The minimum supported operand length depends on the core version - the larger cores cannot process smaller operands. There is considerable flexibility to choose a core which is just right for your needs.

The cores operate in a co-processor style, with operands and results exchanged over a shared memory interface. The user simply writes the operands, instructs the core, and some time later the status indication shows that the results can be read out. Normally, for the quickest calculation, the execution time is slightly variable according to the exponent value. For additional resistance against timing attacks, a constant time option is available which uses slower, fully deterministic, processing.

Measured Area and Performance

STD256 version - for medium rate applications

TARGET PERFORMANCE1 AREA2 RAM2
ASIC (0.13um CMOS) >45 ops/sec <40K gates 12Kbits RAM
Altera Cyclone V (C6) 34.1 ops/sec 2015 ALMs 1 M10K
Altera Cyclone 10 GX (E5) 53.3 ops/sec 2119 ALMs 1 M10K
Altera Arria II GX (C4) 38.7 ops/sec 2121 ALMs 1 M9K
Altera Arria II GZ (C3) 47.1 ops/sec 2163 ALMs 1 M9K
Altera Arria V GX (C4) 37.8 ops/sec 2018 ALMs 1 M10K
Altera Arria V GZ (C3) 56.4 ops/sec 2102 ALMs 1 M10K
Altera Arria 10 (E1S) 55.4 ops/sec 2147 ALMs 1 M20K
Altera Stratix IV (C2) 50.3 ops/sec 2095 ALMs 1 M9K
Altera Stratix V (C1) 62.3 ops/sec 2129 ALMs 1 M20K
Lattice ECP3 (-8) 25.1 ops/sec 2066 slices 1 EBR
Xilinx Spartan-3A (-5) 20.6 ops/sec 1814 slices 1 RAMB16
Xilinx Spartan-6 (-3) 31.1 ops/sec 480 slices 1 RAMB8
Xilinx Artix-7 (-3) 43.4 ops/sec 484 slices 1 RAMB18
Xilinx Virtex-6 (-3) 55.2 ops/sec 474 slices 1 RAMB18
Xilinx Kintex-7 (-3) 61.1 ops/sec 485 slices 1 RAMB18
Xilinx Virtex-7 (-3) 61.1 ops/sec 483 slices 1 RAMB18
Xilinx UltraSCALE (-2) 66.7 ops/sec 393 CLBs 1 RAMB18
Xilinx UltraSCALE+ (-2) 86.1 ops/sec 403 CLBs 1 RAMB18


TINY32 version - for lower rate applications, eg. supporting a single secure endpoint

TARGET PERFORMANCE1 AREA2 RAM2
ASIC (0.13um CMOS) >5 ops/sec <8K gates 10Kbits RAM
Altera Cyclone IV (C6) 1.8 ops/sec 721 LEs 4 M9Ks
Altera Cyclone V (C6) 2.2 ops/sec 318 ALMs 4 M10Ks
Altera Cyclone 10 GX (E5) 3.3 ops/sec 278 ALMs 4 M10Ks
Altera Arria II GX (C4) 3.3 ops/sec 352 ALMs 4 M9Ks
Altera Arria II GZ (C3) 3.3 ops/sec 355 ALMs 4 M9Ks
Altera Arria V GX (C4) 2.5 ops/sec 309 ALMs 4 M10Ks
Altera Arria V GZ (C3) 3.5 ops/sec 299 ALMs 4 M20Ks
Altera Arria 10 (E1S) 3.7 ops/sec 299 ALMs 4 M20Ks
Altera Stratix IV (C2) 3.7 ops/sec 344 ALMs 4 M9Ks
Altera Stratix V (C1) 4.5 ops/sec 322 ALMs 4 M20Ks
Lattice ECP3 (-8) 2.3 ops/sec 316 slices 4 EBRs
Xilinx Spartan-3A (-5) 2.0 ops/sec 309 slices 3 RAMB16s
Xilinx Spartan-6 (-3) 3.2 ops/sec 142 slices 1 RAMB16
Xilinx Artix-7 (-3) 3.2 ops/sec 122 slices 2 RAMB36s
Xilinx Virtex-6 (-3) 4.2 ops/sec 117 slices 2 RAMB36s
Xilinx Kintex-7 (-3) 4.3 ops/sec 119 slices 2 RAMB36s
Xilinx Virtex-7 (-3) 4.3 ops/sec 113 slices 2 RAMB36s
Xilinx UltraSCALE (-2) 4.9 ops/sec 96 CLBs 2 RAMB36s
Xilinx UltraSCALE+ (-2) 7.1 ops/sec 85 CLBs 2 RAMB36s

1. Based on 1024-bit RSA signatures (|E|=1024, |M|=1024). Note that this rate will be much higher for shorter exponent values eg. for RSA verifications or Diffie-Hellman applications.
2. These figures are for 2048 bits maximum operand length. For longer operands (up to 8192 bits are supported), logic area and RAM increases in technology-specific increments.

Product Briefs

For full details of all the Helion ModExp cores, please download the appropriate Product Brief in PDF format below.

ModExp Cores - ASIC
ModExp Cores - FPGA

Contact

For more detailed information on this or any of our other products and services, please feel free to email us at helioncores@heliontech.com and we will be pleased to discuss how we can assist with your individual requirements.

Product Brief Quicklinks
ModExp Cores - ASIC
ModExp Cores - FPGA

Copyright © Helion Technology Licensing Ltd, 1998-2024. All rights reserved. Privacy and Cookies
Web Site Developed by Goldstag Limited