Datasheet

Table Of Contents
43. Public Key Cryptography Controller (PUKCC)
43.1 Overview
The Public Key Cryptography Controller (PUKCC) processes public key cryptography algorithm calculus
in both GF(p) and GF(2n) fields.
The PUKCL (PUblic Key Cryptography Library) is stored in ROM inside the device. This library can be
used in applications to access features of PUKCC.
The Public Key Cryptography Library includes complete implementation of the following public key
cryptography algorithms:
RSA (Rivest-Shamir-Adleman public key cryptosystem), DSA (Digital Signature Algorithm):
Modular Exponentiation with CRT up to 7168 bits
Modular Exponentiation without CRT up to 5376 bits
Prime generation
Utilities: GCD/modular Inverse, Divide, Modular reduction, Multiply, ...
Elliptic Curves:
ECDSA GF(p) up to 521 bits for common curves (up to 1120 bits for future use)
ECDSA GF(2n) up to 571 bits for common curves (up to 1440 bits for future use)
Choice of the curves parameters so compatibility with NIST Curves or other curves in
Weierstrass equation
Point Multiply
Point Add/Doubling
Other high level elliptic curves algorithms (ECDH, ...) can be implemented by user using library
functions
Deterministic Random Number Generation (DRNG ANSI X9.31) for DSA
43.2 Product Dependencies
43.2.1 I/O Lines
Not applicable.
43.2.2 Power Management
The PUKCC will continue to operate in any sleep mode, as long as its source clock is running.
43.2.3 Clocks
The bus clock (CLK_PUKCC_AHB) can be enabled and disabled by the Main Clock Controller.
Related Links
15. MCLK – Main Clock
43.2.4 DMA
Not applicable.
43.2.5 Interrupts
Not applicable.
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1443