Datasheet

Table Of Contents
Table 43-65. CRT Service Crypto RAM Option Exponent Area
Option Purpose
PUKCL_EXPMOD_EXPINPUKCCRAM The exponent area can be read from any data space of
memory, including Crypto RAM. When at least one word the
exponent is in Crypto RAM, this option has to be set.
43.3.5.4.6 Code Example
PUKCL_PARAM PUKCLParam;
PPUKCL_PARAM pvPUKCLParam = &PUKCLParam;
PUKCL(u2Option) =...;
// Depending on the option specified, not all fields should be filled PUKCL_CRT(nu1ModBase) =
<Base of the ram location of P and Q>; PUKCL_CRT(u2ModLength) = <Length of P or Q>;
PUKCL_CRT(nu1XBase) = <Base of the ram location of X>;
PUKCL_CRT(nu1PrecompBase) = <Base of the ram location of RVal and Precomp>;
PUKCL_CRT(pfu1ExpBase) = <Base of the ram location of EP and EQ>;
PUKCL_CRT(u2ExpLength) = <Length of EP or EQ>;
PUKCL_CRT(u1Blinding) = <Blinding value>;
...
// vPUKCL_Process() is a macro command, which populates the service name
// and then calls the library...
vPUKCL_Process(CRT, pvPUKCLParam);
if (PUKCL_Param.Status == PUKCL_OK)
{
// operation has been performed correctly
...
}
else // Manage the error
43.3.5.4.7 Constraints
The following conditions must be avoided to ensure that the service works correctly:
nu1ModBase, nu1XBase, nu1PrecompBase, pfu1ExpBase are not aligned on 32-bit boundaries
{nu1XBase, 2*u2ModLength + 16}, {nu1ModBase, 2*u2ModLength + 8},
{nu1PrecompBase,<PrecompLength>} are not in Crypto RAM
{nu1ExpBase,2*u2ExpLength + 8} is not in Crypto RAM and PUKCL_EXPMOD_EXPINPUKCCRAM
is specified
u2ModLength or u2ExpLength are either: < 4, > 0xffc or not a 32-bit length
None or both PUKCL_EXPMOD_REGULARRSA and PUKCL_EXPMOD_FASTRSA are specified.
{nu1XBase,2*u2ModLength + 16} overlaps with either: {nu1ModBase, 2*u2ModLength +8},
{nu1PrecompBase, <PrecompLength>} or {pfu1ExpBase, 2*u2ExpLength + 8}
{nu1ModBase,2*u2ModLength + 8} overlaps with either: {nu1PrecompBase, <PrecompLength>} or
{pfu1ExpBase, 2*u2ExpLength + 8}
{nu1PrecompBase, <PrecompLength>} overlaps {pfu1ExpBase, 2*u2ExpLength +8}
43.3.5.4.8 CRT Service Parameter Placement
The parameters’ placements are described in detail in the following figures.
SAM D5x/E5x Family Data Sheet
Public Key Cryptography Controller (PUKCC)
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1505