Datasheet

Table Of Contents
43.3.7.2.2 How to Use the Service
43.3.7.2.3 Description
The operation performed is:
Pt
C
= Pt
A
+ Pt
B
In this computation, the following parameters need to be provided:
Point 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.
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 + 12})
P the modulus filled (pointed by {nu1ModBase,u2ModLength + 4})
The a parameter relative to the elliptic curve equation (pointed by {nu1ABase,u2ModLength + 4})
The workspace not initialized (pointed by {nu1WorkSpace, 7*u2ModLength + 40}
The resulting C point is represented in projective coordinates (X,Y,Z) and is stored at the same place than
the input point A. This Point can be the Infinite Point.
The services for this operation are:
Service GF2NEccAddFast: The fast mode is used, the fast modular reduction is used in the
computations.
Important:  Before using this service, ensure that the constant Cns has been calculated with
the setup of the Modular Reductions service.
43.3.7.2.4 Parameters Definition
Table 43-94. GF2NEccAddFast 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
nu1CnsBase nu1 I Crypto
RAM
u2ModLength + 12 Base of Cns Base of Cns
u2ModLength u2 I Length of
modulo
Length of
modulo
nu1PointABase nu1 I/O Crypto
RAM
3*u2ModLength
+ 12
Input point A
(projective
coordinates)
Resulting point
C (projective
coordinates)
nu1PointBBase nu1 I Crypto
RAM
3*u2ModLength
+ 12
Input point B
(projective
coordinates)
Input point B
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1547