RU2325768C1 - Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ - Google Patents

Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ Download PDF

Info

Publication number
RU2325768C1
RU2325768C1 RU2006138734/09A RU2006138734A RU2325768C1 RU 2325768 C1 RU2325768 C1 RU 2325768C1 RU 2006138734/09 A RU2006138734/09 A RU 2006138734/09A RU 2006138734 A RU2006138734 A RU 2006138734A RU 2325768 C1 RU2325768 C1 RU 2325768C1
Authority
RU
Russia
Prior art keywords
bit binary
mdc
binary number
mod
modulo
Prior art date
Application number
RU2006138734/09A
Other languages
English (en)
Inventor
н Николай Андреевич Молдов (RU)
Николай Андреевич Молдовян
н Александр Андреевич Молдов (RU)
Александр Андреевич Молдовян
Original Assignee
Николай Андреевич Молдовян
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Николай Андреевич Молдовян filed Critical Николай Андреевич Молдовян
Priority to RU2006138734/09A priority Critical patent/RU2325768C1/ru
Application granted granted Critical
Publication of RU2325768C1 publication Critical patent/RU2325768C1/ru

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

Изобретение относится к области электросвязи, а именно к области криптографических устройств и способов проверки электронной цифровой подписи (ЭЦП). Техническим результатом является уменьшение размера ЭЦП без снижения ее уровня стойкости. В способе формируют секретный ключ (СК), включающий три простых многоразрядных двоичных числа р, q и γ. Формируют открытый ключ (ОК), включающий три многоразрядных двоичных числа n, α и β, где n=Epq+1, Е - четное число, α - число, относящееся к показателю q по модулю n, и β - число, относящееся к показателю γ по модулю q. Принимают электронный документ (ЭД) в виде многоразрядного двоичного числа Н, формируют электронную цифровую подпись (ЭЦП) Q в зависимости от значений СК, ОК и многоразрядного двоичного числа Н, формируют первое проверочное многоразрядное двоичное число А в зависимости от Q, формируют промежуточное многоразрядное двоичное число W в зависимости от ОК и многоразрядного двоичного числа Н, формируют второе проверочное многоразрядное двоичное число В в зависимости от W и сравнивают числа А и В. При совпадении параметров чисел А и В делают вывод о подлинности электронной цифровой подписи. 7 з.п. ф-лы.

Description

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов аутентификации электронных сообщений, передаваемых по телекоммуникационным сетям и сетям ЭВМ, и может быть использовано в системах передачи электронных сообщений (документов), заверенных электронной цифровой подписью (ЭЦП) (толкование используемых в описании терминов приведено в Приложении 1).
Известен способ формирования и проверки ЭЦП, описанный в книгах [1. М.А. Иванов. Криптография. М., КУДИЦ-ОБРАЗ, 2001; 2. А.Г. Ростовцев, Е.Б. Маховенко. Введение в криптографию с открытым ключом. С-Петербург, Мир и семья, 2001. - с.43]. Известный способ заключается в следующей последовательности действий:
формируют секретный ключ в виде трех простых МДЧ p, q и d, формируют открытый ключ (n, е) в виде пары МДЧ n и e, где n - число, представляющее собой произведение двух простых МДЧ p и q, и е - МДЧ, удовлетворяющее условию ed=1 mod (p-1)(q-1), принимают электронный документ, представленный МДЧ Н, в зависимости от значения Н и значения секретного ключа формируют ЭЦП в виде МДЧ Q=S=Hd mod n;
формируют первое проверочное МДЧ А=Н;
формируют второе проверочное МДЧ В, для чего МДЧ S возводят в целочисленную степень е по модулю n:В=Se mod n;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком известного способа является относительно большой размер подписи и необходимость увеличения размера подписи при разработке новых более эффективных алгоритмов разложения числа n на множители или при росте производительности современных вычислительных устройств. Это объясняется тем, что значение элемента подписи S вычисляется путем выполнения арифметических операций по модулю n, а стойкость ЭЦП определяется сложностью разложения модуля n на множители p и q.
Известен также способ проверки ЭЦП Эль-Гамаля, описанный в книге [Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. - СПб, Лань, 2000. - С.156-159], который включает следующие действия:
формируют простое МДЧ p и двоичное число G, являющееся первообразным корнем по модулю p, генерируют секретный ключ в виде МДЧ x, в зависимости от x формируют открытый ключ в виде МДЧ Y=Gx mod p, принимают электронный документ (ЭД), представленный в виде МДЧ Н, в зависимости от Н и секретного ключа формируют ЭЦП Q в виде двух МДЧ S и R, то есть Q=(R, S);
осуществляют процедуру проверки ЭЦП, включающую вычисление двух контрольных параметров с использованием исходных МДЧ p, G, Y, Н, R и S путем возведения МДЧ G, Y, R в дискретную степень по модулю p и сравнение вычисленных контрольных параметров;
при совпадении значений контрольных параметров делают вывод о подлинности ЭЦП.
Недостатком данного способа также является относительно большой размер ЭЦП. Это объясняется тем, что значения элементов подписи S и R вычисляются путем выполнения арифметических операций по модулю p - 1 и по модулю p соответственно.
Наиболее близким по своей технической сущности к заявленному является известный способ формирования и проверки подлинности ЭЦП, описанный в статье [Костин А.А., Молдовян Д.Н., Молдовян Н.А. Новая криптосистема с открытым ключом на основе RSA-модуля // Вопросы защиты информации. 2005 (68). №1. С.8-12]. Ближайший аналог (прототип) заключается в выполнении следующей последовательности действий:
формируют секретный ключ в виде трех простых МДЧ p, q и γ, формируют открытый ключ (n, α) в виде пары МДЧ n и α, где n - число, представляющее собой произведение двух простых МДЧ p и q, и α - число, относящееся к показателю γ по модулю n, принимают электронный документ, представленный МДЧ Н, в зависимости от значения H и значения секретного ключа формируют ЭЦП Q в виде МДЧ S, то есть Q=S;
формируют первое проверочное МДЧ А, для чего МДЧ S возводят в степень Н по модулю n;
формируют второе проверочное МДЧ В, для чего МДЧ α возводят в целочисленную степень u≥1 по модулю n: В=αu mod n;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком ближайшего аналога также является относительно большой размер подписи, что обусловлено необходимостью вычисления значения S путем выполнения арифметических операций по модулю n, размер которого для обеспечения требуемого уровня стойкости ЭЦП составляет 1024 бит и более.
Целью изобретения является разработка способа генерации и проверки подлинности ЭЦП, заверяющей ЭД, обеспечивающего уменьшение размера подписи без снижения уровня стойкости ЭЦП.
Поставленная цель достигается тем, что в известном способе генерации и проверки подлинности ЭЦП, заверяющей ЭД, заключающемся в том, что формируют секретный ключ, включающий три простых МДЧ p, q и γ, формируют открытый ключ, включающий, по крайней мере, два МДЧ n и α, где α<n, принимают ЭД, представленный МДЧ H, в зависимости от значения Н и значения секретного ключа формируют электронную цифровую подпись Q, формируют первое А и второе В проверочные МДЧ, сравнивают их и при совпадении их параметров делают вывод о подлинности ЭЦП, новым в заявленном способе является то, что формируют открытый ключ, включающий три МДЧ n, α и β где n=Em+1, Е - четное число и m=pq, причем n является простым числом, α - число, относящееся к показателю q по модулю n, и β - число, относящееся к показателю γ по модулю q, причем γ делит нацело число q-1 и не делит нацело число p-1, ЭЦП формируют в виде двух МДЧ R и S, то есть Q=(R, S), затем формируют первое проверочное МДЧ А в зависимости от Q, генерируют промежуточное МДЧ число W в зависимости от МДЧ Н, R, S, n, m, α и β, а второе проверочное МДЧ В формируют путем сжимающего преобразования промежуточного МДЧ W.
Новым также является то, что первое проверочное МДЧ А формируют путем вычитания значения S из значения R.
Новым также является то, что первое проверочное МДЧ А формируют путем выполнения операции деления значения R на значение S.
Новым также является то, что промежуточное МДЧ W формируют путем возведения числа α в степень Z по модулю n, где Z - МДЧ, которое вычисляют по формуле Z=βRSH mod m или Z=HβRS mod m.
Новым также является то, что промежуточное МДЧ W формируют путем возведения числа α в степень Z по модулю n, где Z - МДЧ, которое вычисляют по формуле Z=βRSH mod m или Z=HβRS mod m, после чего полученное значение W дополнительно преобразуют в соответствии с формулой W←WH mod n или W←(W+Н) mod n, где знак ← обозначает операцию присваивания.
Новым также является то, что промежуточное МДЧ W формируют путем возведения числа α в степень Z по модулю n, где Z - МДЧ, которое вычисляют по формуле Z=βRHYS mod m или Z=HβRYSH mod m, где Y=βx mod q и x - дополнительное случайное МДЧ.
Новым является также и то, что сжимающее преобразование промежуточного МДЧ W выполняют с помощью хэш-функции.
Новым является также и то, что сжимающее преобразование промежуточного МДЧ W выполняют с помощью операции взятия остатка от деления промежуточного МДЧ W на простое число 6, длина которого лежит в пределах от 64 до 256 бит.
Благодаря новой совокупности существенных признаков путем изменения процедуры формирования проверочных МДЧ достигается уменьшение размера подписи, а выбором фиксированного размера секретного МДЧ γ обеспечивается неизменность размера подписи при увеличении размера секретного МДЧ p и q, чем и обеспечивается поддержание стойкости ЭЦП, т.е. реализуется сформулированный технический результат.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют в известных источниках информации, что указывает на соответствие заявленного изобретения условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях с целью выявления признаков, совпадающих с отличительными от ближайшего аналога признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники, что указывает на соответствие заявленного изобретения условию «изобретательский уровень».
Возможность реализации заявленного способа объясняется следующим образом. Известно, что сложность задачи разложения целого числа на два больших простых множителя зависит от длины последних, поэтому при появлении новых методов разложения увеличивают длину его простых множителей. Открытый ключ формируют в виде простого числа n=Npq+1 в зависимости от секретных простых чисел p и q, выбираемых такими, чтобы число q-1 делились на простое число γ, а число p-1 не делилось нацело на γ. Причем простое число γ выбирают длиной, примерно равной 160-256 бит, что предотвращает возможность угадывания или подбора его значения. Выбирая в качестве α некоторое число, относящееся по модулю n к показателю m, и выбирая в качестве β некоторое число, относящееся по модулю m к показателю γ, мы можем воспользоваться следующими выражениями для формирования первого и второго проверочных МДЧ А и В, соответственно:
Figure 00000001
и
Figure 00000002
,
где F(W) есть некоторая сжимающая функция, вычисляемая путем выполнения сжимающего преобразования числа, являющегося ее аргументом, а элемент подписи R вычисляется по предварительно выбираемому случайному числу k по формуле
Figure 00000003
. Например, в качестве сжимающей функции можно использовать операцию взятия остатка от деления на МДЧ δ, имеющее заданную длину и определяющее размер значения функции F. В качестве сжимающей функции можно также использовать хэш-функции, описанные, например, в книге [Молдовян А.А., Молдовян Н.А. Введение в криптосистемы с открытым ключом. - СПб. БХВ-Петербург, 2005. - 286 с.; см. с.184-204].
С учетом выбора чисел α и β равенство А=В выполняется, если выполняется сравнение βkRSH mod m, а последнее сравнение выполняется тогда и только тогда, когда выполняется сравнение k≡RSH mod γ, откуда получаем формулу для вычисления подписи:
Figure 00000004
Владелец секретного числа γ может легко вычислить правильное значение элемента подписи S, которое будет зависеть от предварительно сформированного значения R и значения Н. При этом разрядность элемента подписи S не будет превышать разрядности секретного числа γ, так как число S вычисляется по модулю γ. Сформированная таким образом подпись (R, S) будет удовлетворять процедуре проверки подлинности ЭЦП. Стойкость ЭЦП определяется сложностью разложения модуля m на множители и сложностью логарифмирования по модулю p при основании α, поскольку для определения значения k по известному элементу подписи R следует предварительно найти значение βk mod m. Поскольку число α относится к большому показателю m, то сложность логарифмирования не ниже сложности разложения m на множители или не ниже сложности логарифмирования по модулю p при основании, относящегося по модулю p к большому показателю m. Обе задачи при разрядности m равной 1024 бит и более являются практически не реализуемыми. При появлении новых методов дискретного логарифмирования или новых методов разложения числа m на множители разрядность m может быть выбрана равной 2048 бит и более при сохранении разрядности значения сжимающей функции и разрядности секретного числа γ. Разрядность сжимающей функции, равная 80-256 бит, делает пренебрежимой вероятность нахождения правильного значения подписи без использования секретного ключа. Разрядность сжимающей функции определяет разрядность элемента подписи R. С учетом этого замечания получаем, что размер подписи Q=(R, S) составляет от 240 до 512 бит. При этом в заявляемом способе формирования и проверки подлинности подписи имеется механизм, обеспечивающий сохранность размера подписи при увеличении размера чисел, задающих сложность задачи разложения на множители или дискретного логарифмирования. Сжимающую функцию F(W) можно определить через операцию взятия остатка от деления на некоторое простое число δ, имеющее требуемую разрядность: F(W)=W mod δ, где δ≠γ и разрядность числа δ равна от 80 до 256 бит.
Рассмотрим примеры реализации заявленного технического решения с искусственно уменьшенной разрядностью используемых чисел.
Пример 1. Реализации заявляемого способа с иллюстрацией конкретных численных значений.
Приводимые в примере МДЧ записаны для краткости в виде десятичных чисел, которые в вычислительных устройствах представляются и преобразуются в двоичном виде, т.е. в виде последовательности сигналов высокого и низкого потенциала. При проверке подлинности ЭЦП выполняют следующую последовательность действий.
1. Формируют секретный ключ в виде тройки МДЧ (p, q, γ), где γ=48463; МДЧ p=984413 и q=12γ+1=581557.
2. Формируют открытый ключ в виде тройки чисел (n, α, β), где
МДЧ n=2pq+1=1144984542083, где m=pq=572492271041;
МДЧ α=2916;
МДЧ β=155150577833.
3. Принимают открытый ключ подписывающего (n, α, β), рассылаемый, например, удостоверяющим центром по телекоммуникационным сетям.
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД): H=37975637.
5. Формируют ЭЦП Q в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Задают случайное число k=4757231.
5.2. Формируют элемент подписи R путем выполнения операций, задаваемых формулой
Figure 00000005
где δ=84713:
Figure 00000006
5.3. Формируют элемент подписи S путем выполнения операций, задаваемых формулой
Figure 00000007
S=31318832.
6. Формируют первое проверочное МДЧ А в зависимости от ЭЦП Q=(R, S):
A=R=73802.
7. Генерируют промежуточное МДЧ W в соответствии с формулой W=αZmod n, где Z - МДЧ, зависящее от β, Н и Q, а именно Z=βRSH mod m=15515057783373802·31318832·37975637mod572492271041=219444376609:
W=2916219444376609 mod1144984542083=940022876369.
8. Формируют второе проверочное МДЧ В путем сжимающего преобразования промежуточного МДЧ W:
В=F(W)=(W)modδ=940022876369 mod 84713=73802.
9. Сравнивают (например, поразрядно) параметры первого и второго проверочных чисел А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована подписывающим, которому соответствует принятый открытый ключ (n, α, β).
Рассмотренные в примере реализации заявленного способа действия обеспечивают корректность работы заявляемого способа в общем случае, т.е. для произвольной длины чисел n, α, β, p, q, γ, Н, R и S, сформированных в соответствии с заявляемым способом. Это доказывается теоретически следующим образом:
Figure 00000008
Правильное значение ЭЦП можно вычислить только при знании секретного МДЧ γ. В то же время проверка правильности подписи осуществляется с использованием открытого ключа (n, α, β). Для несанкционированного формирования ЭЦП необходимо разложить число m на множители p и q, затем разложить числа p-1 и q-1 и найти значение γ. Однако при большой разрядности числа m эта задача вычислительно нереализуема. При появлении новых методов решения задачи разложения можно увеличить длину чисел p и q, а следовательно, увеличить и длину числа m, сохраняя прежний размер числа γ и прежнюю сжимающую функции. Это обеспечит сохранение размера подписи при задании требуемого значения сложности задачи разложения числа m на множители. При этом увеличение размера числа m также приведет и к увеличению сложности задачи дискретного логарифмирования, связанную с попытками вычисления значения k путем предварительного вычисления значения βk mod m.
В приводимых ниже дополнительных примерах реализации заявляемого способа не указывается конкретное значение численных значений. Корректность работы способа доказывается математическим способом для произвольных значений параметров, выбранных в соответствии с описанием изобретения и конкретизацией вариантов реализации в отдельных примерах.
Пример 2. Реализация заявляемого способа для выработки ЭЦП длиной 240 бит.
В данном примере используется число α, относящееся к показателю q по модулю n, и число β, относящееся к показателю γ по модулю q. При этом в качестве показателя γ выбирается один из делителей числа q-1, а число p выбирается таким, что число p-1 не делится нацело на γ, т.е. γ делит нацело число q-1 и не делит число p-1. Такой выбор позволяет использовать в качестве γ и δ не равных между собой простых чисел длиной 160 бит и 80 бит, соответственно, благодаря чему размер подписи сокращается до длины 240 бит при сохранении высокой криптостойкости. Высокая криптостойкость обеспечивается секретностью модуля, по которому число β относится к показателю γ. В данном примере выполняется следующая последовательность действий.
1. Формируют секретный ключ в виде тройки чисел (p, q, γ), где МДЧ γ делит нацело число q-1 и не делит число p-1, МДЧ p и q есть простые числа. Длина числа π выбирается равной 160 бит.
2. Формируют открытый ключ в виде тройки чисел (n, α, β), где МДЧ n=2pq+1 и α есть число, относящееся к показателю q по модулю n.
3. Принимают открытый ключ подписывающего (n, α, β), рассылаемый, например, удостоверяющим центром по телекоммуникационным сетям.
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД).
5. Формируют ЭЦП Q в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Задают случайное число k.
5.2. Формируют элемент подписи R путем выполнения операций, задаваемых формулой
Figure 00000009
где δ - дополнительное простое число длиной 80 бит. Поскольку эта формула задает вычисление по модулю длины 80 бит, то значение R имеет длину 80.
5.3. Формируют элемент подписи S путем выполнения операций, задаваемых формулой
Figure 00000010
Поскольку эта формула задает вычисление по модулю длины 160 бит, то значение S имеет длину 160 бит. С учетом длины элемента подписи R получаем длину ЭЦП - 240 бит.
6. Формируют первое проверочное МДЧ А в зависимости от ЭЦП Q=(R, S):
A=R=73802.
7. Генерируют промежуточное МДЧ W в соответствии с формулой W=αZ mod n, где Z - МДЧ, зависящее от β, Н и Q, а именно Z=HβRS mod m:
Figure 00000011
8. Преобразуют промежуточное МДЧ W в соответствии с формулой
Figure 00000012
в результате чего получаем значение:
Figure 00000013
9. Формируют второе проверочное МДЧ В путем сжимающего преобразования промежуточного МДЧ W:
Figure 00000014
10. Сравнивают (например, поразрядно) параметры первого и второго проверочных чисел А и В.
Совпадение значений А и В будет означать, что ЭЦП является подлинной, т.е. относящейся к принятому ЭД, представленному МДЧ Н, и сформирована подписывающим, которому соответствует принятый открытый ключ (n, α, β).
Это доказывается теоретически следующим образом. Мы имеем
Figure 00000015
Поскольку α есть число, относящееся к показателю q по модулю n, то
Figure 00000016
и
Figure 00000017
поэтому справедливы следующие преобразования:
Figure 00000018
Пример 3. Реализация заявляемого способа для выработки ЭЦП длиной 320 бит.
В данном примере используется число α, относящееся к показателю q по модулю n, и число β, относящееся к показателю γ по модулю q. При этом в качестве показателя γ выбирается один из делителей числа q-1, а число p выбирается таким, что число p-1 не делится нацело на γ, т.е. γ делит нацело число q-1 и не делит число p-1. В данном примере используются не равные между собой простые числа γ и δ длиной по 160 бит каждое, поэтому размер подписи составляет 320 бит при сохранении высокой криптостойкости. Высокая криптостойкость обеспечивается секретностью модуля, по которому число β относится к показателю γ. В данном примере выполняется следующая последовательность действий.
1. Формируют секретный ключ в виде тройки чисел (p, q, γ), где МДЧ γ делит нацело число q-1 и не делит число p-1, МДЧ p и q есть простые числа. Длина числа γ выбирается равной 160 бит.
2. Формируют открытый ключ в виде тройки чисел (n, α, β), где МДЧ n=2pq+1, а есть число, относящееся к показателю q по модулю n и β есть число, относящееся к показателю γ по модулю q.
3. Принимают открытый ключ подписывающего (n, α, β), рассылаемый, например, удостоверяющим центром по телекоммуникационным сетям.
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД).
5. Формируют ЭЦП Q в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Задают случайное число k.
5.2. Генерируют вспомогательное МДЧ G в соответствии с формулой:
Figure 00000019
где δ - дополнительное простое число длиной 160 бит. Поскольку эта формула задает вычисление по модулю длины 160 бит, то значение G имеет длину 160.
5.3. Формируют элемент подписи S путем выполнения операций, задаваемых формулой
Figure 00000020
Поскольку эта формула задает вычисление по модулю длины 160 бит, то значение S имеет длину 160 бит.
5.4. Формируют элемент подписи R в соответствии с формулой R=S+G. Поскольку значения S и G имеют длину 160 бит, то значение R также имеет длину примерно 160 бит. С учетом длины элементов подписи R и S получаем длину ЭЦП - 320 бит.
6. Формируют первое проверочное МДЧ А: А=R-S.
7. Генерируют промежуточное МДЧ W в соответствии с формулой W=αZmod n, где Z - МДЧ, зависящее от β, Н и Q, а именно Z=βRSHmod m:
Figure 00000021
8. Преобразуют промежуточное МДЧ W в соответствии с формулой
Figure 00000022
в результате чего получаем значение:
Figure 00000023
9. Формируют второе проверочное МДЧ В путем сжимающего преобразования промежуточного МДЧ W:
Figure 00000024
10. Сравнивают (например, поразрядно) параметры первого и второго проверочных чисел А и В.
Совпадение значений А и В будет означать, что ЭЦП является подлинной, т.е. относящейся к принятому ЭД, представленному МДЧ H, и сформирована подписывающим, которому соответствует принятый открытый ключ (n, α, β).
Это доказывается теоретически следующим образом. Мы имеем
Figure 00000025
Вычислим значение
Figure 00000026
Поскольку α есть число, относящееся к показателю q по модулю n, то
Figure 00000027
и
Figure 00000028
поэтому справедливы следующие преобразования:
Figure 00000029
Поскольку A=R-S=(G-S)+S, то A=B.
Пример 4. Реализация заявляемого способа для выработки ЭЦП длиной 400 бит.
В данном примере используется число α, относящееся к показателю q по модулю n, и число β, относящееся к показателю γ по модулю q. При этом в качестве показателя γ выбирается один из делителей числа q-1, а число p выбирается таким, что число p-1 не делится нацело на γ. В качестве МДЧ γ и δ используются не равные между собой простые числа длиной 160 бит и 80 бит, соответственно. В данном примере выполняется следующая последовательность действий.
1. Формируют секретный ключ в виде тройки чисел (p, q, γ), где МДЧ γ делит нацело число q-1 и не делит число p-1, МДЧ p и q есть простые числа. Длина числа γ выбирается равной 160 бит.
2. Формируют открытый ключ в виде тройки чисел (n, α, β), где МДЧ n=2pq+1 и α есть число, относящееся к показателю q по модулю n и β есть число, относящееся к показателю γ по модулю q.
3. Принимают открытый ключ подписывающего (n, α, β), рассылаемый, например, удостоверяющим центром по телекоммуникационным сетям.
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД).
5. Формируют ЭЦП Q в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Задают случайное число k.
5.2. Генерируют вспомогательное МДЧ G в соответствии с формулой:
Figure 00000030
где δ - дополнительное простое число длиной 80 бит. Поскольку эта формула задает вычисление по модулю длины 80 бит, то значение G имеет длину 80.
5.3. Формируют элемент подписи S путем выполнения операций, задаваемых формулой
Figure 00000031
Поскольку эта формула задает вычисление по модулю длины 160 бит, то значение S имеет длину 160 бит.
5.4. Формируют элемент подписи R в соответствии с формулой R=S·G. Поскольку значения S имеет длину 160 бит и G имеет длину 80 бит, то значение R, получаемое как произведение значений S и G, имеет длину, равную сумме длин значений S и G, то есть имеет длину 240 бит. С учетом длины элементов подписи R и S получаем длину ЭЦП - 400 бит.
6. Формируют первое проверочное МДЧ А:
Figure 00000032
7. Генерируют промежуточное МДЧ W в соответствии с формулой W=αZ mod n, где Z - МДЧ, зависящее от β, H и Q, а именно Z=βRSH mod m:
Figure 00000033
8. Преобразуют промежуточное МДЧ W в соответствии с формулой
Figure 00000034
в результате чего получаем значение:
Figure 00000035
9. Формируют второе проверочное МДЧ В путем сжимающего преобразования промежуточного МДЧ W:
Figure 00000036
10. Сравнивают (например, поразрядно) параметры первого и второго проверочных чисел А и В.
При формировании подписи по секретному ключу значения А и В будут совпадать, что означает подлинность ЭЦП, т.е. то, что ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована подписывающим, которому соответствует принятый открытый ключ (n, α, β). Это доказывается теоретически следующим образом. Мы имеем
Figure 00000037
Поскольку α есть число, относящееся к показателю q по модулю n, то
Figure 00000038
и
Figure 00000039
поэтому справедливы следующие преобразования:
Figure 00000040
Поскольку
Figure 00000041
то A=B.
Пример 5. Реализация заявляемого способа для выработки ЭЦП длиной 240 бит.
В данном примере используется число α, относящееся к показателю q по модулю n, и число β, относящееся к показателю γ по модулю q. При этом в качестве показателя γ выбирается один из делителей числа q-1, причем γ не делит нацело число p-1. В качестве МДЧ γ и δ используются не равные между собой простые числа длиной 160 бит и 80 бит, соответственно, благодаря чему размер подписи в этом примере равен 240 бит. При генерации числа n используется четное число Е значением до 8192, что упрощает процедуру генерации простого МДЧ n. В данном примере выполняется следующая последовательность действий.
1. Формируют секретный ключ в виде тройки чисел (p, q, γ), где длина числа γ выбирается равной 160 бит.
2. Формируют открытый ключ в виде тройки чисел (n, α, β), где МДЧ n=Epq+1 есть простое число и α есть число, относящееся к показателю q по модулю n, β есть число, относящееся к показателю γ по модулю q. При этом простое МДЧ n генерируют следующим путем: формируют два простых числа p и q, после чего для различных значений четного числа Е, выбираемого из условия Е<8192, вычисляется значение n=Epq+1, а затем проверяется, является ли n простым числом. Этот способ формирования простого числа n обеспечивает с большой вероятностью нахождение для фиксированной пары чисел p и q такого четного значения Е, при котором число n=Epq+1 является простым.
3. Генерируют первое вспомогательное случайное МДЧ x.
4. Генерируют второе вспомогательное МДЧ Y=βx mod q.
5. Принимают открытый ключ подписывающего (n, α, β) и второе вспомогательное МДЧ Y, рассылаемые, например, удостоверяющим центром по телекоммуникационным сетям.
6. Принимают ЭД, представленный, например, следующим МДЧ H (в качестве которого может быть взята, в частности, хэш-функция от ЭД).
7. Формируют ЭЦП Q в виде пары чисел (R, S), для чего выполняют следующие действия:
7.1. Задают случайное число k.
7.2. Формируют элемент подписи R в соответствии с формулой:
Figure 00000042
где δ - дополнительное простое число длиной 80 бит. Поскольку эта формула задает вычисление по модулю длины 80 бит, то значение R имеет длину 80.
7.3. Формируют элемент подписи S в соответствии с формулой:
Figure 00000043
Поскольку эта формула задает вычисление по модулю длины 160 бит, то значение S имеет длину 160 бит. С учетом длины элементов подписи R и S получаем длину ЭЦП - 240 бит.
8. Формируют первое проверочное МДЧ А: А=R.
9. Генерируют промежуточное МДЧ W в соответствии с формулой W=αz mod n, где Z - МДЧ, зависящее от β, Н и Q, а именно Z=βRHYS mod m, где m=pq:
Figure 00000044
10. Преобразуют промежуточное МДЧ W в соответствии с формулой
Figure 00000045
в результате чего получаем значение:
Figure 00000046
11. Формируют второе проверочное МДЧ В путем сжимающего преобразования промежуточного МДЧ W:
Figure 00000047
12. Сравнивают (например, поразрядно) параметры первого и второго проверочных чисел А и В.
Совпадение значений А и В означает, что ЭЦП является подлинной, т.е. относящейся к принятому ЭД, представленному МДЧ Н, и сформирована подписывающим, которому соответствует принятый открытый ключ. Это доказывается теоретически следующим образом. В соответствии с процедурой проверки подлинности ЭЦП мы имеем
Figure 00000048
Поскольку α есть число, относящееся к показателю q по модулю n, то
Figure 00000049
и
Figure 00000050
поэтому справедливы следующие преобразования:
Figure 00000051
Поскольку A=G, то A=B.
Таким образом, показано, что заявляемый способ может быть положен в основу стойких систем ЭЦП, обеспечивающих уменьшение размера подписи по сравнению с известными решениями и сохранение размера подписи при появлении новых более эффективных алгоритмов решения задачи разложения чисел на множители и задачи дискретного логарифмирования, т.е. низкую вероятность несанкционированного формирования ЭЦП («ложного» подтверждения подлинности ЭЦП).
Приведенный пример и математическое обоснование показывают, что предлагаемый способ генерации и проверки подлинности электронной цифровой подписи работает корректно, технически реализуем и позволяет решить поставленную задачу.
Приложение 1
Толкование терминов, используемых в описании
1. Двоичный цифровой электромагнитный сигнал - последовательность битов в виде нулей и единиц.
2. Параметры двоичного цифрового электромагнитного сигнала: разрядность и порядок следования единичных и нулевых битов.
3. Разрядность двоичного цифрового электромагнитного сигнала - общее число его единичных и нулевых битов, например, число 10011 является 5-разрядным.
4. Электронная цифровая подпись (ЭЦП) - двоичный цифровой электромагнитный сигнал, параметры которого зависят от подписанного электронного документа и от секретного ключа. Проверка подлинности ЭЦП осуществляют с помощью открытого ключа, который зависит от секретного ключа.
5. Электронный документ (ЭД) - двоичный цифровой электромагнитный сигнал, параметры которого зависят от исходного документа и способа его преобразования к электронному виду.
6. Секретный ключ - двоичный цифровой электромагнитный сигнал, используемый для формирования подписи к заданному электронному документу. Секретный ключ представляется, например, в двоичном виде как последовательность цифр «0» и «1».
7. Открытый ключ - двоичный цифровой электромагнитный сигнал, параметры которого зависят от секретного ключа и который предназначен для проверки подлинности цифровой электронной подписи.
8. Хэш-функция от электронного документа - двоичный цифровой электромагнитный сигнал, параметры которого зависят от электронного документа и выбранного метода ее вычисления.
9. Многоразрядное двоичное число - двоичный цифровой электромагнитный сигнал, интерпретируемый как двоичное число и представляемый в виде последовательности цифр «0» и «1».
10. Операция возведения числа S в дискретную степень А по модулю n - это операция, выполняемая над конечным множеством натуральных чисел {0, 1, 2,..., n-1}, включающем n чисел, являющихся остатками от деления всевозможных целых чисел на число n; результат выполнения операций сложения, вычитания и умножения по модулю n представляет собой число из этого же множества [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.]; операция возведения числа S в дискретную степень Z по модулю n определяется как Z-кратное последовательное умножение по модулю n числа S на себя, т.е. в результате этой операции также получается число W, которое меньше или равно числу n-1; даже для очень больших чисел S, Z и n существуют эффективные алгоритмы выполнения операции возведения в дискретную степень по модулю [см. Молдовян А.А., Молдовян Н.А., Гуц Н.Д., Изотов Б.В. Криптография: скоростные шифры. - СПб, БХВ-Петербург, 2002. - С.58-61 или Б. Шнайер. Прикладная криптография. - М., изд-во «Триумф», 2002. - С.278-280] и электронные устройства осуществляющие эту операцию с большой скоростью [У. Диффи. Первые десять лет криптографии с открытым ключом // ТИИЭР. 1988. Т.76. №5. С.67-68]; выполнение операции возведения числа S в дискретную степень Z по модулю n обозначается как W=SZ mod n, где W - число, являющееся результатом выполнения данной операции.
11. Функция Эйлера от натурального числа n - это число чисел, являющихся взаимно простыми с n и не превосходящими n [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.; Бухштаб А.А. Теория чисел. - М.: Просвещение, 1966. - 384 с].
12. Показатель q по модулю n числа a, являющегося взаимно простым с n - это минимальное из чисел γ, для которых выполняется условие aγ mod n=1, т.е. q=min{γ1, γ2, ...} [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.].
13. Первообразный корень - это число, относящееся к показателю, который равен функции Эйлера от модуля.
14. Обратный элемент по модулю n к числу а, являющемуся взаимно простым с n, есть натуральное число, обозначаемое как а-1, для которого выполняется условие a-1a=1; для любого числа, являющегося взаимно простым с модулем, существует элемент, обратный этому числу. Известны эффективные алгоритмы вычисления обратных элементов [Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь. - С.308-310].
15. Операция деления целого числа А на целое число В по модулю n выполняется как операция умножения по модулю n числа А на целое число В-1, которое является обратным к В по модулю n.

Claims (8)

1. Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ, заключающийся в том, что формируют секретный ключ, включающий три простых многоразрядных двоичных числа р, q и γ, формируют открытый ключ, включающий, по крайней мере, два многоразрядных двоичных числа n и α, где α<n, принимают электронный документ, представленный многоразрядным двоичным числом Н, в зависимости от значения Н и значения секретного ключа формируют электронную цифровую подпись Q, формируют первое А и второе В проверочные многоразрядные двоичные числа, сравнивают их и при совпадении их параметров делают вывод о подлинности электронной цифровой подписи, отличающийся тем, что формируют открытый ключ, включающий три многоразрядных двоичных числа n, α и β, где n=Em+1, Е - четное число и m=pq, причем n является простым числом, α - число, относящееся к показателю q по модулю n, и β - число, относящееся к показателю γ по модулю q, причем γ делит нацело число q-1 и не делит нацело число р-1, электронную цифровую подпись формируют в виде двух многоразрядных двоичных чисел R и S, то есть Q=(R, S), затем формируют первое проверочное многоразрядное двоичное число А в зависимости от Q, генерируют промежуточное многоразрядное двоичное число W в зависимости от многоразрядных двоичных чисел Н R, S, n, m, α и β, а второе проверочное многоразрядное двоичное число В формируют путем сжимающего преобразования промежуточного многоразрядного двоичного числа W.
2. Способ по п.1, отличающийся тем, что первое проверочное многоразрядное двоичное число А формируют путем вычитания значения S из значения R.
3. Способ по п.1, отличающийся тем, что первое проверочное многоразрядное двоичное число А формируют путем выполнения операции деления значения R на значение S.
4. Способ по п.1, отличающийся тем, что промежуточное многоразрядное двоичное число W формируют путем возведения числа α в степень Z по модулю n, где Z - многоразрядное двоичное число, которое вычисляют по формуле Z=βRSH mod m или Z=НβRS mod m.
5. Способ по п.1, отличающийся тем, что промежуточное многоразрядное двоичное число W формируют путем возведения числа α в степень Z по модулю n, где Z - многоразрядное двоичное число, которое вычисляют по формуле Z=βRSH mod m или Z=HβRS mod m, после чего полученное значение W дополнительно преобразуют в соответствии с формулой W←WH mod n или W←(W+H) mod n, где знак ← обозначает операцию присваивания.
6. Способ по п.1, отличающийся тем, что промежуточное многоразрядное двоичное число W формируют путем возведения числа α в степень Z по модулю n, где Z - многоразрядное двоичное число, которое вычисляют по формуле Z=βRHYS mod m или Z=НβRYSH mod m, где Y=βx mod q и х - дополнительное случайное многоразрядное двоичное число.
7. Способ по п.1, отличающийся тем, что сжимающее преобразование промежуточного многоразрядного двоичного числа W выполняют с помощью хэш-функции.
8. Способ по п.1, отличающийся тем, что сжимающее преобразование промежуточного многоразрядного двоичного числа W выполняют с помощью операции взятия остатка от деления промежуточного многоразрядного двоичного числа W на простое число δ, длина которого лежит в пределах от 64 до 256 бит.
RU2006138734/09A 2006-11-02 2006-11-02 Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ RU2325768C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006138734/09A RU2325768C1 (ru) 2006-11-02 2006-11-02 Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006138734/09A RU2325768C1 (ru) 2006-11-02 2006-11-02 Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ

Publications (1)

Publication Number Publication Date
RU2325768C1 true RU2325768C1 (ru) 2008-05-27

Family

ID=39586726

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006138734/09A RU2325768C1 (ru) 2006-11-02 2006-11-02 Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ

Country Status (1)

Country Link
RU (1) RU2325768C1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2543928C1 (ru) * 2013-11-18 2015-03-10 Павел Сергеевич Ложников Способ формирования электронного документа и его копий

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2543928C1 (ru) * 2013-11-18 2015-03-10 Павел Сергеевич Ложников Способ формирования электронного документа и его копий

Similar Documents

Publication Publication Date Title
EP2359523B1 (en) Acceleration of key agreement protocols
EP2707990B1 (en) Procedure for a multiple digital signature
US20100166174A1 (en) Hash functions using elliptic curve cryptography
CN110311776B (zh) 范围证明方法、装置、计算机设备和存储介质
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理***
CN112446052B (zh) 一种适用于涉密信息***的聚合签名方法及***
CN112187469B (zh) 一种基于密钥因子的sm2多方协同数字签名方法和***
WO2011144973A1 (en) Collision based multivariate signature scheme
EP1128599A1 (en) Method for the blind generation of a digital rsa signature and device for realising the same
US20080320557A1 (en) Batch verification device, program and batch verification method
Minh et al. Blind signature protocol based on difficulty of simultaneous solving two difficult problems
Chande et al. An improvement of a elliptic curve digital signature algorithm
KR102070061B1 (ko) 묶음 검증 방법 및 장치
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
RU2325768C1 (ru) Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
RU2325767C1 (ru) Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
JP2003511899A (ja) エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット
CA2306468A1 (en) Signature verification for elgamal schemes
Hieu et al. New blind signature protocols based on a new hard problem.
RU2409903C2 (ru) Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
Qin et al. Certificate-free ad hoc anonymous authentication
RU2280896C1 (ru) Способ проверки подлинности электронной цифровой подписи, заверяющей электронный документ
Tripathi et al. An efficient digital signature scheme by using integer factorization and discrete logaríthm problem
US9252941B2 (en) Enhanced digital signatures algorithm method and system utilitzing a secret generator
Lochter Blockchain as cryptanalytic tool

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20081103