Difference between revisions of "Digital Signature Standard"

From CryptoWiki
Jump to: navigation, search
(Created page with "'''DSA''' (Digital Signature Standard) - это алгоритм цифровой подписи с открытым ключом, входит в стандарт DSS (Digita...")
 
Line 1: Line 1:
'''DSA''' (Digital Signature Standard) - это алгоритм цифровой подписи с открытым ключом, входит в стандарт DSS (Digital Signature Standard), действующий в США. Предназначен для формирования (вычисления) и проверки цифровой подписи.
+
'''DSA''' (Digital Signature Standard) - 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 с.

Revision as of 23:57, 6 December 2013

DSA (Digital Signature Standard) - 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 с.