Public key accelerator (PKA) RM0453
716/1461 RM0453 Rev 1
24.4.17 ECDSA verification
ECDSA verification operation (outlined in Section 24.3.5) is summarized in Table 165 (input
parameters) and Table 166 (output parameters).
The epplication should check if the output error is equal to zero, if it is different from zero,
the signature is not verified.
Table 164. Extended ECDSA sign (extra outputs)
Parameters with direction Value (Note) Storage Size
OUT
Curve point kG coordinate x
1
(0 ≤ x
1
< p) RAM@0x103C
EOS
Curve point kG coordinate y
1
(0 ≤ y
1
< p) RAM@0x1090
Table 165. ECDSA verification (inputs)
Parameters with direction Value (Note) Storage Size
IN
MODE 0x26 PKA_CR 6 bits
Curve prime order n
length
(In bits, not null) RAM@0x404
32 bitsCurve modulus p length
(In bits, not null,
8 < value < 640)
RAM@0x4B4
Curve coefficient a sign
0x0: positive
0x1: negative
RAM@0x45C
Curve coefficient |a| (Absolute value, |a| < p) RAM@0x460
EOS
Curve modulus value p
(Odd integer prime,
0 < p < 2
640
)
RAM@0x4B8
Curve base point G
coordinate x
(x < p) RAM@0x5E8
Curve base point G
coordinate y
(y < p)RAM@0x63C
Public-key curve point Q
coordinate x
Q
(x
Q
< p)RAM@0xF40
Public-key curve point Q
coordinate y
Q
(y
Q
< p)RAM@0xF94
Signature part r (0 < r < n) RAM@0x1098
Signature part s (0 < s < n) RAM@0xA44
Hash of message z (z < 2
M
) RAM@0xFE8
Curve prime order n (integer prime) RAM@0xD5C
Table 166. ECDSA verification (outputs)
Parameters with direction Value (Note) Storage Size
OUT Result: ECDSA verify
0x0: valid signature
Not 0x0: invalid signature
RAM@0x5B0 32 bits