Digital Signature Algorithm

Overview [1]#

Digital Signature Algorithm (or Signature Scheme) includes a Digital Signature Signature Generation process and a Signature VSignature Verification process.
Digital Signature and therefore Digital Signature Algorithm are not Encryption even though they are used within the Encryption process

Each signatory has a Public Key and Private Key. The Private Key is used in the signature generation process. The owner entity MUST have exclusive control over the use of the Private Key to generate Digital Signatures. In order to prevent other entities from impersonation of pair owner and using the Private Key to generate fraudulent Digital Signatures, the Private Key MUST remain secret.

Digital Signature Algorithm vs Electronic Signatures #

While Digital Signatures are often used to implement Electronic Signatures, but not all Electronic Signatures use Digital Signatures.

Digital Signature Algorithm #

Digital Signature Algorithm typically consists of three algorithms;

Common Digital Signature Algorithm#

FIPS 186#

Digital Signature Algorithm (DSA), is also an algorithm defined by the Federal Information Processing Standard for Digital Signatures.

Digital Signature Algorithm was proposed by the National Institute of Standards and Technology (NIST) in August 1991 for use in their Digital Signature Standard (DSS) and adopted as FIPS 186 in 1993.

Four revisions to the initial specification have been released:

Digital Signature Algorithm is covered by U.S. Patent 5,231,668, filed July 26, 1991 and attributed to David W. Kravitz,[6] 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 NIST has made this patent available worldwide royalty-free.[7] Claus P. Schnorr claims that his U.S. Patent 4,995,082 (expired) covered DSA; this claim is disputed.[8]

Digital Signature Algorithm is a variant of the ElGamal Signature Scheme.

More Information#

There might be more information for this subject on one of the following: