ECDSA#

ECDSA signing functionality for the bootloader.

Modules#

ECC Library

Functions#

int32_t
btl_verifyEcdsaP256r1(const uint8_t *sha256, const uint8_t *signatureR, const uint8_t *signatureS, const uint8_t *keyX, const uint8_t *keyY)

Verify an ECDSA signature of a SHA256-hash using secp256r1.

Macros#

#define

Number of bytes of data to verify the signature against.

#define

Number of bytes in the EC points that the signature consists of.

Function Documentation#

btl_verifyEcdsaP256r1#

int32_t btl_verifyEcdsaP256r1 (const uint8_t * sha256, const uint8_t * signatureR, const uint8_t * signatureS, const uint8_t * keyX, const uint8_t * keyY)

Verify an ECDSA signature of a SHA256-hash using secp256r1.

Parameters
N/Asha256

The hash of the data which is authenticated

N/AsignatureR

Byte array (MSB first) of R-point of the ECDSA signature

N/AsignatureS

Byte array (MSB first) of S-point of the ECDSA signature

N/AkeyX

Pointer to the X coordinate of the ECDSA public key

N/AkeyY

Pointer to the Y coordinate of the ECDSA public key

Verifies the authenticity of data by checking the ECDSA signature of the data's SHA256-hash. This function is only for use with the secp256r1 curve. The public key which the signature is validated against will be retrieved from the respective tokens in the lockbits-page.

Returns


Definition at line 56 of file platform/bootloader/security/btl_security_ecdsa.h

Macro Definition Documentation#

BTL_SECURITY_ECDSA_SHA256_LENGTH#

#define BTL_SECURITY_ECDSA_SHA256_LENGTH
Value:
32

Number of bytes of data to verify the signature against.


Definition at line 36 of file platform/bootloader/security/btl_security_ecdsa.h

BTL_SECURITY_ECDSA_POINT_LENGTH#

#define BTL_SECURITY_ECDSA_POINT_LENGTH
Value:
32

Number of bytes in the EC points that the signature consists of.


Definition at line 38 of file platform/bootloader/security/btl_security_ecdsa.h