EasyManuals Logo

STMicroelectronics STM32WL5 Series User Manual

STMicroelectronics STM32WL5 Series
1450 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #700 background imageLoading...
Page #700 background image
Public key accelerator (PKA) RM0453
700/1450 RM0453 Rev 5
ECDSA signature verification
ECDSA (elliptic curve digital signature algorithm) signature verification function principle is
the following: Bob, to authenticate Alice's signature, must have a copy of her public key
curve point Q
A
.
Bob can verify that Q
A
is a valid curve point going through the following steps:
1. check that Q
A
is not equal to the identity element O
2. check that Q
A
is on the agreed curve
3. check that n x Q
A
= O.
Then Bob follows the procedure detailed below:
1. verify that r and s are integer in [1, n-1]
2. calculate e = HASH(m), where HASH is the agreed cryptographic hash function
3. let z be the L
n
leftmost bits of e
4. calculate w = s
-1
mod n
5. calculate u
1
= zw mod n and u
2
= rw mod n
6. calculate the curve point (x
1
, y
1
) = u
1
x G + u
2
x Q
A
7. the signature is valid if r = x
1
(mod n), it is invalid otherwise.
Steps 4 to 7 are accelerated by PKA using ECDSA verification.
24.3.6 PKA procedure to perform an operation
Enabling/disabling PKA
Setting the EN bit to 1 in PKA_CR register enables the PKA peripheral. When EN = 0, the
PKA peripheral is kept under reset, with PKA memory still accessible by the application
through the AHB interface.
Clearing EN bit to 0 while a calculation is in progress causes the operation to be aborted. In
this case, the content of the PKA memory is not guaranteed.
Data formats
The format of the input data and the results in the PKA RAM are specified, for each
operation, in Section 24.4.
Executing a PKA operation
Each of the supported PKA operation is executed using the following procedure:
1. Load initial data into the PKA internal RAM, which is located at address offset 0x400.
2. Write in the MODE field of PKA_CR register, specifying the operation which is to be
executed and then assert the START bit, also in PKA_CR register.
3. Wait until the PROCENDF bit in the PKA_SR register is set to “1”, indicating that the
computation is complete.
4. Read the result data from the PKA internal RAM, then clear PROCENDF bit by setting
PROCENDFC bit in PKA_CLRFR.
Note: When PKA is busy (BUSY = 1) any access by the application to PKA RAM is ignored, and
the flag RAMERRF is set in PKA_SR.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the STMicroelectronics STM32WL5 Series and is the answer not in the manual?

STMicroelectronics STM32WL5 Series Specifications

General IconGeneral
BrandSTMicroelectronics
ModelSTM32WL5 Series
CategoryMicrocontrollers
LanguageEnglish

Related product manuals