Datasheet

Table Of Contents
...........continued
Parameter Type Direction Location Data Length Before
Executing the
Service
After Executing
the Service
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
u2ModLength + 8
or 64 bytes
Base of Cns Base of Cns
untouched
u2ModLength u2 I Length of N Length of N
nu1XBase nu1 I Crypto
RAM
u2XLength or
u2ModLength + 4
(see Note 1)
Base of X Base of X ( see
Note 2)
u2XLength u2 I Length of X Length of X
nu1ZBase nu1 I Crypto
RAM
2 * u2XLength Base of Z Base of Z
nu1RBase nu1 I Crypto
RAM
2 * u2XLength Base of R Base of R (see
Note 3)
Note: 
1. In case of a reduction option is specified, the area X will be, if necessary, extended to u2ModLength
+ 4 bytes.
2. If Square is without reduction, X is untouched. If Square is with reduction, X is filled with the final
result.
3. If Square is without reduction, R is filled with the final result. If Square is with reduction, R is
corrupted.
43.3.4.10.5 Available Options
The options are set by the u2Options input parameter, which is composed of:
the mandatory Square operation option described in Table 43-31
the mandatory CarryOperand option described in Table 43-32 and Table 43-33
the facultative Modular Reduction option (see 43.3.5.1 Modular Reduction). If the Modular Reduction
is not requested, this option is absent.
The u2Options number is calculated by an Inclusive OR of the options. Some Examples in C language
are:
Operation: Square only without carry and without Modular Reduction
PUKCL(u2Options) = SET_MULTIPLIEROPTION(PUKCL_SQUARE_ONLY) |
SET_CARRYOPTION(CARRY_NONE);
Operation: Square with addition with Specific/CarryIn addition and with Fast Modular Reduction
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1471