Difference between revisions of "Digital Signature Standard"

From CryptoWiki
Jump to: navigation, search
(Created page with "'''DSA''' (Digital Signature Standard) - это алгоритм цифровой подписи с открытым ключом, входит в стандарт DSS (Digita...")
 
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
'''DSA''' (Digital Signature Standard) - это алгоритм цифровой подписи с открытым ключом, входит в стандарт DSS (Digital Signature Standard), действующий в США. Предназначен для формирования (вычисления) и проверки цифровой подписи.
+
'''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.
  
== Описание алгоритма цифровой подписи ==
+
== Description of a digital signature algorithm ==
Пусть ''p'' - простое число, ''q'' - простой делитель числа ''p-1'', удовлетворяющие условиям:
+
Let ''p'' is a prime numbe, ''q'' is a prime divisor of ''p-1'', satisfying the conditions:
  
 
[[File:dsa1.png]]
 
[[File:dsa1.png]]
  
Выбираем [[File:dsa2.png]] - элемент поля [[File:dsa3.png]], имеющий порядок ''q''. Для этого выбираем случайное число [[File:dsa4.png]] и вычисляем [[File:dsa5.png]]. Если [[File:dsa2.png]]=1, выбираем число [[File:dsa6.png]] заново.
+
Select [[File:dsa2.png]] is an element field [[File:dsa3.png]], with the order of ''q''. To do this, select a random number  [[File:dsa4.png]] and calculate [[File:dsa5.png]]. If [[File:dsa2.png]]=1, then select the number [[File:dsa6.png]] again.
  
Выберем случайное число ''a'' в интервале [[File:dsa7.png]] и вычислим значение [[File:dsa8.png]]. Число ''a'' является ''секретным ключом'', а набор [[File:dsa9.png]] - ''открытым ключом''.
+
Select a random number ''a'' in the interval [[File:dsa7.png]] and calculate the value [[File:dsa8.png]]. The number ''a'' is a "secret key", and set [[File:dsa9.png]] - ''public key''.
  
== Алгоритм вычисления цифровой подписи ==
+
== Algorithm to calculate the digital signature ==
Алгоритм вычисления цифровой подписи для сообщения ''M'' имеет вид:
+
Calculation algorithm of digital signature for a message ''M'' is of the form:
  
1. выбрать случайное целое число ''r'', [[File:dsa10.png]];
+
1. choose a random integer ''r'', [[File:dsa10.png]];
  
2. вычислить [[File:dsa11.png]];
+
2. calculate [[File:dsa11.png]];
  
3. вычислить [[File:dsa12.png]] по алгоритму SHA-1;
+
3. calculate [[File:dsa12.png]] according to the algorithm SHA-1;
  
4. проверить условие [[File:dsa13.png]]: если оно не выполнено, то выбрать новое значение ''r'';
+
4. check condition [[File:dsa13.png]]: if it is not met, then select a new value ''r'';
  
5. вычислить [[File:dsa14.png]];
+
5. calculate [[File:dsa14.png]];
  
6. подписью для сообщения ''M'' считать пару [[File:dsa15.png]].
+
6. the signature for the message ''M'' is a pair [[File:dsa15.png]].
  
== Алгоритм проверки цифровой подписи ==
+
== Algorithm to verify digital signatures  ==
Алгоритм проверки цифровой подписи состоит из следующих действий:
+
Algorithm to verify digital signatures consists of the following:
  
1. вычислить [[File:dsa16.png]], [[File:dsa17.png]], [[File:dsa18.png]];
+
1. calculate [[File:dsa16.png]], [[File:dsa17.png]], [[File:dsa18.png]];
  
2. вычислить [[File:dsa19.png]];
+
2. calculate [[File:dsa19.png]];
  
3. проверить равенство [[File:dsa20.png]]; если оно '''верно''', то подпись '''принимается'''; если - '''нет''', то '''отвергается'''.
+
3. check the equality [[File:dsa20.png]]; if it is true, then the signature is accepted; if it is false, then the signature is rejected.
  
 
== Bibliography ==
 
== Bibliography ==
  
 
* Черемушкин А.В. Криптографические протоколы. Основные свойства и уязвимости. - М.: Издательский центр "Академия", 2009. — 272 с.
 
* Черемушкин А.В. Криптографические протоколы. Основные свойства и уязвимости. - М.: Издательский центр "Академия", 2009. — 272 с.

Latest revision as of 00:02, 7 December 2013

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 с.