FortiPKA-RISC-V

Secure, Swift and Versatile

Description

Modern asymmetric cryptography algorithms such as RSA or elliptic curve cryptography over prime fields require complex mathematical calculations of large numbers up to 4096 bits. FortiPKA-RISC-V is a public key accelerator that allows offloading all the computationally heavy operations from the main CPU, while offering excellent balance between small footprint and high performance.

One of the key features of FortiPKA-RISC-V is a unique computation technology that eliminates the necessity for data transformations to and from the Montgomery domain, which leads to superior performance compared to alternative solutions. The efficient resource usage is ensured by implementation of cryptographic algorithms in firmware that is executed on an internal miniature RISC-V core. The core instruction set is extended to support custom modular arithmetic for large integers. Hardware configuration options are available to balance area and performance for specific applications. Moreover, FortiPKA-RISC-V supports CPU interfacing through AMBA AXI4, APB, AHB or custom memory-like slave interface.

To ensure smooth integration of FortiPKA-RISC-V to a customer’s product, a software library which performs high-level operations, such as encryption, decryption, signing and verifying for a variety of cryptographic algorithms is provided. Supported algorithms include RSA, DH, DSA, ECDH, ECDHE, ECDSA, EdDSA, DH and SM2. Additionally, FortiPKA-RISC-V’s technology-agnostic design ensures compatibility across diverse semiconductor technologies.

FortiPKA-RISC-V includes all the necessary countermeasures against modern side-channel and fault injection attacks. The protection level is configurable, allowing to further improve security characteristics at the cost of resource usage or computation speed. To minimize the overhead of protections from physical attacks, countermeasures are employed in hardware, firmware and software when appropriate.

Deliverables
  • SystemVerilog source code or netlist
  • Testbench, input vectors and expected results
  • Sample timing constraints, synthesis and simulation scripts
  • Hardware Abstraction Layer (HAL) reference implementation
  • Integration, configuration and usage manuals
  • Firmware code
  • Software library
Tech Specs
  • Part Number

FIQPKA-RISC-V-IP

  • Short description

Public Key Accelerator

  • Provider

FortifyIQ, Inc.

  • Foundry, Node

Independent

  • FPGA

AMD Xilinx, Intel, Lattice

  • Maturity

  • Compliant standard

ANSI X9.31, ANSI X9.42, ANSI X9.62, ANSI X9.63, PKCS#1, IEEE Std. 1363-2000, AIS-31, FIPS 140-2, FIPS 186-3

  • Availability

Available

  • FPGA Technology

  • TSMC

Applications
  • Networks
  • Communications
  • Payment Systems
  • Authentication Devices
  • IoT Devices
  • Embedded Systems

Request This Core

Features

The performance/area metrics can vary depending on the specific configuration, interface, and chosen standard cell library.

  • Modular exponentiation operations with up to 4096-bit modulus
  • Prime field ECC operations with up to 571-bit modulus
  • Fastest implementation is 58 kGE and 68 Op/s for 2048-bit RSA, 431 Op/s for 1024-bit RSA, 150 Op/s for 384-bit scalar multiplication
  • Smallest implementation is 33 kGE and 67 Op/s for 1024-bit RSA, 24 Op/s for 384-bit scalar multiplication
  • Up to 350 MHz on the 45 nm process
  • Unique mathematical solution that eliminates the need for preprocessing
  • Software library with support for RSA, DH, DSA, ECDH, ECDHE, ECDSA, EdDSA, DH, SM2
  • CPU interface support for AMBA AXI4, APB, AHB and custom memory-like slave interface
  • RAM and ROM option for firmware storage
  • Strong protection against modern side-channel and timing attacks, and fault injection attacks, tunable security level
  • Technology agnostic
  • Native support for standard NIST curves, optional support for custom curves
  • Shared memories between host CPU and FortiPKA-RISC-V that enables memory reuse
  • High level of customization on software, firmware and hardware level
Benefits
  • Enhanced performance with no need for data preprocessing
  • Optimal balance between high performance and low area
  • Robust defense against side-channel and fault injection attacks, with customizable options to meet diverse cryptographic requirements
  • Hardware configuration options allowing to optimize FortiPKA-RISC-V for specific applications
  • Versatile CPU Interfaces: AMBA AXI4, APB, AHB, or a custom memory-like slave interface
  • Extensive Algorithm Support: RSA, DH, DSA, ECDH, ECDHE, ECDSA, EdDSA, DH, and SM2
  • Facilitation of memory reuse due to shared memory resources
  • Seamless integration into customer products, supported by a comprehensive set of deliverables and documentation
Number of cycles per operation
 

Bits

Fastest
(64, 2 mul)

Optimal
(32, 2 mul)

Smallest
(16, 1 mul)

Modular
multiplications

4096
4 309
16 805
132 422
2048
1 133
4 309
33 446

Modular
additions

4096
131
259
515
2048
67
131
259

EC point
additions

521
2 207
5 951
36 539
256
618
1 581
9 282

EC point
doubling

521
2 001
5 293
31 897
256
576
1 433
8 152

Modular
exponentiations

4096
10 345 240
37 186 042
283 136 955
2048
1 617 316
5 181 774
37 344 415
1024
315 179
812 521
5 201 122

Scalar
multiplications

521
2 469 613
6 195 165
37 411 457
384
908 377
2 337 101
14 326 683
256
371 773
850 693
4 576 683
Operations per second, 350 MHz
 

Bits

Fastest
(64, 2 mul)

Optimal
(32, 2 mul)

Smallest
(16, 1 mul)

Modular
multiplications

4096
81 225
20 827
2 643
2048
308 914
81 225
10 465

Modular
additions

4096
2 671 756
1 351 351
679 612
2048
5 223 881
2 671 756
1 351 351

EC point
additions

521
158 586
58 814
9 579
256
566 343
221 379
37 707

EC point
doubling

521
174 913
66 125
10 973
256
607 639
244 243
42 934

Modular
exponentiations

4096
34
9
1
2048
216
68
9
1024
1 110
431
67

Scalar
multiplications

521
142
56
9
384
385
150
24
256
941
411
76
Block Diagram