Datasheet

Table Of Contents
43.3.6.9.6 Constraints
No overlapping between either input and output are allowed. The following conditions must be avoided to
ensure that the service works correctly:
nu1ModBase, nu1CnsBase, nu1PointABase, nu1RandomBase, nu1Workspace are not aligned on
32-bit boundaries
{nu1ModBase, u2ModLength + 4}, {nu1CnsBase, u2ModLength + 8}, {nu1PointABase,
3*u2ModLength + 12}, {nu1RandomBase, u2ModLength + 4}, {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}, {nu1RandomBase, u2ModLength + 4} and {nu1Workspace,
3*u2ModLength + 28}
43.3.6.9.7 Status Returned Values
Table 43-82. ZpEccRandomiseCoordinate Service Return Codes
Returned Status Importance Meaning
PUKCL_OK The computation passed without problem.
43.3.6.10 Point is on Elliptic Curve
43.3.6.10.1 Purpose
This service is used to test whether or not the point is on the curve.
43.3.6.10.2 How to Use the Service
43.3.6.10.3 Description
The operation performed is:
Status = IsPointOnCurve(X, Y, Z)
In this computation, the following parameters need to be provided:
The input point is filled in projective coordinates (X,Y,Z) (pointed by {nu1PointBase,3*u2ModLength
+ 4}). This Point can be the point at infinity.
AParam and BParam are the Elliptic Curve Equation parameters. (pointed by{nu1AParam,
u2ModLength+4} and {nu1BParam, 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, 4*u2ModLength +28}.
The result is the status of the point (X,Y,Z) regarding the Elliptic Curve Equation.
The service name for this operation is ZpEcPointIsOnCurve.
Note:  Before using this service, ensure that the constant Cns has been calculated with the setup of the
Fast Modular Reduction service.
43.3.6.10.4 Parameters Definition
Table 43-83. ZpEcPointIsOnCurve Service Parameters
Parameter Type Direction Location Data Length Before
Executing the
Service
After Executing
the Service
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1529