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

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

Info

Publication number
RU2402880C2
RU2402880C2 RU2007134774/08A RU2007134774A RU2402880C2 RU 2402880 C2 RU2402880 C2 RU 2402880C2 RU 2007134774/08 A RU2007134774/08 A RU 2007134774/08A RU 2007134774 A RU2007134774 A RU 2007134774A RU 2402880 C2 RU2402880 C2 RU 2402880C2
Authority
RU
Russia
Prior art keywords
bit binary
formula
generated
binary number
digital signature
Prior art date
Application number
RU2007134774/08A
Other languages
English (en)
Other versions
RU2007134774A (ru
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 RU2007134774/08A priority Critical patent/RU2402880C2/ru
Publication of RU2007134774A publication Critical patent/RU2007134774A/ru
Application granted granted Critical
Publication of RU2402880C2 publication Critical patent/RU2402880C2/ru

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

Изобретение относится к криптографическим устройствам и способам проверки электронной цифровой подписи (ЭЦП). Техническим результатом является уменьшение размера коллективной ЭЦП без снижения ее уровня стойкости. Способ генерации и проверки ЭЦП включает следующую последовательность действий: генерируют совокупность из n≥2 секретных ключей в виде многоразрядных двоичных чисел (МДЧ) k1, k2, …, kn, по секретным ключам формируют n открытых ключей P1, Р2, …, Pn, принимают, по крайней мере, один электронный документ, представленный МДЧ Н, в зависимости от принятого электронного документа и от значения, по крайней мере двух, секретных ключей формируют электронную цифровую подпись Q в виде двух или более МДЧ, генерируют коллективный открытый ключ в зависимости от m открытых ключей
Figure 00000180
Figure 00000181
Figure 00000182
где α1, α2, … αm - натуральные числа, 2≤m≤n, αj≤n и j=1, 2, …, m, формируют первое А и второе В проверочные МДЧ, причем, по крайней мере, одно из проверочных МДЧ формируют в зависимости от коллективного открытого ключа. Сравнивают МДЧ А и В. При совпадении их параметров делают вывод о подлинности электронной цифровой подписи. 6 з.п. ф-лы.

Description

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов аутентификации электронных сообщений, передаваемых по телекоммуникационным сетям и сетям ЭВМ, и может быть использовано в системах передачи электронных сообщений (документов), заверенных электронной цифровой подписью (ЭЦП), представленной в виде многоразрядного двоичного числа (МДЧ). Здесь и далее под МДЧ понимается электромагнитный сигнал в двоичной цифровой форме, параметрами которого являются: число битов и порядок следования их единичных и нулевых значений1). (1) толкование используемых в описании терминов приведено в Приложении 1.)
Известен способ формирования и проверки ЭЦП, предложенный в патенте США № 4405829 от 20.09.1983 и детально описанный также и в книгах [1. М.А.Иванов. Криптография. М., КУДИЦ-ОБРАЗ, 2001; 2. А.Г.Ростовцев, Е.Б.Маховенко. Введение в криптографию с открытым ключом. С.-Петербург, Мир и семья, 2001, - с.43]. Известный способ заключается в следующей последовательности действий:
формируют секретный ключ в виде трех простых МДЧ р, q и d, формируют открытый ключ (n, е) в виде пары МДЧ n и е, где n - число, представляющее собой произведение двух простых МДЧ р и q, и е - МДЧ, удовлетворяющее условию ed=1mod(p-1)(q-1), принимают электронный документ (ЭД), представленный МДЧ Н,
в зависимости от значения Н и значения секретного ключа формируют ЭЦП в виде МДЧ Q=S=Hdmod n.
формируют первое проверочное МДЧ А=H;
формируют второе проверочное МДЧ В, для чего МДЧ S возводят в целочисленную степень е по модулю n: В=Semod n;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком известного способа является относительно большой размер подписи и необходимость увеличения размера подписи при разработке новых более эффективных методов разложения числа n на множители или при росте производительности современных вычислительных устройств. Это объясняется тем, что значение элемента подписи S вычисляются путем выполнения арифметических операций по модулю n, а стойкость ЭЦП определяется сложностью разложения модуля n на множители р и q.
Известен также способ формирования и проверки подлинности ЭЦП Эль-Гамаля, описанный в книге [Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. - СПб: Лань, 2000, - с.156-159], который включает следующие действия:
формируют простое МДЧ р и двоичное число G, являющееся первообразным корнем по модулю р, генерируют секретный ключ в виде МДЧ х, в зависимости от секретного ключа формируют открытый ключ в виде МДЧ Y=Gxmod p, принимают ЭД, представленный в виде МДЧ Н, в зависимости от H и секретного ключа формируют ЭЦП Q в виде двух МДЧ S и R, то есть Q=(S, R);
осуществляют процедуру проверки подлинности ЭЦП, включающую вычисление двух контрольных параметров с использованием исходных МДЧ р, G, Y, H и S путем возведения МДЧ G, Y, R в дискретную степень по модулю р и сравнение вычисленных контрольных параметров;
при совпадении значений контрольных параметров делают вывод о подлинности ЭЦП.
Недостатком данного способа также является относительно большой размер ЭЦП. Это объясняется тем, что значения элементов подписи S и R вычисляют путем выполнения арифметических операций по модулю р-1 и по модулю р соответственно.
Известен также способ формирования и проверки ЭЦП, предложенный в патенте США № 4995089 от 19.02.1991. Известный способ заключается в следующей последовательности действий:
формируют простое МДЧ р, такое что р=Nq+1, где q - простое МДЧ;
формируют простое МДЧ а, такое что а≠1 и aq mod p=1;
методом генерации случайной равновероятной последовательности формируют секретный ключ в виде МДЧ х,
формируют открытый ключ в виде МДЧ у по формуле у=ax mod p;
принимают ЭД, представленный МДЧ М;
формируют ЭЦП в виде пары МДЧ (е, s), для чего генерируют случайное МДЧ t, формируют МДЧ R по формуле R=at mod p, формируют МДЧ е=f(M||R), где знак || обозначает операцию присоединения двух МДЧ и f - некоторая специфицированная хэш-функция, значение которой имеет фиксированную длину (обычно 160 или 256 бит), независим от размера аргумента, т.е. от размера МДЧ M||R, а затем формируют МДЧ s по формуле s=(t-ex)mod q,
формируют первое проверочное МДЧ А, для чего генерируют МДЧ R' по формуле R'=asye mod p и формируют МДЧ е'=f(М||R');
формируют второе проверочное МДЧ В путем копирования МДЧ е: В=е;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком способа по патенту США является относительно высокая вычислительная сложность процедуры формирования и проверки ЭЦП, что связано с тем, что для обеспечения минимально требуемого уровня стойкости требуется использовать простой модуль р разрядностью не менее 1024 бит.
Наиболее близким по своей технической сущности к заявленному является известный способ формирования и проверки подлинности ЭЦП, предлагаемый российским стандартом ГОСТ Р 34.10-2001 и описанный, например, в книге [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.110-111)], согласно которому ЭЦП формируется в виде пары МДЧ r и s, для чего генерируют эллиптическую кривую (ЭК) в виде совокупности точек, причем каждая точка представляется двумя координатами в декартовой системе координат в виде двух МДЧ, называемых абсциссой (х) и ординатой (y), затем осуществляют операции генерации точек ЭК, сложения точек ЭК и умножения точки ЭК на число, а также арифметические операции над МДЧ, после чего в результате выполненных операций формируются МДЧ r и s. Указанные операции над точками выполняются как операции над МДЧ, являющимися координатами точек, по известным формулам [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.110-111)]. Операция сложения двух точек А и В с координатами (xA, yA) и (xB, yB) соответственно выполняется по формулам:
xC=k2-xA mod p и yC=k(xA-xC)-yA mod p,
где
Figure 00000001
если точки А и В не равны, и
Figure 00000002
если точки А и В равны. Операция умножения точки А на натуральное число n определяется как многократное сложение токи А:
nA=А+А+…+А (n раз).
Результатом умножения любой точки ЭК на нуль определяется точка, называемая бесконечно удаленной точкой и обозначаемой буквой О. Две точки А=(х, y) и -А=(x, -y) называются противоположными. Умножение на целое отрицательное число -n определяется следующим образом: (-n)А=n(-А). По определению принимают, что сумма двух противоположных точек равна бесконечно удаленной точке О.
В прототипе, т.е. в способе формирования и проверки подлинности ЭЦП по стандарту ГОСТ Р 34.10-2001, генерируют ЭК, описываемую уравнением у23+ax+b mod p, поэтому генерация ЭК состоит в генерации чисел a, b и р, являющихся параметрами ЭК и однозначно задающих множество точек ЭК, абсцисса и ордината каждой из которых удовлетворяет указанному уравнению. Ближайший аналог (прототип) заключается в выполнении следующей последовательности действий:
генерируют эллиптическую кривую (ЭК), которая представляет собой совокупность пар МДЧ, называемых точками ЭК и обладающих определенными свойствами (см. Приложение 1, пп.15-19);
методом генерации случайной равновероятной последовательности формируют секретные ключи в виде МДЧ k1, k2, …, kn,
формируют открытые ключи в виде точек ЭК P1, Р2, …, Pn, для чего генерируют точку G, имеющую значение порядка, равное q (порядком точки ЭК называется наименьшее положительное целое число q, такое что результатом умножения данной точки на число q является так называемая бесконечно удаленная точка О; результатом умножения любой точки ЭК на нуль по определению является точка О [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.97-130)]; см. также Приложение 1, пп.15-19) и генерируют открытые ключи путем умножения точки G на МДЧ k1, k2, …, kn, т.е. формируют открытые ключи по формулам P1=k1G, P2=k2G, …, Pn=knG;
принимают ЭД, представленный МДЧ Н;
генерируют случайное МДЧ 0<t<q, по которому формируют точку R по формуле R=tG;
формируют ЭЦП Q в виде пары МДЧ (r, s), для чего генерируют МДЧ r по формуле r=xR mod q, где xR - абсцисса точки R, а затем генерируют МДЧ s по формуле s=(tH/+rki)mod q, где 1≤i≤n;
формируют первое проверочное МДЧ А, для чего генерируют МДЧ ν по формуле ν=sH-1mod q и МДЧ w по формуле w=(q-rH-1) mod q, затем генерируют точку R' по формуле R'=vG+wPi, после чего МДЧ А получают по формуле А=xR' mod q, где xR' - абсцисса точки R';
формируют второе проверочное МДЧ В путем копирования МДЧ r: В=r;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком ближайшего аналога является возрастание размера коллективной ЭЦП, т.е. ЭЦП, устанавливающей факт подписания некоторого заданного документа двумя и более пользователями, пропорционально числу пользователей, подписывающих заданный ЭД, что обусловлено тем, что каждый пользователь формирует ЭЦП, которая не зависит от ЭЦП других пользователей.
Целью изобретения является разработка способа формирования и проверки подлинности ЭЦП, заверяющей ЭД, зависящей от произвольной совокупности секретных ключей пользователей и имеющей фиксированный размер, т.е. размер, который не зависит от числа пользователей, которым принадлежит данная коллективная подпись, благодаря чему уменьшается размер коллективной ЭЦП.
Поставленная цель достигается тем, что в известном способе формирования и проверки подлинности ЭЦП, заверяющей ЭД, заключающемся в том, что генерируют совокупность из n≥2 секретных ключей в виде многоразрядных двоичных чисел k1, k2, …, kn, no секретным ключам формируют n открытых ключей P1, P2, …, Pn, соответственно, принимают, по крайней мере, один электронный документ, представленный многоразрядным двоичным числом Н, в зависимости от принятого электронного документа и от значения, по крайней мере, одного секретного ключа формируют электронную цифровую подпись Q в виде двух или более многоразрядных двоичных чисел, формируют первое А и второе В проверочные многоразрядные двоичные числа, сравнивают их и при совпадении их параметров делают вывод о подлинности электронной цифровой подписи, новым является то, что дополнительно генерируют коллективный открытый ключ в зависимости от m открытых ключей
Figure 00000003
Figure 00000004
Figure 00000005
где α1, α2, …, αm - натуральные числа, 2≤m≤n, αj≤n и j=1, 2, …, m, причем, по крайней мере, одно из проверочных многоразрядных двоичных чисел формируют в зависимости от коллективного открытого ключа.
Новым является также и то, что открытые ключи P1, P2, …, Pn генерируют в виде точек эллиптической кривой, для чего генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, причем точки Pi, Р2, …, Pn эллиптической кривой генерируют по формуле Рi=kiG, где i=1, 2, …, n, G - дополнительно сгенерированная точка эллиптической кривой, имеющая порядок q, принимают m электронных документов, представленных многоразрядными двоичными числами Н1, Н2, …, Hm, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000006
генерируют m точек
Figure 00000007
Figure 00000008
Figure 00000009
эллиптической кривой по формуле
Figure 00000010
генерируют точку R эллиптической кривой по формуле
Figure 00000011
после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле е=xR mod δ, где xR - абсцисса точки R и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000012
Figure 00000013
Figure 00000014
по формуле
Figure 00000015
после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле
Figure 00000016
причем коллективный открытый ключ генерируют в виде точки Р эллиптической кривой, вычисляемой по формуле
Figure 00000017
и первое проверочное многоразрядное двоичное число А формируют по формуле A=xR' mod δ, где XR' - абсцисса точки R' эллиптической кривой, вычисленной по формуле R'=eP+sG, а второе проверочное многоразрядное двоичное число В формируют по формуле В=е.
Новым является также то, что открытые ключи P1, Р2, …, Pn генерируют в виде точек эллиптической кривой, для чего генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, причем точки P1, Р2, …, Pn эллиптической кривой генерируют по формуле Pi=kiG, где i=1, 2, …, n, G - дополнительно сгенерированная точка эллиптической кривой, имеющая порядок q, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000018
Figure 00000019
…,
Figure 00000020
генерируют m точек
Figure 00000021
Figure 00000022
…,
Figure 00000009
эллиптической кривой по формуле
Figure 00000023
генерируют точку R эллиптической кривой по формуле
Figure 00000024
после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле е=XRH mod δ, где xR - абсцисса точки R и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000025
Figure 00000026
…,
Figure 00000027
по формуле
Figure 00000028
после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле
Figure 00000029
причем коллективный открытый ключ генерируют в виде точки Р эллиптической кривой, вычисляемой по формуле
Figure 00000030
и первое проверочное многоразрядное двоичное число А формируют по формуле А=xR'H mod δ, где xR' - абсцисса точки R' эллиптической кривой, вычисленной по формуле R'=еР+sG, а второе проверочное многоразрядное двоичное число В формируют по формуле В=е.
Новым также является и то, что открытые ключи P1, P2, …, Pn генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число р, такое что р=Nz2+1, где N - четное натуральное многоразрядное двоичное число и z - простое w-разрядное двоичное число, w>64, причем многоразрядные двоичные числа P1, Р2, …, Pn генерируют по формуле
Figure 00000031
где i=1, 2, …, n, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел R и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000032
Figure 00000033
…,
Figure 00000034
генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000035
Figure 00000036
…,
Figure 00000009
по формуле
Figure 00000037
генерируют первое многоразрядное двоичное число R электронной цифровой подписи по формуле
Figure 00000038
после чего формируют вспомогательное многоразрядное двоичное число Е по формуле E=RH mod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000039
Figure 00000040
…,
Figure 00000041
по формуле
Figure 00000042
после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000043
причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа P, вычисляемого по формуле
Figure 00000044
и первое проверочное многоразрядное двоичное число А формируют по формуле А=Sz mod p, а второе проверочное многоразрядное двоичное число В формируют по формуле В=PER mod p.
Новым также является и то, что открытые ключи P1, Р2, …, Pn генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число p, такое что р=Nz2+1, где N - четное натуральное многоразрядное двоичное число и z - простое w-разрядное двоичное число, w>64, причем многоразрядные двоичные числа P1, P2, …, Pn генерируют по формуле
Figure 00000045
где i=1, 2, …, n, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000046
…,
Figure 00000048
генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000049
Figure 00000050
…,
Figure 00000009
по формуле
Figure 00000051
генерируют вспомогательное многоразрядное двоичное число R по формуле
Figure 00000052
после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=RH mod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000053
Figure 00000054
…,
Figure 00000041
по формуле
Figure 00000055
после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000056
причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000057
а первое А и второе В проверочные многоразрядные двоичные числа формируют соотвественно по формулам A=(Sz P-E mod p)H mod δ и В=E.
Новым также является и то, что открытые ключи P1, P2, …, Pn генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число р, причем многоразрядные двоичные числа P1, P2, …, Pn генерируют по формуле
Figure 00000058
где i=1, 2, …, n, g - дополнительно сгенерированное многоразрядное двоичное число, имеющее порядок q, a электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000059
Figure 00000060
…,
Figure 00000061
генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000062
Figure 00000063
…,
Figure 00000009
по формуле
Figure 00000064
генерируют многоразрядное двоичное число R по формуле
Figure 00000065
после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=R mod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000066
Figure 00000067
…,
Figure 00000041
по формуле
Figure 00000068
после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000069
причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000070
и первое проверочное многоразрядное двоичное число А формируют по формуле A=R'H mod δ, где R' - многоразрядное двоичное число, вычисленное по формуле R'=P-Egs mod p, а второе проверочное многоразрядное двоичное число В формируют по формуле В=Е.
Новым также является и то, что открытые ключи P1, Р2, …, Pn генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число p, причем многоразрядные двоичные числа P1, Р2, …, Pn генерируют по формуле
Figure 00000071
где i=1, 2, …, n, g - дополнительно сгенерированное многоразрядное двоичное число, имеющее порядок q, принимают m электронных документов, представленных многоразрядными двоичными числами Н1, Н2, …, Hm, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000072
Figure 00000073
…,
Figure 00000074
генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000075
Figure 00000076
…,
Figure 00000009
по формуле
Figure 00000077
генерируют многоразрядное двоичное число R по формуле
Figure 00000078
после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=R Hmod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000079
Figure 00000080
…,
Figure 00000041
по формуле
Figure 00000081
после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле
Figure 00000082
причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000083
и первое проверочное многоразрядное двоичное число А формируют по формуле А=R' mod δ, где R' - многоразрядное двоичное число, вычисленное по формуле R'=Р-EgS mod p, а второе проверочное многоразрядное двоичное число В формируют по формуле В=Е.
Предлагаемый способ может быть использован для числа n пользователей, удовлетворяющего условию n≥2. Пользователи условно обозначаются номерами i=1, 2, …, n. Этот номер используется как индекс, указывающий на то, какому пользователю принадлежит секретный и открытый ключи, или на то, какой из пользователей генерирует отмеченные индексом МДЧ или точки ЭК. Из совокупности n пользователей некоторое их подмножество, состоящее из m произвольно выбранных пользователей, может быть задано номерами пользователей, входящих в данное подмножество, например номерами α1, α2, …, αm, каждый из которых выбирается из множества чисел 1, 2, …., n. Таким образом, числа αj, где j=1, 2, …, m, представляют собой выборку произвольных m номеров из множества {1, 2, …, n}, при этом m≤n. Соответственно этому совокупность открытых ключей, например, точек
Figure 00000084
Figure 00000085
…,
Figure 00000086
ЭК представляет собой выборку из множества всех открытых ключей Р1, Р2, …, Pn, а совокупность секретных ключей
Figure 00000087
Figure 00000088
…,
Figure 00000089
представляет собой выборку из множества всех секретных ключей k1, k2, …, kn, где i=1, 2, …, n.
Корректность заявленного способа доказывается теоретически. Рассмотрим, например, вариант реализации способа по п.3 формулы изобретения. Коллективный открытый ключ, соответствующий подмножеству пользователей с условными номерами α1, α2, …, αm, представляет собой точку
Figure 00000090
Значения
Figure 00000091
Figure 00000092
которые представляют собой «доли» пользователей в коллективной подписи, генерируются по формуле
Figure 00000093
поэтому
Figure 00000094
Значение точки R', используемой для формирования первого проверочного МДЧ А генерируется по формуле R'=еР+sG, т.е. оно равно
Figure 00000095
Следовательно, А=xR'H mod δ=xRH mod δ=е=В, т.е. правильно сформированная коллективная подпись удовлетворяет процедуре проверки подписи, т.е. корректность процедур генерации и проверки ЭЦП доказана.
Рассмотрим примеры реализации заявленного технического решения с использованием ЭК, описываемой уравнением (см. Приложение 1, пп.15-19)
Figure 00000096
где конкретные значения использованных параметров описаны в приводимых ниже численных примерах. Использованные в примерах ЭК были сгенерирована с помощью программы, разработанной специально для генерации ЭК, генерации точек ЭК, включая точки с заданным порядком, и выполнения операций над точками ЭК. Приводимые в примере МДЧ записаны для краткости в виде десятичных чисел, которые в вычислительных устройствах представляются и преобразуются в двоичном виде, т.е. в виде последовательности сигналов высокого и низкого потенциала.
Пример 1. Реализация заявляемого способа по п.2 формулы изобретения.
В данном примере иллюстрируется п.2 формулы изобретения. В нем используется ЭК с параметрами, обеспечивающими достаточную стойкость для применения при решении реальных практических задач аутентификации информации. Этот пример иллюстрирует реальные размеры чисел, которые используются на практике при генерации и проверке подлинности ЭЦП. Особенностью данного примера является то, что принимают три различных ЭД, представленных МДЧ Н1, H2 и Н3. При этом первый пользователь подписывает первый ЭД, второй пользователь - второй ЭД и третий пользователь - третий ЭД. Возможность реализации коллективной ЭЦП с такими свойствами обеспечивается за счет того, что при проверке ЭЦП используется коллективный открытый ключ, формируемый в зависимости от открытых ключей пользователей по формуле Р=H1P1+H2P2+H3P3.
В примере 1 используется ЭК, определяемая следующими параметрами: а=5521767865737634555390416300599776622347333359784, b=9717196 и р=5521767865737634555390416300599776622347333359787.
Данная ЭК содержит количество точек, равное простому числу V=5521767865737634555390416228783886913339823841723, т.е. любая ее точка имеет порядок q, равный значению F, т.е. q=V.
Рассмотрим коллектив из трех пользователей. При формировании и проверке подлинности ЭЦП (подписью является пара чисел е и s) выполняют следующую последовательность действий.
1. Генерируют ЭК с параметрами, указанными выше.
2. Формируют секретные ключи в виде случайных МДЧ k1, k2 и k3:
k1=8182108890892890101467333434019 - ключ первого пользователя;
k2=3952504539403758278808581024791 - ключ второго пользователя;
k3=9763160941600092631935520658071 - ключ третьего пользователя.
3. Формируют открытые ключи в виде точек ЭК P1, P2, Р3, для чего
3.1. Генерируют точку G, имеющую порядок q:
G=(4058138998817699569976678358233335958495037969465, 768568926336036825718495218916308682494116144160);
3.2. Генерируют точки P1, Р2, Р3 по формуле Pi=kiG, где i=1, 2, 3:
P1=(2406767665928158899446906165821747218883574602371, 562377648521692290689031507205008060205345636991);
P2=(348708108378027085357389414044825237922683510732, 1402026191996080196399482770468472598076052599809)
Р3=(4307166077833519301063322533024162005091025020313, 5280296312549156028148905914215570655514986217509).
4. Принимают три ЭД, представленных МДЧ Н1, Н2 и H3:
H1=135708092215597910168314154751917220633712178686;
Н2=3812498990028819155316571350634376652814331770527;
H3=8925999026871145131520337612117778680659192576033.
5. Формируют ЭЦП Q в виде двух МДЧ е и s, для чего выполняют следующие действия.
5.1. Первый, второй и третий пользователи генерируют случайные МДЧ t1, t2 и t3 соответственно:
t1=2090880922625982683584460167862382379;
t2=5360383526856663700583896205266418341;
t3=7677118810723142352012317453400887449.
5.2. Затем первый, второй и третий пользователи генерируют точки R1, R2 и R3 соответственно по формуле Ri=tiG:
R1=(4533360075292446608850664400364711592205136618460, 1175061337062232179584348686477324762101164050095);
R2=(1958279223827902047379336465285895435330140185477, 8836508908256232955144234242970494318564852573);
R3=(5038616028852959877509554081789667436853794753557, 209613157933044677924551688484534713038841468913).
5.3. Генерируют точку R по формуле R=R1+R2+R3:
R=(2597097970263610863546069436833994580002105418569, 3304915040104400813802374282473985550015521973383).
5.4. Формируют МДЧ е по формуле е=xR mod δ, где xR - абсцисса точки R и δ - вспомогательное простое МДЧ (δ=7118198218659321028989011): е=5079008233076932087473789.
5.5. Первый, второй и третий пользователи генерируют МДЧ s1, s2 и s3 соответственно по формуле si=(ti-eHiki) mod q, где q=N и i=1, 2, 3:
s1=133444963875333388923743187271473122915443205289;
s2=1887661653203847944710282450835612551620081427016;
s3=4850696161955991125559318084555021335580302189827.
5.6. Генерируют МДЧ s=s1+s2+s3 mod q:
s=1350034913297537903802927493878220096776002980409.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующую последовательность действий.
6.1. Формируют коллективный открытый ключ в виде точки Р по формуле Р=H1P1+H2P2+H3P3:
H1P1=(1386084349002545424511668926945575066838407867380, 4543633731958840101124845818771841004374561021017)
H2P2=(299211431532419026428141393395396288778694972469, 5300327094421154876022064946876206296853312043729)
H3P3=(4523528487954522900878694877895556963796345154180, 4100826103480972798980996909196526199327733122181)
Р=(228426539485900338090938878090464611548638254406, 1202278174553095231135389060209649902535727110543).
6.2. Генерируют точку R'=eP+sG:
еР=(4556848179595887141400726723891321438602307875189, 2883779289574756983177387955618073719731329543379);
sG=(1360352815531577166684912233134001496389816081366, 3543269787247235781900897404104279341644752005600);
R'=(2597097970263610863546069436833994580002105418569, 3304915040104400813802374282473985550015521973383).
6.3. Генерируют МДЧ А по формуле А=xR' mod δ, где дополнительное МДЧ δ=7118198218659321028989011:
А=5079008233076932087473789.
7. Формируют второе проверочное МДЧ В путем копирования МДЧ е:
В=е=5079008233076932087473789.
8. Сравнивают первое А и второе В проверочные МДЧ.
Сравнение показывает, что параметры МДЧ А и В совпадают. Совпадение значений А и В означает, что коллективная ЭЦП является подлинной, т.е. относится к принятым ЭД, представленных МДЧ Н1, Н2 и Н3, причем первый пользователь подписал ЭД, представленный МДЧ H1, второй пользователь - ЭД, представленный МДЧ Н2, а третий пользователь - ЭД, представленный МДЧ Н3.
Пример 2. Реализация заявляемого способа по п.3 формулы изобретения.
В данном примере используется ЭК, секретные и открытые ключи пользователей такие же, как и в примере 1. В примере используется ЭК, определяемая следующими параметрами:
а=5521767865737634555390416300599776622347333359784, b=9717196 и р=5521767865737634555390416300599776622347333359787.
Данная ЭК содержит количество точек, равное простому числу V=5521767865737634555390416228783886913339823841723, т.е. любая ее точка имеет порядок q, равный значению V, т.е. q=V.
Рассмотрим коллектив из трех пользователей. При формировании и проверке подлинности ЭЦП. Подписью является пара МДЧ е и s, выполняют следующую последовательность действий.
1. Генерируют ЭК с параметрами, указанными выше.
2. Формируют секретные ключи в виде случайных МДЧ
k1=8182108890892890101467333434019 - ключ первого пользователя;
k2=3952504539403758278808581024791 - ключ второго пользователя;
k3=9763160941600092631935520658071 - ключ третьего пользователя.
3. Формируют открытые ключи в виде точек ЭК P1, P2, Р3, для чего
3.1. Генерируют точку G:
G=(4058138998817699569976678358233335958495037969465, 768568926336036825718495218916308682494116144160).
3.2. Генерируют точки P1, P2, Р3 по формуле Pi=kiG, где i=1, 2, 3:
Р1=(2406767665928158899446906165821747218883574602371, 562377648521692290689031507205008060205345636991);
P2=(348708108378027085357389414044825237922683510732, 1402026191996080196399482770468472598076052599809);
Р3=(4307166077833519301063322533024162005091025020313, 5280296312549156028148905914215570655514986217509).
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=8925999026871145131520337612117778680659192576033.
5. Формируют ЭЦП Q в виде пары МДЧ е и s, для чего выполняют следующие действия.
5.1. Первый, второй и третий пользователи генерируют случайные МДЧ t1, t2 и t3 соответственно:
t1=2090880922625982683584460167862382379;
t2=5360383526856663700583896205266418341;
t3=7677118810723142352012317453400887449.
5.2. Затем первый, второй и третий пользователи генерируют точки R1, R2 и R3 соответственно по формуле Ri=tiG:
R1=(4533360075292446608850664400364711592205136618460, 1175061337062232179584348686477324762101164050095);
R2=(1958279223827902047379336465285895435330140185477, 8836508908256232955144234242970494318564852573);
R3=(5038616028852959877509554081789667436853794753557, 209613157933044677924551688484534713038841468913).
5.3. Генерируют точку R по формуле R=R1+R2+R3:
R=(2597097970263610863546069436833994580002105418569, 3304915040104400813802374282473985550015521973383).
5.4. Формируют первое МДЧ е электронной цифровой подписи по формуле е=xRH mod δ, где xR - абсцисса точки R и δ - вспомогательное простое МДЧ (δ=7118198218659321028989011):
е=4927124871592959793329711.
5.5. Первый, второй и третий пользователи генерируют МДЧ s1, s2 и s3 соответственно по формуле si=(ti-eki) mod q, где q'=N и i=1, 2, 3:
s1=359849983424274307716254877984953159149283598626;
s2=2228471503399271451844174588034195792013686207551;
s3=3321295738385055881020248326363803564813773402448.
5.6. Генерируют второе МДЧ s электронной цифровой подписи по формуле s=s1+s2+s3 mod q:
s=387849359470967085190261563599065602636919366902.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующую последовательность действий.
6.1. Формируют коллективный открытый ключ в виде точки Р по формуле Р=Р12+P3:
Figure 00000097
8. Сравнивают первое А и второе В проверочные МДЧ.
Сравнение показывает, что параметры МДЧ А и В совпадают. Совпадение значений А и В означает, что коллективная ЭЦП является подлинной, т.е. относится к принятому ЭД, представленному МДЧ Н, и сформирована тремя пользователями, по открытым ключам которых был сформирован коллективный открытый ключ, использованный для проверки подлинности подписи.
Пример 3. Реализация заявляемого способа по п.4 формулы изобретения.
Этот пример представляет вариант реализации заявляемого способа с использованием вычислений по простому модулю. Приводимые в примере МДЧ записаны для краткости в виде десятичных чисел, которые в вычислительных устройствах представляются и преобразуются в двоичном виде, т.е. в виде последовательности сигналов высокого и низкого потенциала. При формировании и проверке подлинности коллективной ЭЦП, формируемой двумя пользователями (Подписью является пара чисел R и S) выполняют следующую последовательность действий.
1. Формируют простое число, такое что р - 1 содержит квадрат большого простого числа z, т.е. р=Nz2+1, где N - четное число:
Figure 00000098
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=73568790119017231823457.
5. Формируют ЭЦП в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Первый и второй пользователи генерируют случайные числа
Figure 00000099
5.3. Первый и второй пользователи формируют общий элемент R коллективной подписи по формуле R=R1R2 mod p:
R=1510852283605141265167548142888441887806196045589.
5.4. Генерируют вспомогательное МДЧ Е по формуле Е=RH mod δ, где дополнительное простое МДЧ δ=35488784369499179:
Е=28456867839200835.
5.5. Первый и второй пользователи формируют значения S1 и S2 путем выполнения операций, задаваемых формулой
Figure 00000100
:
Figure 00000101
5.6. Формируют элемент S коллективной подписи путем перемножения значений S1 и S2, т.е. по формуле S=S1S2 mod p:
S=841916762955684770115713396295806018405812798449.
6. Формируют первое проверочное МДЧ А по формуле А=Sz mod p:
A=3706556715611998607017386135859762149957976034058.
7. Формируют второе проверочное МДЧ В, для чего выполняют следующие действия.
7.1. Вычисляют коллективный открытый ключ, соответствующий первому и второму пользователям, по формуле Р=P1P2 mod p:
Figure 00000102
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность коллективной ЭЦП, принадлежащей первому и второму пользователям, которая означает, что документ, представленный МДЧ Н, подписан как первым, так и вторым пользователями.
Это доказывается теоретически следующим образом. Для ЭЦП, сформированной с использованием правильного значения секретного ключа, мы имеем:
Figure 00000103
Figure 00000104
т.е. для коллективной ЭЦП, сформированной с использованием секретных ключей первого и второго пользователей в соответствии с процедурами примера 5, уравнение проверки подписи выполняется.
Пример 4. Реализация заявляемого способа по п.5 формулы изобретения.
Данный пример представляет вариант реализации заявляемого способа, который обеспечивает сокращенного размера ЭЦП при использовании вычислений по простому модулю. В данном примере генерируют ЭЦП, в которой одно из МДЧ, составляющих подпись (Е, S) имеет уменьшенную длину, что позволяет сократить общий размер подписи.
1. Формируют простое число, такое что р - 1 содержит квадрат большого простого числа z, т.е. р=Nz2+1, где N - четное число:
Figure 00000105
2. Формируют секретные ключи в виде случайных МДЧ k1, k2 и k3:
Figure 00000106
3. Формируют открытые ключи первого и второго пользователей в виде МДЧ P1 и P2 соответственно по формуле
Figure 00000107
:
Figure 00000108
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=73568790119017231823457.
5. Формируют ЭЦП в виде пары чисел (Е, S), для чего выполняют следующие действия:
5.1. Первый и третий пользователи генерируют случайные числа
Figure 00000109
где α1=1 и α2=3.
5.2. Первый и третий пользователи формируют значения
Figure 00000110
и
Figure 00000111
путем выполнения операций, задаваемых формулой
Figure 00000112
где j=1, 2, α1=1 и α2=3:
Figure 00000113
5.3. Первый и второй пользователи формируют общее значение R12 по формуле
Figure 00000114
R=1510852283605141265167548142888441887806196045589.
5.4. Генерируют первое МДЧ коллективной подписи в виде МДЧ Е, вычисляемого по формуле Е=RH mod δ, где дополнительное простое МДЧ
Figure 00000115
5.5. Первый и второй пользователи формируют значения
Figure 00000116
и
Figure 00000117
путем выполнения операций, задаваемых формулой
Figure 00000118
где j=1, 2, α1=1 и α2=3:
Figure 00000119
5.6. Формируют второе МДЧ S коллективной подписи путем перемножения значений
Figure 00000116
и
Figure 00000120
т.е. по формуле
Figure 00000121
S=841916762955684770115713396295806018405812798449.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующие действия.
6.1. Вычисляют коллективный открытый ключ, соответствующий первому и третьему пользователям, по формуле
Figure 00000122
где j=1, 2, α1=1 и α2=3:
Figure 00000123
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована первым и третьим пользователями, которым соответствует коллективный открытый ключ, равный произведению их открытых ключей, взятому по модулю р. Подлинность коллективной ЭЦП, принадлежащей первому и третьему пользователям, означает, что документ, представленный МДЧ Н, подписан как первым, так и третьим пользователями.
Пример 5. Реализация заявляемого способа по п.6 формулы изобретения.
Данный пример представляет вариант реализации заявляемого способа, который обеспечивает сокращение двух МДЧ, составляющих ЭЦП, при использовании вычислений по простому модулю. Для сокращения примера рассматривается формирование коллективной ЭЦП в виде двух МДЧ е и S, относящейся к двум пользователям, однако аналогичным образом можно сформировать и проверить коллективную ЭЦП, относящуюся к произвольному числу пользователей.
1. Формируют простое число, такое что р - 1 содержит квадрат большого простого множителя q, т.е. р=N'q+1, где N'- четное число:
Figure 00000124
3. Формируют открытые ключи первого и второго пользователей в виде МДЧ Р1 и P2 соответственно, для чего выполняют следующую последовательность действий:
3.1. Генерируют дополнительное МДЧ g по формуле
Figure 00000125
где α - случайно выбираемое число, α=174658:
g=1092542652057354083616996599448449105489307509155.
Полученное дополнительное МДЧ g имеет порядок q, т.е. для него выполняется условие gq mod p=1.
3.1. Генерируют по формуле
Figure 00000126
Figure 00000127
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=73568790119017231823457.
5. Формируют ЭЦП в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Первый и второй пользователи генерируют случайные числа
Figure 00000128
5.2. Первый и второй пользователи формируют значения R1 и R2 путем выполнения операций, задаваемых формулой
Figure 00000129
Figure 00000130
5.3. Первый и второй пользователи формируют общее значение R12 по формуле R12=R1R2 mod p:
R12=46124962342862671563301241127072281251944012875.
5.4. Генерируют элемент Е коллективной подписи в виде МДЧ, вычисляемого по формуле Е=R12 H mod δ, где дополнительное простое МДЧ
δ=35488784369499179:
E=1310719285759554.
5.5. Первый и второй пользователи формируют значения S1 и S2, путем выполнения операций, задаваемых формулой Si=eki+ti mod q:
S1=ek1+t1 mod q=728310863573296830603;
S2=ek2+t2 mod q=56086667770983024235244.
5.6.Формируют элемент S коллективной подписи путем сложения значений S1 и S2, т.е. по формуле S=S1+S2 mod q:
S=56814978634556321065847.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующие действия.
6.1. Вычисляют коллективный открытый ключ, соответствующий первому и второму пользователям, по формуле Р=P1P2 mod p:
Figure 00000131
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована двумя пользователями, которым соответствует коллективный открытый ключ, равный произведению открытый ключей этих пользователей, взятому по модулю р. Подлинность коллективной ЭЦП, принадлежащей первому и второму пользователям, означает, что документ, представленный МДЧ Н, подписан как первым, так и вторым пользователями.
В примере 5 проверка подлинности ЭЦП фактически осуществляется по формулам
E'=y-EgS mod p, A=E'H mod δ, B=E и А=В.
Корректность процедур формирования и проверки подписи, задаваемых примером 5, доказывается для произвольных размеров МДЧ, использованных в этом примере, следующим образом:
Figure 00000132
т.е. для коллективной ЭЦП, сформированной с использованием секретных ключей первого и второго пользователей в соответствии с процедурами примера 5, уравнение проверки подписи выполняется.
Пример 6. Реализация заявляемого способа по п.7 формулы изобретения.
Данный пример представляет вариант реализации заявляемого способа, который обеспечивает формирование коллективной ЭЦП в виде двух МДЧ е и S, относящейся к двум различным электронным документам.
1. Формируют простое число, такое что p - 1 содержит квадрат большого простого множителя q, т.е. р=N'q+1, где N'- четное число:
Figure 00000133
3. Формируют открытые ключи первого и второго пользователей в виде МДЧ Р1 и P2 соответственно, для чего выполняют следующую последовательность действий:
3.1. Генерируют дополнительное МДЧ g по формуле
Figure 00000134
где α - случайно выбираемое число, α=174658:
Figure 00000135
Figure 00000136
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована двумя пользователями, которым соответствует коллективный открытый ключ, равный произведению открытый ключей этих пользователей, возведенных по модулю р в степень Н1 и H2 соответственно. Подлинность коллективной ЭЦП, принадлежащей первому и второму пользователям, означает, что документ, представленный МДЧ Н1, подписан первым пользователем, а документ, представленный МДЧ Н2, подписан вторым пользователем.
Примеры 1-6 экспериментально подтверждают корректность реализации заявляемого способа, что дополняет приведенные выше математические доказательства корректности описанных конкретных реализаций заявленного способа формирования и проверки ЭЦП, заверяющей ЭД.
Таким образом, показано, что заявляемый способ может быть положен в основу стойких систем ЭЦП, обеспечивающих уменьшение размера коллективной ЭЦП.
Приведенные примеры и математическое обоснование показывают, что предлагаемый способ формирования и проверки подлинности ЭЦП работает корректно, технически реализуем и позволяет достичь сформулированного технического результата.
Приложение 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=SZmod n, где W - число, являющееся результатом выполнения данной операции.
11. Функция Эйлера от натурального числа n - это число чисел, являющихся взаимно простыми с n и не превосходящими n [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972, - 167 с.; Бухштаб А.А. Теория чисел. - М.: Просвещение, 1966, - 384 с.].
12. Показатель q по модулю n числа а, являющегося взаимно простым с n - это минимальное из чисел γ, для которых выполняется условие
Figure 00000137
т.е. q=min{γ1, γ2, …} [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972, - 167 с.].
13. Операция деления целого числа А на целое число В по модулю n выполняется как операция умножения по модулю n числа А на целое число B-1, которое является обратным к В по модулю n.
14. Порядок числа q по модулю n числа а - это показатель q по модулю n числа a (см. п.12).
15. Эллиптическая кривая (ЭК) - это совокупность пар МДЧ, которые удовлетворяют соотношению вида
Figure 00000138
где коэффициенты а и b и модуль р определяют конкретный вариант ЭК. Над ЭК определены операция сложения пар МДЧ и операция умножения пары МДЧ на произвольное целое число. Указанные пары МДЧ записываются в виде (х, y), где х называется абсциссой точки, а y - ординатой. Операции, определенные над точками ЭК, выполняются как операции над координатами точек ЭК. В результате вычисляется пара МДЧ, которая является координатами новой точки, являющейся результатом операции. Точки ЭК называются равными, если равны их обе координаты х и y. Детальное описание ЭК можно найти в широко доступных книгах: [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.97-130)].
16. Операция сложения двух точек А и В с координатами (xA, yA) и (xB, yВ) соответственно выполняется по формулам:
xC=k2-xA mod p и yC=k(xA-xC)-yA mod p,
где
Figure 00000139
если точки А и В не равны, и
Figure 00000140
если точки А и В равны.
17. Операция умножения точки А на натуральное число n определяется как многократное сложение токи А:
nA=А+А+…+А (n раз).
Результатом умножения любой точки ЭК на нуль определяется точка, называемая бесконечно удаленной точкой и обозначаемой буквой О. Две точки А=(х, y) и -А=(х, -y) называются противоположными. Умножение на целое отрицательное число -n определяется следующим образом: (-n)А=n(-A). По определению принимают, что сумма двух противоположных точек равна бесконечно удаленной точке О [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.97-130)].
18. Выполнение операций на точками ЭК осуществляется в вычислительных устройствах как действия над двоичными цифровыми электромагнитными сигналами, осуществляемыми по определенными правилам, определяемым через операции над МДЧ.
19. Порядком точки А ЭК называется наименьшее натуральное число q, такое что qA=О, т.е. такое, что результатом умножения точки А на число q является бесконечно удаленная точка.

Claims (7)

1. Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ, заключающийся в том, что генерируют совокупность из n≥2 секретных ключей в виде многоразрядных двоичных чисел k1, k2, …, kn, по секретным ключам формируют n открытых ключей P1, P2, …, Рn, соответственно принимают, по крайней мере, один электронный документ, представленный многоразрядным двоичным числом Н, в зависимости от принятого электронного документа и от значения, по крайней мере, одного секретного ключа формируют электронную цифровую подпись Q в виде двух или более многоразрядных двоичных чисел, формируют первое А и второе В проверочные многоразрядные двоичные числа, сравнивают их и при совпадении их параметров делают вывод о подлинности электронной цифровой подписи, отличающийся тем, что дополнительно генерируют коллективный открытый ключ в зависимости от m открытых ключей
Figure 00000141
,
Figure 00000142
, …
Figure 00000143
, где α1, α2, … αm - натуральные числа, 2≤m≤n, αj≤n, j=1, 2, …, m, и причем, по крайней мере, одно из проверочных многоразрядных двоичных чисел формируют в зависимости от коллективного открытого ключа.
2. Способ по п.1, отличающийся тем, что открытые ключи P1, Р2, …, Рn генерируют в виде точек эллиптической кривой, для чего генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, причем точки P1, Р2, …, Рn эллиптической кривой генерируют по формуле Рi=kiG, где i=1, 2, …, n, G - дополнительно сгенерированная точка эллиптической кривой, имеющая порядок q, принимают m электронных документов, представленных многоразрядными двоичными числами H1, H2, …, Hm, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000144
,
Figure 00000145
, …
Figure 00000146
, генерируют m точек
Figure 00000147
,
Figure 00000148
, …
Figure 00000009
эллиптической кривой по формуле
Figure 00000149
, генерируют точку R эллиптической кривой по формуле
Figure 00000150
, после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле е=хRmodδ, где хR - абсцисса точки R и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000151
по формуле
Figure 00000152
после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле
Figure 00000153
, причем коллективный открытый ключ генерируют в виде точки Р эллиптической кривой, вычисляемой по формуле
Figure 00000154
и первое проверочное многоразрядное двоичное число А формируют по формуле A=xR', где хR' - абсцисса точки R' эллиптической кривой, вычисленной по формуле R'=eP+sG, а второе проверочное многоразрядное двоичное число В формируют по формуле В=е.
3. Способ по п.1, отличающийся тем, что открытые ключи P1, Р2, …, Рn генерируют в виде точек эллиптической кривой, для чего генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, причем точки P1, Р2, …, Рn эллиптической кривой генерируют по формуле Pi=kiG, где i=1, 2, …, n, G - дополнительно сгенерированная точка эллиптической кривой, имеющая порядок q, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000144
,
Figure 00000145
, …
Figure 00000146
генерируют m точек
Figure 00000155
эллиптической кривой по формуле
Figure 00000149
, генерируют точку R эллиптической кривой по формуле
Figure 00000150
, после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле е=хRmodδ, где xR - абсцисса точки R и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000156
,
Figure 00000157
, …
Figure 00000014
по формуле
Figure 00000158
после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле
Figure 00000159
причем коллективный открытый ключ генерируют в виде точки Р эллиптической кривой, вычисляемой по формуле
Figure 00000160
и первое проверочное многоразрядное двоичное число А формируют по формуле А=xR'Hmodδ, где хR' - абсцисса точки R' эллиптической кривой, вычисленной по формуле R'=eP+sG, а второе проверочное многоразрядное двоичное число В формируют по формуле В=е.
4. Способ по п.1, отличающийся тем, что открытые ключи P1, Р2, …, Рn генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число р, такое р=Nz2+1, где N - четное натуральное многоразрядное двоичное число и z - простое w-разрядное двоичное число, w>64, причем многоразрядные двоичные числа P1, P2, …, Рn генерируют по формуле
Figure 00000161
, где i=1, 2, …, n, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел R и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000144
,
Figure 00000145
, …
Figure 00000146
, генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000147
,
Figure 00000148
, …
Figure 00000009
по формуле
Figure 00000162
, генерируют первое многоразрядное двоичное число R электронной цифровой подписи по формуле
Figure 00000163
, после чего формируют вспомогательное многоразрядное двоичное число Е по формуле E=RHmodδ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000164
,
Figure 00000165
, …
Figure 00000041
по формуле
Figure 00000166
после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000167
, причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000168
, и первое проверочное многоразрядное двоичное число А формируют по формуле A=Szmodp, а второе проверочное многоразрядное двоичное число В формируют по формуле В=PERmodp.
5. Способ по п.1, отличающийся тем, что открытые ключи P1, Р2, …, Рn генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число р, такое р=Nz2+1, где N - четное натуральное многоразрядное двоичное число, z - простое w-разрядное двоичное число, w>64, причем многоразрядные двоичные числа P1, P2, …, Рn генерируют по формуле
Figure 00000169
, где i=1, 2, …, n, a электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000144
,
Figure 00000145
, …
Figure 00000146
, генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000147
,
Figure 00000148
, …
Figure 00000009
по формуле
Figure 00000162
, генерируют первое многоразрядное двоичное число R электронной цифровой подписи по формуле
Figure 00000163
, после чего формируют вспомогательное многоразрядное двоичное число Е по формуле Е=RHmodδ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел
Figure 00000164
,
Figure 00000165
, …
Figure 00000041
по формуле
Figure 00000170
после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000167
, причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000168
, и первое А и В проверочные многоразрядное двоичные числа формируют соответственно по формулам A=(SzR-Emodp)Hmodδ и В=Е.
6. Способ по п.1, отличающийся тем, что открытые ключи генерируют в виде многоразрядных двоичных чисел P1, P2, …, Рn, для чего генерируют простое многоразрядное двоичное число р, причем многоразрядные двоичные числа P1, P2, …, Рn генерируют по формуле
Figure 00000171
, где i=1, 2, …, n, g - дополнительно сгенерированное многоразрядное двоичное число, имеющее порядок q, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000144
,
Figure 00000145
, …
Figure 00000146
, генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000147
,
Figure 00000148
, …
Figure 00000009
по формуле
Figure 00000172
, генерируют многоразрядное двоичное число R по формуле
Figure 00000163
, после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=RHmodδ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют многоразрядных m двоичных чисел
Figure 00000164
,
Figure 00000165
, …
Figure 00000041
по формуле
Figure 00000173
, после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000174
причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000168
, и первое проверочное многоразрядное двоичное число А формируют по формуле A=R'Hmodδ, где R' - многоразрядное двоичное число, вычисленное по формуле R'=P-Egsmodp, а второе проверочное многоразрядное двоичное число В формируют по формуле В=Е.
7. Способ по п.1, отличающийся тем, что открытые ключи генерируют в виде многоразрядных двоичных чисел P1, P2, …, Рn, для чего генерируют простое многоразрядное двоичное число р, причем многоразрядные двоичные числа P1, Р2, …, Рn генерируют по формуле
Figure 00000175
, где i=1, 2, …, n, g - дополнительно сгенерированное многоразрядное двоичное число, имеющее порядок q, принимают m электронных документов, представленных многоразрядными двоичными числами Н1, Н2, …, Нm, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел
Figure 00000144
,
Figure 00000145
, …
Figure 00000176
генерируют m вспомогательных многоразрядных двоичных чисел
Figure 00000147
,
Figure 00000148
, …
Figure 00000009
по формуле
Figure 00000177
, генерируют многоразрядное двоичное число R по формуле
Figure 00000163
, после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=RHmodδ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют многоразрядных m двоичных чисел
Figure 00000164
,
Figure 00000165
, …
Figure 00000041
по формуле
Figure 00000173
, после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле
Figure 00000178
причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле
Figure 00000179
и первое проверочное многоразрядное двоичное число А формируют по формуле A=R'Hmodδ, где R' - многоразрядное двоичное число, вычисленное по формуле R'=P-Egsmodp, а второе проверочное многоразрядное двоичное число В формируют по формуле В=Е.
RU2007134774/08A 2007-09-18 2007-09-18 Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ RU2402880C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2007134774/08A RU2402880C2 (ru) 2007-09-18 2007-09-18 Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2007134774/08A RU2402880C2 (ru) 2007-09-18 2007-09-18 Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ

Publications (2)

Publication Number Publication Date
RU2007134774A RU2007134774A (ru) 2009-03-27
RU2402880C2 true RU2402880C2 (ru) 2010-10-27

Family

ID=40542316

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007134774/08A RU2402880C2 (ru) 2007-09-18 2007-09-18 Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ

Country Status (1)

Country Link
RU (1) RU2402880C2 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
МОЛДОВЯН А.А. и др. Криптография. Лань. - СПб., 2000 МОЛДОВЯН Н.А. Практикум по криптосистемам с открытым ключом, БХВ-Петербург. - СПб., 2007. *

Also Published As

Publication number Publication date
RU2007134774A (ru) 2009-03-27

Similar Documents

Publication Publication Date Title
US11062303B2 (en) Cryptographically concealing amounts transacted on a ledger while preserving a network&#39;s ability to verify the transaction
KR101255393B1 (ko) 타원 곡선 점 곱셈
JP2009537025A (ja) サイドチャネル攻撃からの保護
TW201320700A (zh) 署名驗證裝置、署名驗證方法、程式及記錄媒體
KR20060129302A (ko) 소수 산출장치 및 방법과 키 발행 시스템
KR20040068472A (ko) 위조로부터 전자칩을 보호하는 공용키 암호화 방법
CN109818752B (zh) 信用评分生成方法、装置、计算机设备和存储介质
Noether et al. Monero is not that mysterious
JP4988448B2 (ja) 一括検証装置、プログラム及び一括検証方法
Hartung Attacks on secure logging schemes
CN110602190B (zh) 区块链共识的方法及区块链节点和存储装置
Barenghi et al. A novel fault attack against ECDSA
KR102070061B1 (ko) 묶음 검증 방법 및 장치
CN111740821B (zh) 建立共享密钥的方法及装置
CN112887096A (zh) 用于签名和密钥交换的素数阶椭圆曲线生成方法及系统
JP2007187908A (ja) サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法
CN113711562A (zh) 用于区块链交易中的知识证明的计算机实现的方法和系统
RU2356172C1 (ru) Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
KR100971038B1 (ko) 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법
RU2402880C2 (ru) Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ
US10305678B2 (en) Imbalanced montgomery ladder
KR102510077B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
RU2380838C1 (ru) Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
RU2450438C1 (ru) Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ
RU2369974C1 (ru) Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ

Legal Events

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

Effective date: 20101005