190 likes | 873 Views
In this presentation on the DSA Algorithm, we learn about the global standard in authentication and verification of digital signatures. We learn about the basics of public-key cryptography, and how digital signatures are used in today's internet sphere. <br><br>Learn more at: https://www.simplilearn.com/cyber-security-expert-master-program-training-course
E N D
Agenda for Today What Is Asymmetric Encryption? What Are Digital Signatures? What Is DSA? Steps In DSA Advantages of DSA
What Is Asymmetric Encryption? Asymmetric Key Cryptography uses two different keys for encryption and decryption. The key used for encryption is the public key, and the key used for decryption is the private key. PUBLIC KEY PRIVATE KEY ENCRYPTION DECRYPTION ENCRYPTED DATA
What Is Asymmetric Encryption? Nancy John “Meet me now” “dh12#djdi2+rg” Using John’s Private key to decrypt Using John’s Public key to encrypt “Meet me now” “dh12#djdi2+rg”
What Are Digital Signatures? • Mechanism to determine authenticity of a document file • Uses public key cryptography mechanism • Helpful to authenticate long distance official communication channels M D + E M M H# h h Comparison h H# Public Key Decryption Private Key Encryption Hash Function M – Plaintext h - Digest
Types of Implementation Digital Signature Implementation RSA DSA
What Is DSA? • Federal Information Processing Standard for digital signatures. • Proposed in 1991, standardized in 1994. • National Institute of Standards & Technology made it royalty free. • Covers the process from key generation to signature verification. M + H# M Public Key G s Global variable (G) r h Verification Function Signing Function H# Hash Function K (Random Variable) Comparison Private Key
Step 1: Key Generation • 1. Pre-requisites for the key generation formulas: • q -> Prime Divisor • p -> prime number, such that : p-1 mod q = 0 • g -> any integer (1<g<p) such that : g**q mod p = 1 and g = h**((p–1)/q) mod p
Step 1: Key Generation • x (private key) -> random integer such that : 0 < x < q • y (public key) can be calculated as : y = gx mod p • Private Key can be packaged as : {p,q,g,x} • Public Key can be packaged as : {p,q,g,y}
Step 2: Signature Generation Message is passed through a hash function to generate a digest (h). Choose any random integer k such that : 0 < k < q To calculate the value of r :(gk mod p) mod q To calculate the value of s :[K-1(h+x . R)mod q] The Signature can be packaged as {r,s}
Step 3: Signature Verification Calculate the message digest using same hash function. Compute the value of w such that :s*w mod q = 1 Compute the value of u1 as :u1 = h*w mod q Compute the value of u2 as :u2 = r*W mod q Finally, the verification component v :v = [((gu1 . yu2) mod p) mod q] If v ==r, the signature verification is succesfull.
Advantages of DSA Better speed in key computation Highly robust standard Less storage requirement Patent Free for all