Digital Signature Standard

From CryptoWiki
Jump to: navigation, search

DSA (Digital Signature Algorithm) - is the algorithm of digital signature public key, included in the standard DSS (Digital Signature Standard) operating in the United States. Intended for formation (calculations) and verify digital signatures.

Contents

Description of a digital signature algorithm

Let p is a prime numbe, q is a prime divisor of p-1, satisfying the conditions:

Dsa1.png

Select Dsa2.png is an element field Dsa3.png, with the order of q. To do this, select a random number Dsa4.png and calculate Dsa5.png. If Dsa2.png=1, then select the number Dsa6.png again.

Select a random number a in the interval Dsa7.png and calculate the value Dsa8.png. The number a is a "secret key", and set Dsa9.png - public key.

Algorithm to calculate the digital signature

Calculation algorithm of digital signature for a message M is of the form:

1. choose a random integer r, Dsa10.png;

2. calculate Dsa11.png;

3. calculate Dsa12.png according to the algorithm SHA-1;

4. check condition Dsa13.png: if it is not met, then select a new value r;

5. calculate Dsa14.png;

6. the signature for the message M is a pair Dsa15.png.

Algorithm to verify digital signatures

Algorithm to verify digital signatures consists of the following:

1. calculate Dsa16.png, Dsa17.png, Dsa18.png;

2. calculate Dsa19.png;

3. check the equality Dsa20.png; if it is true, then the signature is accepted; if it is false, then the signature is rejected.

Bibliography

  • Черемушкин А.В. Криптографические протоколы. Основные свойства и уязвимости. - М.: Издательский центр "Академия", 2009. — 272 с.