Datasheet

Table Of Contents
Important: 
The result buffer R must first be padded with zero bytes until its length is sufficient to
perform the reduction (2*u2ModLength + 8) to be used by the Modular Reduction service
as an input parameter.
The result of the reduction is written in the area X pointed by {nu1XBase, u2ModLength
+ 4}.
For example, if relevant u2ModLength is 0x80 bytes and u2XLength is 0x80 too, the length of the
Rspace may be 2*(u2ModLength + 4) = 0x108 bytes.
In case of fast or normalized reduction, the length of the result may be u2ModLength + 4 so 0x84
bytes. Therefore, the zone X may lengths 0x84 bytes (at least). The multiplication of X by 1 word
provide a result in the zone R which MSB bytes will be padded with zero bytes.
In that example, the length of the zone R will be 2*u2ModLength + 8 = 0x108 bytes.
43.3.4.7.4 Parameters Definition
Table 43-18. Smult Service Parameters
Parameter Type Direction Location Data Length Before
Executing the
Service
After Executing
the Service
u2Options u2 I Options (see
below)
Options (see
below)
Specific/Gf2n
CarryIn
Bits I GF(2
n
) Bit and
Carry In
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
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
u2RLength Base of Z Base of Z
untouched
nu1RBase nu1 I Crypto
RAM
u2RLength Base of R Base of R (see
Note 3)
u2RLength u2 I Length of R Length of R
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1459