DesignWare Public Key Accelerators


Public key cryptography requires complex mathematical operations on very large numbers (from 160- to 521 bits for ECC operations and from 1024 to 4096 bits or more for RSA operations). The majority of CPUs are limited to operations on 32- and 64-bit values and require a significant amount of computational resources when implementing public key infrastructure related algorithms.

Synopsys’ DesignWare Public Key Accelerator (PKA) executes the computationally intensive elements of the mathematics required for RSA operations as well as the algorithms used in prime field elliptic curve cryptography (ECC). These cores integrate seamlessly with the DesignWare Cryptography Software Library, enabling designers to accelerate the asymmetric cryptography required in public key algorithms to reach performance and energy efficiency levels that are not achievable in a software-only solutions.

The traditional RSA, Digital Signature Algorithm (DSA) and Diffie-Hellman (DH) asymmetric algorithms require the calculation of complex modular exponentiation operations to encrypt, decrypt, sign and verify data for public key negotiations or digital signature schemes. Similarly, ECC requires a number of complex mathematical operations, such as point multiplications, in support of public key negotiations and digital signature schemes.

The DesignWare Public Key Accelerator is designed to significantly accelerate these cumbersome operations. The highly configurable engine supports a broad range of mathematical operations, size and performance options. These configuration options enable designers to select a wide range of capabilities suitable for applications ranging from base stations in WiMAX and 3GPP Long Term Evolution (LTE) designs, to National Security Agency (NSA) Suite B and security blades in network edge routers.

DesignWare Public Key Accelerator


Downloads and Documentation
  • Dramatic acceleration of Public Key Exchange operations
    • Including key generation
    • Particularly significant for private key functions
  • Substantial power reduction relative to software-based implementations
  • Choice of several performance grades, to enable performance vs. silicon area trade-offs
  • Advanced DPA and DTA resistance features minimize exposure to sophisticated side-channel attacks, useful for payment card, government and military applications
  • ROM-based firmware eliminates attacks on firmware image, enables secure boot
  • Offloads the computationally intensive parts of public key cryptography
  • Support for ARM® AMBA® AHB™/AXI™ and synchronous RAM slave interfaces
  • Integer operations (512-, 768-, 1024-, 1536-, 2048-, 3072-, and 4096-bit)
    • Modular exponentiation, division, multiplication, inversion, addition, and subtraction.
  • ECC-GF(p) operations ( 160, 192, 224, 256, 384, 512 and 521-bit)
    • Point multiplication, addition, doubling, and verification
  • Support for elliptic curves Curve25519 and Ed25519 (also referred to as Twisted Edwards curves)
  • Support for AMBA/AHB, AMBA/AXI and synchronous RAM slave interfaces
  • DPA hardening
  • Programmable DTA hardening
  • Highly configurable at build time
  • Configurable firmware memory type
    • RAM only
    • ROM only
    • RAM/ROM mix
  • Optional: DesignWare Cryptography Software Library for RSA, Diffe-Hellman, DSA and prime field ECC operations such as ECDSA and ECDH
  • Optional: DPA/TA side channel countermeasures
128-bit Public Key AcceleratorSTARs Subscribe
32-bit Public Key AcceleratorSTARs Subscribe
64-bit Public Key AcceleratorSTARs Subscribe

Description: 128-bit Public Key Accelerator
Name: dwc_eccrsa_128bit_alu_pka
Version: 2.10a
Product Type: DesignWare Cores
Download: pka_ecc-rsa
Product Code: B233-0
Description: 32-bit Public Key Accelerator
Name: dwc_eccrsa_32bit_alu_pka
Version: 2.10a
Product Type: DesignWare Cores
Download: pka_ecc-rsa
Product Code: B231-0
Description: 64-bit Public Key Accelerator
Name: dwc_eccrsa_64bit_alu_pka
Version: 2.10a
Product Type: DesignWare Cores
Download: pka_ecc-rsa
Product Code: B832-0