DSSFrom CryptoDox, The Online Encyclopedia on Cryptography and Information SecurityDigital Signature Standard (DSS) is the digital signature algorithm (DSA) developed by the U.S. National Security Agency (NSA) to generate a digital signature for the authentication of electronic documents. DSS was put forth by the National Institute of Standards and Technology (NIST) in 1994, and has become the United States government standard for authentication of electronic documents. DSA is a pair of large numbers that are computed according to the specified algorithm within parameters that enable the authentication of the signatory, and as a consequence, the integrity of the data attached. Digital signatures are generated through DSA, as well as verified. Signatures are generated in conjunction with the use of a private key; verification takes place in reference to a corresponding public key. Each signatory has their own paired public (assumed to be known to the general public) and private (known only to the user) keys. Because a signature can only be generated by an authorized person using their private key, the corresponding public key can be used by anyone to verify the signature. A data summary of the information (called a message digest) is created through the use of a hash function specified in FIPS 180). The data summary is used in conjuntion with the DSA algorithm to create the digital signature that is sent with the message. Signature verification involves the use of the same hash function. 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. [1] Dr. Claus P. Schnorr claims that his U.S. Patent 4,995,082 covers DSA; this claim is disputed [2] [3]
Key generation
Note that (p, q, g) can be shared between different users of the system, if desired. Signing
Verifying
DSA is similar to the ElGamal. Correctness of the algorithmThe 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. The signer computes
Thus Since g has order q we have Finally, the correctness of DSA follows from See alsoReferences
External Links
|



