|
The Digital Signature Algorithm (DSA) is a United States Federal Government standard or FIPS for digital signatures. It was proposed by the National Institute of Standards and Technology (NIST) in August 1991 for use in their Digital Signature Standard (DSS), specified in FIPS 186 [1], adopted in 1993. A minor revision was issued in 1996 as FIPS 186-1 [2], and the standard was expanded further in 2000 as FIPS 186-2 [3]. To meet Wikipedias quality standards, this article or section may require cleanup. ...
Federal Information Processing Standards (FIPS) are publicly announced standards developed by the U.S. Federal government for use by all (non-military) government agencies and by government contractors. ...
Federal Information Processing Standards (FIPS) are publicly announced standards developed by the U.S. Federal government for use by all (non-military) government agencies and by government contractors. ...
Digital signature is a term with confusing reference. ...
NIST logo The National Institute of Standards and Technology (NIST, formerly known as The National Bureau of Standards) is a non-regulatory agency of the United States Department of Commerceâs Technology Administration. ...
1991 (MCMXCI) was a common year starting on Tuesday of the Gregorian calendar. ...
Federal Information Processing Standards (FIPS) are publicly announced standards developed by the U.S. Federal government for use by all (non-military) government agencies and by government contractors. ...
DSA is covered by U.S. Patent 5,231,668, filed July 26, 1991, and attributed to David W. Kravitz, a former NSA employee. This patent was given to "The United States of America as represented by the Secretary of Commerce, Washington, D.C." and the NIST has made this patent available world-wide royalty-free. [4] Dr. Claus P. Schnorr claims that his U.S. Patent 4,995,082 covers DSA; this claim is disputed. July 26 is the 207th day (208th in leap years) of the year in the Gregorian Calendar, with 158 days remaining. ...
1991 (MCMXCI) was a common year starting on Tuesday of the Gregorian calendar. ...
NSA can stand for: National Security Agency of the USA The British Librarys National Sound Archive This page concerning a three-letter acronym or abbreviation is a disambiguation page â a navigational aid which lists other pages that might otherwise share the same title. ...
A royalty is a sum paid to the creator of performance art for the use of that art. ...
Key generation
- Choose a 160-bit prime q.
- Choose an L-bit prime p, such that p=qz+1 for some integer z and such that 512 ≤ L ≤ 1024 and L is divisible by 64. Note: FIPS-186-2, change notice 1 specifies that L should only assume the value 1024, and the forthcoming FIPS 186-3 (described, e.g., in SP 800-57) uses SHA-224/256/384/512 as a hash function, q of size 224, 256, 384, and 512 bits, with L equal to 2048, 3072, 7680, and 15360, respectively.
- Choose h, where 1 < h < p − 1 such that g = hz mod p > 1 and z = (p-1) / q.
- Choose x by some random method, where 0 < x < q.
- Calculate y = gx mod p.
- Public key is (p, q, g, y). Private key is x.
Note that (p, q, g) can be shared between different users of the system, if desired. Sha (Ш, Ñ) is a letter of the Cyrillic alphabet, representing the consonant sound or . ...
There exist efficient algorithms for computing the modular exponentiations hz mod p and gx mod p. Modular exponentiation is a type of exponentiation performed over a modulus. ...
Signing - Generate a random per message value k where 0 < k < q
- Calculate r = (gk mod p) mod q
- Calculate s = (k-1(SHA-1(m) + x*r)) mod q, where SHA-1(m) is the SHA-1 hash function applied to the message m
- Recalculate the signature in the unlikely case that r=0 or s=0
- The signature is (r,s)
The extended Euclidean algorithm can be used to compute the modular inverse k-1 mod q. The SHA (Secure Hash Algorithm) family is a set of related cryptographic hash functions designed by the National Security Agency (NSA) and published by the National Institute of Standards and Technology (NIST). ...
In cryptography, a cryptographic hash function is a hash function with certain additional security properties to make it suitable for use as a primitive in various information security applications, such as authentication and message integrity. ...
The extended Euclidean algorithm is an extension to the Euclidean algorithm for finding the greatest common divisor (GCD) of a and b: it also finds the integers x and y in Bezouts identity The extended Euclidean algorithm is particularly useful when a and b are coprime, since x is...
Verifying - Reject the signature if either 0< r <q or 0< s <q is not satisfied.
- Calculate w = (s)-1 mod q
- Calculate u1 = (SHA-1(m)*w) mod q
- Calculate u2 = (r*w) mod q
- Calculate v = ((gu1*yu2) mod p) mod q
- The signature is valid if v = r
DSA is similar to the ElGamal signature scheme. The ElGamal Signature scheme is a digital signature scheme which is based on the difficulty of computing discrete logarithms. ...
Correctness of the algorithm The signature scheme is correct in the sense that the verifier will always accept genuine signatures. This can be shown as follows: From g = hz mod p follows gq ≡ hqz ≡ hp-1 ≡ 1 (mod p) by Fermat's little theorem. Since g>1 and q is prime it follows that g has order q. Fermats little theorem (not to be confused with Fermats last theorem) states that if p is a prime number, then for any integer a, This means that if you start with a number, initialized to 1, and repeatedly multiply, for a total of p multiplications, that number by...
The signer computes  Thus  Since g has order q we have  Finally, the correctness of DSA follows from  See also Elliptic Curve DSA (ECDSA) is a variant of the Digital Signature Algorithm (DSA) which operates on elliptic curve groups. ...
External links |