Datasheet

Table Of Contents
...
}
else // Manage the error
43.3.7.5.6 Constraints
No overlapping between either input and output are allowed. The following conditions must be avoided to
ensure the service works correctly:
nu1ModBase, nu1CnsBase, nu1PointABase, nu1Workspace are not aligned on 32-bit boundaries
{nu1ModBase, u2ModLength + 4}, {nu1CnsBase, u2ModLength + 8},{nu1PointABase,
3*u2ModLength + 12}, {nu1Workspace, <WorkspaceLength>} are not in Crypto RAM
u2ModLength is either: < 12, > 0xffc or not a 32-bit length
All overlapping between {nu1ModBase, u2ModLength + 4}, {nu1CnsBase, u2ModLength + 8},
{nu1PointABase, 3*u2ModLength + 12} and {nu1Workspace, 4*u2ModLength + 48}
43.3.7.5.7 Status Returned Values
Table 43-101. GF2NEcConvProjToAffine Service Return Codes
Returned Status Importance Meaning
PUKCL_OK The computation passed without problem.
PUKCL_POINT_AT_INFINITY Warning The input point has its Z equal to zero, so it is a
representation of the infinite point.
43.3.7.6 Affine to Projective Coordinates Conversion
43.3.7.6.1 Purpose
This service is used to perform a point coordinates conversion from an affine point representation to
projective.
43.3.7.6.2 How to Use the Service
43.3.7.6.3 Description
The operation performed is:
affine(Xa, Ya) → projective(Xp, Yp, Zp)
In this computation, the following parameters need to be provided:
A the input point is filled in affine coordinates for X and Y, and setting Z to 1 (pointed by
{nu1PointABase,3*u2ModLength + 4}).
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, 2*u2ModLength +16} The result is the
point A with its (X,Y,Z) projective coordinates.
The service name for this operation is GF2NEcConvAffineToProjective.
Important:  Before using this service, ensure that the constant Cns has been calculated with
the setup of the Fast Modular Reductions service.
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1554