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

26
Digital Signatures A mathematical scheme for demonstrating the authenticity of a digital message or document. [email protected] @mikedance

Upload: bitcoin-association-of-australia

Post on 07-Aug-2015

205 views

Category:

Technology


0 download

TRANSCRIPT

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

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

[email protected]@mikedance

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

Presentation Goals

• Provide a high level overview of digital signatures

• Define the terminology used for digital signatures

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

AnalogyA handwritten signature or seal placed on a written

document.

Page 4: Digital signatures - A mathematical scheme for demonstrating the authenticity of a digital message
Page 5: Digital signatures - A mathematical scheme for demonstrating the authenticity of a digital message

Important Distinction

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

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.

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

PurposeWhat security principles do we achieve with digital

signatures?

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

AuthenticationProvides proof that a message was sent by a known

sender.

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

IntegrityThe message was not altered in transit.

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

Non RepudiationThe sender cannot deny having sent the message.

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

Terminology

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

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

and public key (verification key).

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

Signing KeyThe private key used to generate a digital signature.

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

Verification KeyThe public key available to anyone to verify whether a

digital signature is valid.

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

Signing AlgorithmGiven a message, and signing key produces a digital

signature.

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

Signature Verification Algorithm

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

Page 17: Digital signatures - A mathematical scheme for demonstrating the authenticity of a digital message
Page 18: Digital signatures - A mathematical scheme for demonstrating the authenticity of a digital message

Digital Signature Schemes

What are the main digital signature schemes in use today?

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

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

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

ECDSA

• Elliptic Curve Digital Signature Algorithm

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

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

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

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

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

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

What’s Next?

• Hash Functions

• Elliptic Curve Cryptography

• Bitcoin Cryptography Usage

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

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

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