Digital Signatures
A 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
Analogy
A 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.
Purpose
What security principles do we achieve with digital
signatures?
Authentication
Provides proof that a message was sent by a known
sender.
Integrity
The message was not altered in transit.
Non Repudiation
The sender cannot deny having sent the message.
Terminology
Key Generation
An algorithm that outputs a private key (signing key),
and public key (verification key).
Signing Key
The private key used to generate a digital signature.
Verification Key
The public key available to anyone to verify whether a
digital signature is valid.
Signing Algorithm
Given 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 Demo
https://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
Digital signatures - A mathematical scheme for demonstrating the authenticity of a digital message

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