
Public key accelerator (PKA)
RM0453
710/1454
RM0453 Rev 2
24.4.15 ECC Fp scalar multiplication
This operation consists in the computation of a k x P (x
P
, y
P
), where P is a point on a curve
over prime fields and “x” is the elliptic curve scalar point multiplication. Result of the
computation is a point that belongs to the same curve or a point at infinity.
Operation instructions for ECC Fp scalar multiplication are summarized in
(normal mode) and
(fast mode). Fast mode usage is explained in
.
Table 159. Point on elliptic curve Fp check
Parameters with direction
Value (Note)
Storage
Size
IN
MODE
0x28
PKA_CR
6 bits
Modulus length
(In bits, not null,
8 < value < 640)
RAM@0x404
32 bits
Curve coefficient
a
sign
0x0: positive
0x1: negative
RAM@0x408
Curve coefficient |a|
(Absolute value, |a| < p)
RAM@0x40C
EOS
Curve coefficient
b
(|b| < p)
RAM@0x7FC
Curve modulus value
p
(Odd integer prime,
0 < p < 2640)
RAM@0x460
Point P coordinate
x
(x <
p
)
RAM@0x55C
Point P coordinate
y
(y <
p
)
RAM@0x5B0
OUT
Result: P on curve
0x0: point on curve
Not 0x0: point not on curve
RAM@0x400
32 bits
Table 160. ECC Fp scalar multiplication
Parameters with direction
Value (Note)
Storage
Size
IN
MODE
0x20
PKA_CR
6 bits
IN
Scalar multiplier k length
(In bits, not null,
8 < value < 640)
RAM@0x400
32 bits
Modulus length
(In bits, not null,
8 < value < 640)
RAM@0x404
Curve coefficient
a
sign
0x0: positive
0x1: negative
RAM@0x408
IN
Curve coefficient |a|
(Absolute value, |a| < p)
RAM@0x40C
EOS
Curve modulus value
p
(Odd integer prime,
0 < p < 2
640
)
RAM@0x460
Scalar multiplier k
(0
≤
k < 2
640
)
RAM@0x508
Point P coordinate x
P
(x <
p
)
RAM@0x55C
Point P coordinate y
P
(y <
p
)
RAM@0x5B0
OUT
Result: k x P coordinate
x
(result <
p
)
RAM@0x55C
Result: k x P coordinate
y
(result <
p
)
RAM@0x5B0