Digital signatures - A mathematical scheme for demonstrating the authenticity of a digital message

Preview:

Citation preview

Digital SignaturesA mathematical scheme for demonstrating the authenticity of a digital message or document.

michael.dance@gmail.com@mikedance

Presentation Goals

• Provide a high level overview of digital signatures

• Define the terminology used for digital signatures

AnalogyA handwritten signature or seal placed on a written

document.

Important Distinction

A digital signature is unique to each message

Unlike a physical signature, where the same signature is used for multiple documents, a digital signature changes with each message.

PurposeWhat security principles do we achieve with digital

signatures?

AuthenticationProvides proof that a message was sent by a known

sender.

IntegrityThe message was not altered in transit.

Non RepudiationThe sender cannot deny having sent the message.

Terminology

Key GenerationAn algorithm that outputs a private key (signing key),

and public key (verification key).

Signing KeyThe private key used to generate a digital signature.

Verification KeyThe public key available to anyone to verify whether a

digital signature is valid.

Signing AlgorithmGiven a message, and signing key produces a digital

signature.

Signature Verification Algorithm

Given a message, verification key, and a digital signature determines whether the message is authentic.

Digital Signature Schemes

What are the main digital signature schemes in use today?

DSA

• Digital Signature Algorithm

• Established by NIST in 1991 as the US government standard for digital signatures

• Is a variant of the ELGamal Signature Scheme

ECDSA

• Elliptic Curve Digital Signature Algorithm

• Used in Bitcoin to transfer funds from one address to another

Bitcoin Usage

• When spending bitcoins, the bitcoin owner presents their public key, and a signature for the transaction

• The bitcoin network uses the digital signature verification algorithm to verify the public key, and signature are valid

Live Demohttps://brainwallet.github.io/#sign

What’s Next?

• Hash Functions

• Elliptic Curve Cryptography

• Bitcoin Cryptography Usage

Questions?michael.dance@gmail.com

@mikedance

Further Reading• Brainwallet

• https://brainwallet.github.io/

• Princeton Lecture 1 — Intro to Crypto and Cryptocurrencies

• https://www.youtube.com/watch?v=fOMVZXLjKYo

• Digital Signature Algorithm

• http://en.wikipedia.org/wiki/Digital_Signature_Algorithm

• Elliptic Curve Digital Signature Algorithm

• http://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm

Recommended