330 likes | 345 Views
This comprehensive guide delves into advanced cryptography topics such as digital signatures and hash functions, covering their definitions, algorithms, security requirements, properties, and various signature schemes like RSA, ElGamal, Schnorr, and DSA. Learn about the concepts behind digital signatures, requirements for secure implementation, and the workings of different signature schemes in this detailed exploration of cryptographic techniques. Discover the significance of public and private keys, signed documents, verification processes, and the role of third parties in resolving disputes in digital communications.
E N D
Number Theory and Advanced Cryptography6. Digital Signature Chih-Hung Wang Sept. 2012 Part I: Introduction to Number Theory Part II: Advanced Cryptography
Hash Function • Definition • A hash function accepts a variable-size message M as input and produces a fixed-size hash code H(M) • Sometime called a message digest • Hash Algorithm • MD5 • RFC 1321 developed by Ron Rivist at MIT • Secure Hash Algorithm (SHA) • FIPS PUB 180 in 1993 (NIST) 180-1 in 1995 • FISP: Federal Information Processing Standard
PlaintextM Message Digest Hash value H(M) Hash Function
Requirements of Hash • H can be applied to a block of data of any size • H produces a fixed-length output • H(x) is relatively easy to compute for any given x, making both hardware and software implementations practical • For any given code h, it is computationally infeasible to find x such that H(x)=h. This is sometimes referred to in the literature as the one-way property • For any given block x, it is computationally infeasible to find yx with H(y)=H(x). This is sometimes referred to as weak collision resistance • It is computationally infeasible to find any pair (x,y) such that H(x)=H(y). This is sometimes referred to as strong collision resistance.
m1 H(m1) It is difficult to find m1 and m2 (m1 m2) such that H(m1)=H(m2) m2 H(m2) Requirements of Hash
Security of Hash Functions • For a code of length n • One-way: 2n • Weak collision resistance: 2n • Strong collision resistance: 2n/2
Digital Signature • Dispute of message authentication • Message authentication protects two parties who exchange messages from any third party. However, it does not protect the two parties against each other. • Several forms of dispute between the two are possible
Properties • The digital signature is analogous to the handwritten signature. It must have the following properties: • It must be able to verify the author and the date and time of the signature • It must be able to authenticate the contents at the time of the signature • The signature must be verifiable by third parties, to resolve dispute
Requirements (1/2) • The signature must be a bit pattern that depends on the message being signed • The signature must use some information unique to the sender, to prevent both forgery and denial • It must be relatively easy to produce the digital signature • It must be relatively easy to recognize and verify the digital signature
Requirements (2/2) • It must be computationally infeasible to forge a digital signature, either by constructing a new message for an existing digital signature or by constructing a fraudulent digital signature for a given message • It must be practical to retain a copy of the digital signature in storage
Signer’s Public Key Signer’s Private Key Signed Document Signer Receiver Verify the signature Digital Signature Concept
Dispute Concept Verify & Judge Signer’s Digital Signature Third Party Dispute Sender Receiver
Signer’s public key : (e,n) Signer’s private key: d Sig=h(M)d mod n Signed Document Receiver Signer Verify h(M) ?= Sige mod n =( h(M)d)e mod n RSA Digital Signature
Digital Signature Schemes • RSA • ElGamal • Rabin • DSA (DSS) • Schnorr • Others
RSA (Algorithm 10.1) m=M|I m=h(M)
Informal Security Argument for ElGamal Signature (1) • Warning 1
Informal Security Argument for ElGamal Signature (2) • Warning 2
Informal Security Argument for ElGamal Signature (3) • Warning 3
Properties of Schnorr Signature • Working in the order-q subgroup of Fq. • The signature size is much shorter than that of a signature in ElGamal. • Schnorr: 2|q| • ElGamal: 2|p| • Fewer operations in signature generation and verification.
About DSA (DSS) • In August 1991, NIST announced a new proposed digital signature scheme called the Digital Signature Standard (DSS) • The National Institute of Standards and Technology (NIST) has published Federal Information Processing Standard FIPS PUB 186, known as the Digital Signature Standard (DSS). • The DSS makes use of the Secure Hash Algorithm (SHA) • The DSS was originally proposed in 1991 and revised in 1993 in response to public feedback concerning the security of the scheme
Criticisms of DSS (1/2) • DSS cannot be used for encryption or key distribution • DSS was developed by the NSA, and there may be a trapdoor in the algorithm • DSS is slower than RSA • RSA is the ISO 9796, the international digital signature standard
Criticisms of DSS (2/2) • The DSS selection process was not public; sufficient time for analysis has not been provided • DSS may infringe on other pattern • The key size is too small
ECC Signatures • See papers