Datasheet

Table Of Contents
All overlapping between {nu1ModBase, u2ModLength + 4}, {nu1CnsBase, u2ModLength +8},
{nu1PointABase, 3*u2ModLength + 12}, {nu1PointBBase, 3*u2ModLength + 12} and
{nu1Workspace, 5*u2ModLength + 32}
43.3.6.2.7 Status Returned Values
Table 43-69. ZpEccAddFast Service Return Codes
Returned Status Importance Meaning
PUKCL_OK The computation passed without problem.
43.3.6.3 Point Addition and Subtraction
43.3.6.3.1 Purpose
This service is used to perform a point addition and point subtraction, based on a given elliptic curve over
GF(p). Please note that:
This service is not intended to add the same point twice. In this particular case, use the doubling
service (see 43.3.6.4 Fast Point Doubling).
43.3.6.3.2 How to Use the Service
43.3.6.3.3 Description
The operation performed is:
Pt
C
= Pt
A
± Pt
B
In this computation, the following parameters need to be provided:
A the input point is filled in projective coordinates (X,Y,Z) (pointed by {nu1PointABase,
3*u2ModLength + 12}). This point can be the Infinite Point.
B the input point is filled in projective coordinates (X,Y,Z) (pointed by {nu1PointBBase,
3*u2ModLength + 12}). This point can be the Infinite Point.
Cns the Fast Modular Constant filled (pointed by {nu1CnsBase,u2ModLength +8})
P the modulus filled (pointed by {nu1ModBase,u2ModLength +4})
The workspace not initialized (pointed by {nu1WorkSpace, 5*u2ModLength +32}
The operator filled with the operation to perform (Addition or Subtraction)
The resulting C point is represented in projective coordinates (X,Y,Z) and is stored at the very same place
than the input point A. This Point can be the Infinite Point.
The service name for this operation is ZpEccAddSubFast. This service uses Fast mode and Fast
Modular Reduction for computations.
Note:  Before using this service, ensure that the constant Cns has been calculated with the setup of the
modular reduction functions.
43.3.6.3.4 Parameters Definition
Table 43-70. ZpEccAddSubFast Service Parameters
Parameter Type Direction Location Data Length Before
Executing the
Service
After Executing
the Service
nu1ModBase nu1 I Crypto
RAM
u2ModLength + 4 Base of Modulus
P
Base of Modulus
P
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1512