Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 771 Bytes

README.md

File metadata and controls

5 lines (3 loc) · 771 Bytes

This is an educational implementation of the ECDSA algorithms for public key generation and signing messages with a private key, for the ChipWhisperer-Lite.

It is vulnerable by design to side-channel attacks to facilitate learning about them and analyzing them. See our jupyter/submit.ipynb Jupyter Notebook for an example of how to compile and flash the code and run the example.

Specifically, the elliptic curve multiplication function EccPoint_mult in firmware/crypto/micro-ecc-vulnerable/uECC.c is vulnerable: the amount of times EccPoint_add is called is dependent on the bits in the secret key. This means the secret key can be retrieved by both timing analysis and power analysis attacks.