Digital Signature Schemes: Maria Alabbadi
Digital Signature Schemes: Maria Alabbadi
Maria Alabbadi
Outline
• Authentication
• Digital signature concepts and standards
• RSA digital signature scheme
• ElGamal signature scheme
• Signature with redundancy function (Rabin signature
algorithm)
• elliptic curve digital signature scheme
• Knapsack Digital signature (shamir signature
knapsack)
Need for Authentication
• Authentication Problem:
How can recipient be sure that message was sent by
particular person?
3
Authentication
• Terminology:
– Claimant: Entity desiring to prove their
identity
(real or fraudulent )
4
Digital Signatures
• Based on some signing algorithm
– Algorithm applied to message (like message digest)
– Message and signature sent to recipient
– Recipient uses related algorithm to verify signature
• Must involve “secret knowledge” known only to signer
– Otherwise, adversary could “forge” signature
5
Public Keys and Digital Signatures
• Signing algorithm involves private key
– Public/private key pair generated by sender
• Opposite of public key encryption
– Sender stores private key, gives public key to recipient
• Private key used to sign message
• Public key used to verify signature
6
Digital Signatures and Confidentiality
• Sender:
– Signs message with sender private key
– Encrypts message with recipient public key
Authentication
• Recipient Confidentiality
– Decrypts message with recipient private key
– Verifies signature with sender public key
7
Digital Signature Standard
• NIST standard (FIPS 186)
• Algorithms:
– SHA-512 hashing
– Schnorr public key encryption scheme (similar to ElGamal)
8
DSS Components
• Global public key components (PUG)
– p : Large prime (between 512 and 1024 bits)
– q : prime divisor of p -1 (approx. 160 bits)
– g = h(p-1)/q mod p
where h is some integer < p -1 such that
h(p-1)/q mod p > 1
• Sender’s private key (PRa)
– Random integer < q
• Sender’s public key (PUa)
– PUa = gPRa mod p
9
Signing a Message
• Generate random one-time key k < q
• Compute components of message:
– r = (gk mod p) mod q
– s = [k -1 (H(M) + PUa)] mod q
• Signature = (r, s)
• Verified if v = r
11
RSA Digital Signature Scheme
• Encryption/Decryption:
– Encryption by sender: C = Pe mod n
– Decryption by recipient: P = Cd mod n = Pde mod n
13