Datasheet

Table Of Contents
...........continued
Parameter Type Direction Location Data Length Before
Executing the
Service
After Executing
the Service
Specific/CarryIn Bits I Must be set to
zero
Specific/Gf2n Bit I GF(2n) Bit
Specific/
CarryOut Zero
Violation
Bits I Carry Out, Zero
Bit and Violation
Bit filled
according to the
result
nu1ModBase nu1 I Crypto
RAM
u2ModLength + 4 Base of N Base of N
untouched
nu1CnsBase nu1 I Crypto
RAM
GF(p): 64 bytes
GF(2n): 68 bytes
Base of Cns as
a workspace
Base of Cns
corrupted
u2ModLength u2 I Length of N Length of N
nu1RBase nu1 I Crypto
RAM
u2ModLength + 4 Base of R Base of R filled
with the result
nu1XBase (see
Note 1)
nu1 I Crypto
RAM
2*u2ModLength
+ 8
Base of X the
number to
reduce
Base of X filled
with the result
Note: 
1. Before the X (pointed by {nu1XBase,2 * u2ModLength + 8}) LSB bytes, four supplementary bytes
will be saved/restored. Other four supplementary bytes will also be saved/restored after the X MSB
bytes. All of these supplementary bytes may be entirely in the Crypto RAM (therefore, do not place
the X area too near the end of the Crypto RAM) and shall not overlap with other area used by the
service.
43.3.5.1.10 Options
The options are set by the u2Options input parameter, which is composed of:
the mandatory Operation Option described in Table 43-47
if the Operation Option is PUKCL_REDMOD_REDUCTION, the Modular Reduction Sub-Option
described in Table 43-48
The u2Options number is calculated by an Inclusive OR of the options. Some Examples in C language
are:
Operation: Setup for the ModularReductions.
PUKCL(u2Options) = PUKCL_ REDMOD_SETUP;
Operation: Fast ModularReduction.
PUKCL(u2Options) = PUKCL_REDMOD_REDUCTION | PUKCL_REDMOD_USING_FASTRED;
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1489