Nothing Special   »   [go: up one dir, main page]

Muhammad Hammad Digital Signatures

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 17

Muhammad Hammad

Digital Signatures
Outline
● What is Digital Signature?
● Purpose
● How does Digital Signature work?
● Digital Signature Process
● DH Key Exchange Algorithm
What is Digital Signature?
● Digital Signature is one of the core building blocks of
Cryptocurrency
● It involves the use of mathematical algorithm to sign and
validate the authenticity of a document, file or software
instead of pen and paper
● A digital signature is used to make sure that the file(s) sent
digitally belongs to a designated source and reaches the
intended receiver in its original format without any
tampering
What we want from Digital
Signatures?

Only you can sign, but anyone can verify

Signature is tied to a particular document


can't be cut-and-pasted to another document
How does Digital Signatures work?
● The sender generates a private key and public key
● They sign the message with the signature and send their
public key, the signature and the message to the network
● The node or receiver then checks using the verification
algorithm that the message has been signed by the sender,
which can only be done by the holder of the private key to
the public key that is sent
Digital Signature Process
1. Generate Keys
○ (sk, pk) := generateKeys(key_size)
i. sk = Secret Signing Key
ii. pk = Public Verification Key
2. Create Signature
○ sig := sign(sk, message)
3. Verify Signature
○ isValid := verify(pk, message, sig)
Public and Private Keys
3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069
EA97 FC20 5E35 F577 EE31 C4FB C6E4 4811 7D86 BC8F
BAFA 362F 922B F01B 2F40 C744 2654 C0DD 2881 D673
CA2B 4003 C266 E2CD CB02 0301 0001 F684 B7F0

● Very long randomized numbers


● Both keys have mathematical relation, i.e. a private key is a
single unsigned 256 bit integer and a public key is a
number that corresponds to private key
● Whatever is encrypted with a Public Key may only be
decrypted by its corresponding Private Key and vice versa
Public Key as Identity
● Public Key is a unique string which can only be created
once by a person
● It means that a public key can be used as an identity just
like CNIC
● The author of public key also holds the secret (private) key
so they can claim the ownership of the public key and use
it as their identity
● If anybody tries to use someone else’s public key as their
own identity, they will not have the secret key to back their
claim; hence their fraud will be uncovered instantly
Signature
● Uses Elliptic Curve Digital Signature Algorithm (ECDSA)
to create an unforgeable signature
● ECDSA is the algorithm used by Bitcoin to make sure
every Bitcoin belongs to and can be spent by its rightful
owner
● Signature interlaces the message with private key in such
way that both are inseparable
○ This ensures that a specific signature is for a specific
message only
Diffie-Hellman Key Exchange
Algorithm
● Diffie–Hellman key exchange is a method of securely
exchanging cryptographic keys over a public channel
● Presented in 1977, DH is one of the earliest practical
examples of public key exchange implemented within the
field of cryptography
● Authors won the Turing Award (2015) for this algorithm,
which was first ever for anyone from Cryptography field
Reference Book
Bitcoin and Cryptocurrency Technologies
Authors: Arvind Narayanan, Joseph Bonneau,
Edward Felten, Andrew Miller, Steven Goldfeder

Publisher: Princeton University Press

You might also like