Datasheet

Table Of Contents
43.3.7.7.7 Status Returned Values
Table 43-105. GF2NEcRandomiseCoordinate Service Return Codes
Returned Status Importance Meaning
PUKCL_OK The computation passed without problem.
43.3.7.8 Point is on Elliptic Curve
43.3.7.8.1 Purpose
This service is used to test whether the point is on the curve.
43.3.7.8.2 How to Use the Service
43.3.7.8.3 Description
The operation performed is:
Status = IsPointOnCurve(X, Y, Z);
In this computation, the following parameters need to be provided:
The input points filled in projective coordinates (X, Y, Z) (pointed by {nu1PointBase, 3*U2ModLength
+ 4}). This point can be 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 + 8})
The workspace not initialized (pointed by {nu1WorkSpace, 4*u2ModLength + 28})
The service name for this operation is GF2NEcPointIsOnCurve.
Important:  Before using this service, the constant Cns must have been calculated with the
Fast Modular Reduction service.
43.3.7.8.4 Parameters Definition
Table 43-106. GF2NEcPointIsOnCurve Service Parameters
Parameter Type Dir. 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 + 8 Base of Cns Base of Cns
u2ModLength u2 I Length of modulus
P
Length of
modulus P
nu1PointBase nu1 I Crypto RAM 3*u2ModLength + 12 Input point Unchanged
nu1AParam nu1 I Crypto RAM u2ModLength + 4 The parameter a Unchanged
nu1BParam nu1 I Crypto RAM u2ModLength + 4 The parameter b Unchanged
nu1Workspace nu1 I Crypto RAM 4*u2ModLength + 28 N/A Workspace
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1558