Datasheet

Table Of Contents
Important:  Please calculate precisely the length of areas with the formulas. Ensure that the
pu1 type is a pointer on 4 bytes and contains the full address (see 43.3.3.4 Aligned Significant
Length ).
Table 43-74. ZpEccQuickDualMulFast Service Parameters
Parameter Type Direction Location Data Length Before
Executing the
Service
After Executing
the Service
pu1ModCnsBase pu1 I Crypto
RAM
2 * u2ModLength
+ 16
Base of
modulus P,
Base of Cns
Base of modulus
P, Base of Cns
u2Option u2 I Option related
to the called
service (see
below)
u2ModLength u2 I Length of
modulus P
Length of
modulus P
pu1KABBase pu1 I Any RAM 2 * u2KLength + 8 Scalar
numbers used
to multiply the
points A and B
Unchanged
u2KLength u2 I Length of
scalars KA and
KB
Length of scalars
KA and KB
pu1PointABase pu1 I/O Crypto
RAM
(3*(u2ModLength
+ 4)) * (2
(WA-2)
) (1)
Input point A
(projective
coordinates)
Unchanged
pu1PointBBase pu1 I Crypto
RAM
(3*(u2ModLength
+ 4)) * (2
(WB-2)
) (2)
Input point B
(projective
coordinates)
Unchanged
pu1AWorkBase pu1 I Crypto
RAM
9*u2ModLength
+ 48
Parameter a of
the elliptic
curve
Resulting point C
(projective
coordinates) in
pu1AWorkBase
Base +
u2ModLength + 4
Note: 
1. The precalculus table size for the point A is calculated from chosen window size “WA”.
2. The precalculus table size for the point B is calculated from chosen window size “WB”.
43.3.6.6.5 Options
The options are set by the u2Options input parameter, which is composed of:
the mandatory windows sizes WA and WB
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1519