Photo by Romain Dancre on Unsplash

ECDSA, Python and Hazmat

--

The other day, I filled in a five page paper form to change my GP, and showed a utility bill with my new address. Everything that I have to fill in my email address using a pen-and-paper just feels like it’s based on a 20th Century world. What we need is to move towards infrastructures that integrate digital identity and digital signing. But what is at the core of digital signing?

ECDSA

At the core of digital signing is normally a method known as ECDSA (Elliptic Curve Digital Signature Algorithm), as it is more efficent and produces smaller encryption keys than its RSA equivalant. With this Alice has a public key and a private key. The owernship of the private key defines her identity as no-one else can have the key. She thus signs a message with her private key, and then Bob proves the signature with her public key. Under the hood there is r and an s value, and which are used to verify the signature. The mechanics of the (r,s) checking is defined here:

In this article, we will just use the sign() and verify() methods to sign a message and verify it. To generate a key pair we simply…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.