Public key accelerator (PKA)
Parameters with direction
IN
MODE
Scalar multiplier k length
IN
Modulus length
Curve coefficient a sign
Curve coefficient |a|
Curve modulus value p
IN
Scalar multiplier k
Point P coordinate x
Point P coordinate y
Montgomery parameter
IN
R
Result: k x P coordinate x (result < p)
OUT
Result: k x P coordinate y (result < p)
When performing this operation following special cases should be noted:
•
For k = 0, this function returns a point at infinity, that is (0, 0) if curve parameter b is
nonzero and (0, 1) otherwise. For k different from 0 it might happen that a point at
infinity is returned. When the application detects this behavior a new computation
should be carried out.
•
For k < 0 (i.e. a negative scalar multiplication is required) multiplier absolute value
k = |-k| should be provided to the PKA. After the computation completion, the formula
-P = (x, -y) can be used to compute the y coordinate of the effective final result (the x
coordinate remains the same).
24.4.16
ECDSA sign
ECDSA signing operation (outlined in
parameters) and in
The application should check if the output error is equal to zero, if it is different from zero a
new k should be generated and the ECDSA sign operation should be repeated.
710/1450
Table 161. ECC Fp scalar multiplication (Fast Mode)
P
P
2
mod p
Table 163
(output parameters).
Value (Note)
0x22
(In bits, not null,
8 < value < 640)
(In bits, not null,
8 < value < 640)
0x0: positive
0x1: negative
(Absolute value, |a| < p)
(Odd integer prime,
640
0 < p < 2
)
640
(0 ≤ k < 2
)
(x < p)
(y < p)
(mandatory)
Section
24.3.5) is summarized in
RM0453 Rev 5
RM0453
Storage
Size
PKA_CR
6 bits
RAM@0x400
RAM@0x404
32 bits
RAM@0x408
RAM@0x40C
RAM@0x460
RAM@0x508
RAM@0x55C
EOS
RAM@0x5B0
RAM@0x4B4
RAM@0x55C
RAM@0x5B0
Table 162
(input
Need help?
Do you have a question about the STM32WL5 Series and is the answer not in the manual?
Questions and answers