8.6.1.4 Asymmetric Crypto Engine
The Asymmetric/Public-key crypto Engine implements the following algorithms: RSA, DSA, DH, ECDH, ECDSA, EdDSA, J-PAKE and SRP. RSA, DSA and DH algorithms support up to 4096-bit key sizes.
Standard ECC curves include P-256, P-384, P-521, P-192, Ed-25519 and Curve-25519 with other GF(p)/GF(2m) ECC curves supported via custom parameters. This includes other NIST, Brainpool, Koblitz, Montgomery amd Edwards curves.
Up to 16 kB of system RAM is required as scratch pad RAM used for inputs and outputs. The location and size of the engine’s scratch pad RAM is programmable. Similarly, approximately 4 kB of system memory is used for the engine’s microcode. The placement of microcode can also be programmed and may be stored in ROM, Flash or RAM. Full public key performance requires zero wait state access to the scratch pad and microcode memory.
Asymmetric Crypto Engine also supports an additional internal µ-DMA to collect all needed input data from the scratch pad RAM and write back the data upon completion of cryptographic operations.