999
SAM4CP [DATASHEET]
43051E–ATPL–08/14
43.
Classical Public Key Cryptography Controller (CPKCC)
43.1
Description
The Classical Public Key Cryptography Controller (CPKCC) is an Atmel macrocell that processes public key
cryptography algorithm calculus in both GF(p) and GF(2^n) fields. The ROMed CPKCL, the Classical Public Key
Cryptography Library, is the library built on the top of the CPKCC.
The Classical Public Key Cryptography Library includes complete implementation of the following public key
cryptography algorithms:
RSA, DSA:
Modular Exponentiation with CRT up to 6144 bits.
Modular Exponentiation without CRT up to 5408 bits.
Prime generation.
Utilities: GCD/modular Inverse, Divide, Modular reduction, Multiply…
Elliptic Curves:
ECDSA up to 1504 bits.
Point Multiply.
Point Add/Doubling.
Elliptic Curves in GF(p) or GF(2^n).
Choice of the curves parameters so compatibility with NIST Curves or others.
Deterministic Random Number Generation (DRNG ANSI X9.31) for DSA.
43.2
Product Dependencies
43.2.1 Power Management
The CPKCC is not continuously clocked. The CPCKCC interface is clocked through the Power Management Controller
(PMC).
43.2.2 Interrupt Sources
The CPKCC has an interrupt line connected to the Nested Vector Interrupt Controller (NVIC). Handling interrupts
requires programming the NVIC before configuring the CPKCC.
43.3
Functional Description
The CPKCC macrocell is managed by the CPKCL Library available in the ROM memory of the SAM4CP. The user
interface of the CPKCC is not described in this chapter.
The usage description of the CPKCC and its associated Library is provided in a separate document. Contact an Atmel
Sales Representative for further details.