The standard RSA module is available as an APB peripheral, where it seamlessly integrates with EnSilica's cryptography library.
The peripheral can be configured for between 512 and 4096-bit maximum key size to keep the resource requirements as low as possible. It accelerates the most time consuming part of the RSA algorithm, notably the modular exponentiation required for both encryption and decryption using public and private keys.
- For a typical 1024-bit keysize the modular exponentiation can be performed 25 times faster than a pure software implementation. A 1024-bit message can be encrypted (public key of 65537) in 50,000 clock cycles and decrypted in 3,600,000 clock cycles. The peripheral can also be used with software support for CRT based decryption and for generating keys. Using CRT can reduce the cycle count by 1/4.
- The core is very small; when targeting TSMC90LP at 200MHz it comprises only 17k gates for the logic and an equivalent 32k gates including all memories.
- Easy integration into an AMBA based SoC
- Small size and high performance
- Software libraries