СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ КОЛЛЕКТИВНОЙ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ Российский патент 2012 года по МПК H03M7/00 H04L9/14 

Описание патента на изобретение RU2450438C1

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов аутентификации электронных сообщений, передаваемых по телекоммуникационным сетям и сетям ЭВМ, и может быть использовано в системах передачи электронных сообщений (документов), заверенных электронной цифровой подписью (ЭЦП), представленной в виде многоразрядного двоичного числа (МДЧ). Здесь и далее под МДЧ понимается электромагнитный сигнал в двоичной цифровой форме, параметрами которого являются: число битов и порядок следования их единичных и нулевых значений (толкование терминов, используемых в описании изобретения см. в Приложении 1).

Известен способ формирования и проверки подлинности ЭЦП Эль-Гамаля, описанный в книге [Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. - СПб, Лань, 2000. - с.156-159], который включает следующие действия:

формируют простое МДЧ p и двоичное число G, являющееся первообразным корнем по модулю p, генерируют секретный ключ в виде МДЧ x, в зависимости от секретного ключа формируют открытый ключ в виде МДЧ , принимают электронный (ЭД), представленный в виде МДЧ Н, в зависимости от Н и секретного ключа формируют ЭЦП Q в виде двух МДЧ S и R, то есть Q=(S, R);

осуществляют процедуру проверки подлинности ЭЦП, включающую вычисление двух контрольных параметров с использованием исходных МДЧ p, G, Y, Н и S путем возведения МДЧ G, Y, R в дискретную степень по модулю p и сравнение вычисленных контрольных параметров;

при совпадении значений контрольных параметров делают вывод о подлинности ЭЦП.

Недостатком данного способа также является относительно большой размер ЭЦП. Это объясняется тем, что значения элементов подписи S и R вычисляют путем выполнения арифметических операций по модулю p-1 и по модулю p, соответственно.

Известен также способ формирования и проверки ЭЦП, предложенный в патенте США №4995089 от 19.02.1991.

Известный способ заключается в следующей последовательности действий:

формируют простое МДЧ p, такое что p=Nq+1, где q - простое МДЧ;

формируют простое МДЧ а, такое что а≠1 и aq mod p=1;

методом генерации случайной равновероятной последовательности формируют секретный ключ в виде МДЧ x;

формируют открытый ключ в виде МДЧ y по формуле ;

принимают ЭД, представленный МДЧ М;

формируют ЭЦП в виде пары МДЧ (е, s) для чего генерируют случайное МДЧ t, формируют МДЧ R по формуле , формируют МДЧ , где знак || обозначает операцию присоединения двух МДЧ и f - некоторая специфицированная хэш-функция, значение которой имеет фиксированную длину (обычно 160 или 256 бит), независим от размера аргумента, т.е. от размера МДЧ , а затем формируют МДЧ s по формуле ;

формируют первое проверочное МДЧ А, для чего генерируют МДЧ R' по формуле и формируют МДЧ ;

формируют второе проверочное МДЧ В путем копирования МДЧ е: В=е;

сравнивают сформированные проверочные МДЧ А и В;

при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.

Недостатком способа по патенту США является относительно высокая вычислительная сложность процедуры формирования и проверки ЭЦП, что связано с тем, что для обеспечения минимально требуемого уровня стойкости требуется использовать простой модуль p разрядностью не менее 1024 бит.

Недостатком известного способа является относительно большой размер подписи и необходимость увеличения размера подписи при разработке новых более эффективных методов разложения числа n на множители или при росте производительности современных вычислительных устройств. Это объясняется тем, что значение элемента подписи s вычисляются путем выполнения арифметических операций по модулю n, а стойкость ЭЦП определяется сложностью разложения модуля n на множители p и q.

Известен также способ формирования и проверки подлинности ЭЦП, предлагаемый российским стандартом ГОСТ Р 34.10-2001 и описанный, например, в книге [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005. - 229 с. (см. с.110-111)], согласно которому ЭЦП формируется в виде пары МДЧ r и s, для чего генерируют эллиптическую кривую (ЭК) в виде совокупности точек, причем каждая точка представляется двумя координатами в декартовой системе координат в виде двух МДЧ, называемых абсциссой (x) и ординатой (y), затем осуществляют операции генерации точек ЭК, сложения точек ЭК и умножения точки ЭК на число, а также арифметические операции над МДЧ, после чего в результате выполненных операций формируются МДЧ r и s. Указанные операции над точками выполняются как операции над МДЧ, являющимися координатами точек, по известным формулам [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005. - 229 с. (см. с.110-111)]. В прототипе генерируют ЭК, описываемую уравнением , поэтому генерация ЭК состоит в генерации чисел a, b и p, являющихся параметрами ЭК и однозначно задающих множество точек ЭК как множество точек, абсцисса и ордината которых удовлетворяет указанному уравнению. В рассматриваемом аналоге выполняется следующая последовательности действий:

генерируют ЭК, которая представляет собой совокупность пар МДЧ, называемых точками ЭК и обладающих определенными свойствами (см. Приложение 1, пп.15-19);

методом генерации случайной равновероятной последовательности формируют секретные ключи в виде МДЧ k1, k2, …, kn;

формируют открытые ключи в виде точек ЭК P1, P2, …, 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 по формуле , где 1≤i≤n;

формируют первое проверочное МДЧ А, для чего генерируют МДЧ v по формуле и МДЧ w по формуле , затем генерируют точку R' по формуле , после чего МДЧ А получают по формуле , где xR' - абсцисса точки R';

формируют второе проверочное МДЧ В путем копирования МДЧ r: В=r;

сравнивают сформированные проверочные МДЧ А и В;

при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.

Недостатком этого аналога является возрастание размера коллективной ЭЦП, т.е. ЭЦП, устанавливающей факт подписания некоторого заданного ЭД двумя и более пользователями, пропорционально числу пользователей, подписывающих заданный ЭД, что обусловлено тем, что каждый пользователь формирует ЭЦП, которая не зависит от ЭЦП других пользователей.

Наиболее близким по своей технической сущности к заявленному является известный способ формирования и проверки подлинности ЭЦП, описанный в патенте РФ №2356172 по заявке №2007130982 от 13.08.2007 [Молдовян А.А., Молдовян Н.А. Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ // Бюл. №14 от 20.05.2009].

Ближайший аналог (прототип) заключается в выполнении следующей последовательности действий

1) генерируют ЭК, которая представляет собой совокупность пар МДЧ, называемых точками ЭК и обладающих определенными свойствами (см. Приложение 1, пп.15-19);

2) методом генерации случайной равновероятной последовательности формируют секретные ключи в виде МДЧ k1, k2, …, kn;

3) формируют открытые ключи в виде точек ЭК P1, P2, …, Pn, для чего генерируют точку G, имеющую значение порядка, равное q, и генерируют открытые ключи путем умножения точки G на МДЧ k1, k2, …, kn, т.е. формируют открытые ключи по формулам P1=k1G, P2=k2G, …, Pn=knG;

4) принимают ЭД, представленный МДЧ Н;

5) формируют коллективный открытый ключ в виде точки Р ЭК, вычисляемой по формуле где α1, α2, …, αm - натуральные числа; 2≤m≤n; αj≤n и j=1, 2, …, m;

6) формируют коллективную ЭЦП Q, принадлежащую пользователям, владеющим секретными ключами , , …, в виде пары МДЧ (е, s), для чего

6.1) генерируют m случайных МДЧ , , …, таких, что выполняются условия , , …, ;

6.2) формируют m точек ЭК , , …, по формуле , где j=1, 2, …, m;

6.3) формируют точку R ЭК по формуле

6.4) генерируют МДЧ е по формуле , где xR - абсцисса точки R;

6.5) генерируют m МДЧ , , …, по формуле , где j=1, 2, …, m;

6.6) генерируют МДЧ s по формуле ;

7) формируют первое проверочное МДЧ А, для чего

7.1) генерируют МДЧ v по формуле ;

7.2) генерируют МДЧ w по формуле ;

7.3) генерируют точку R' ЭК по формуле

7.4) проверочное МДЧ A получают по формуле , где xR' - абсцисса точки R';

8) формируют второе проверочное МДЧ В путем копирования МДЧ е: В=e;

9) сравнивают сформированные проверочные МДЧ А и В;

10) при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.

Недостатком ближайшего аналога является сравнительно высокая временная сложность процедур формирования и проверки подлинности коллективной ЭЦП, что связано с тем, что сложение точек выполняется по формулам, включающим операцию умножения по модулю простого числа p, для выполнении которой требуется выполнить операцию арифметического умножения и операцию арифметического деления на число p, причем операция деления имеет временную сложность в десять и более раз более высокую, чем операция арифметического умножения.

Техническим результатом заявленного изобретения является обеспечение снижения временной сложности процедур формирования и проверки подлинности коллективной ЭЦП благодаря использованию простых чисел специального вида, для которых операция умножения по модулю МДЧ p может быть выполнена без осуществления операции арифметического деления.

Технический результат достигается тем, что в известном способе формирования и проверки подлинности коллективной ЭЦП, заверяющей ЭД, заключающемся в том, что генерируют ЭК в виде совокупности точек, каждая из которых определяется парой МДЧ, являющихся соответственно абсциссой и ординатой данной точки ЭК в декартовой системе координат, генерируют точку G ЭК, имеющую порядок q, формируют совокупность из n≥2 секретных ключей в виде МДЧ k1, k2, …, kn, по секретным ключам формируют n открытых ключей в виде точек P1, P2, …, Pn ЭК, получаемых по формуле Pi=kiG, где i=1, 2, …, n, принимают ЭД, представленный МДЧ H, формируют коллективный открытый ключ в виде точки Р ЭК, генерируемой в зависимости от точек ЭК , , …, , где α1, α2, …, αm - натуральные числа; 2≤m≤n; αj≤n и j=1, 2, …, m, по формуле в зависимости от принятого ЭД и от значения секретных ключей , , …, , формируют ЭЦП Q в виде двух МДЧ, формируют первое А и второе В проверочные МДЧ, сравнивают их и при совпадении их параметров делают вывод о подлинности ЭЦП, причем, по крайней мере, одно из проверочных МДЧ формируют в зависимости от коллективного открытого ключа Р, новым является то, что ЭЦП формируют в зависимости от коллективного открытого ключа, а в качестве ЭК используют ЭК, заданную над простым полем GF(p), где p - простое число вида , где k≥99; 0<g<k; 0<h<g; ; .

Формирование ЭЦП в зависимости от коллективного открытого ключа обеспечивает целостность коллективной подписи, которая заключается в практической невозможности генерации по известной коллективной ЭЦП каких-либо других ЭЦП. Выбор простых чисел такого вида обеспечивает выполнение операции модульного умножения путем выполнения операции арифметического умножения и не более десяти операций арифметического сложения и четырех операций арифметического сдвига, причем совокупная временная сложность всех операций арифметического сложения и арифметического сдвига существенно ниже временной сложности операции арифметического умножения. Благодаря устранению необходимости выполнения операции арифметического деления при выполнении модульного умножения обеспечивается существенное снижение временной сложности операции сложения точек ЭК, а следовательно, и существенное снижение временной сложности процедур формирования и проверки подлинности коллективной ЭЦП.

Новым является также то, что генерируют точку G ЭК, имеющую порядок q, равный простому λ-разрядному двоичному числу, где λ≥100, а ЭЦП формируют в виде пары МДЧ е и s, для чего генерируют m случайных МДЧ , , …, генерируют m точек , , …, ЭК по формуле , где j=1, 2, …, m, генерируют точку R ЭК по формуле , после чего формируют первое МДЧ е электронной цифровой подписи по формуле , где xR - абсцисса точки R, хр - абсцисса точки Р и δ - вспомогательное простое МДЧ, затем генерируют m МДЧ , , …, , по формуле после чего генерируют второе МДЧ s электронной цифровой подписи по формуле ,

причем первое проверочное МДЧ А формируют по формуле , где xR' - абсцисса точки R' ЭК, вычисленной по формуле , а второе проверочное МДЧ В формируют по формуле В=е.

Формирование первого проверочного МДЧ по точке R', вычисляемой по формуле , обеспечивает возможность применения заявленного способа формирования и проверки подлинности коллективной ЭЦП для построения на его основе протоколов слепой коллективной подписи, представляющих интерес для применения в системах тайного электронного голосования и системах электронных денег.

Новым является также то, что генерируют точку G ЭК, имеющую порядок q, равный простому λ-разрядному двоичному числу, где λ≥100, а ЭЦП формируют в виде пары МДЧ r и s, для чего генерируют m случайных МДЧ , , …, генерируют m точек , , …, ЭК по формуле , где j=1, 2, …, m, генерируют точку R ЭК по формуле , после чего формируют первое МДЧ е ЭЦП по формуле , где xR - абсцисса точки R, затем генерируют m МДЧ , , …, по формуле , где j=1, 2, …, m, после чего генерируют второе МДЧ s ЭЦП по формуле , причем первое проверочное МДЧ А формируют по формуле , где xR' - абсцисса точки R' ЭК, вычисленной по формуле где и , а второе проверочное МДЧ В формируют по формуле В=e.

Вычисление значения МДЧ s в зависимости от абсциссы точки Р задает зависимость коллективной ЭЦП от коллективного открытого ключа, благодаря чему предотвращается возможность осуществления атак на коллективную ЭЦП, состоящих в формировании по коллективной ЭЦП, сгенерированной m пользователями к некоторому заданному ЭД, некоторой другой коллективной ЭЦП к этому же ЭД, принадлежащей коллективу пользователей, численность которого меньше, чем число m.

Предлагаемый способ может быть использован для числа пользователей, равного 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. Соответственно этому совокупность открытых ключей , , …, представляет собой выборку из множества всех открытых ключей P1, P2, …, Pn, а совокупность секретных ключей , где j=1, 2, …, m, представляет собой выборку из множества всех секретных ключей ki, где i=1, 2, …, n.

Корректность заявленного способа доказывается теоретически. Рассмотрим, например, вариант реализации способа по п.2 формулы изобретения. Коллективный открытый ключ, соответствующий подмножеству пользователей с условными номерами α1, α2, …, αm, представляет собой точку

Значения , которые представляют собой «доли» пользователей в коллективной подписи, генерируются по формуле , поэтому

Значение точки R', используемой для формирования первого проверочного МДЧ А, генерируется по формуле , т.е. оно равно

Следовательно, , т.е. правильно сформированная коллективная подпись удовлетворяет процедуре проверки подписи, т.е. корректность процедур генерации и проверки ЭЦП доказана.

Корректность заявленного способа по п.2 формулы изобретения доказывается следующим образом. Коллективный открытый ключ, соответствующий подмножеству пользователей с условными номерами α1, α2, …, αm, представляет собой точку

Значения , которые представляют собой «доли» пользователей в коллективной подписи, генерируются по формуле , поэтому

.

Значение точки R', используемой для формирования первого проверочного МДЧ А, генерируется по формуле где и , т.е. оно равно

Таким образом, в процессе выполнения процедуры проверки подлинности ЭЦП получено равенство первого А и второго В проверочных МДЧ. Это означает, что коллективная подпись (е, s), сформированная в соответствии с п.3 формулы изобретения, удовлетворяет процедуре проверки подписи, т.е. корректность процедур генерации и проверки ЭЦП доказана.

Рассмотрим примеры реализации заявленного технического решения с использованием ЭК, описываемой уравнением (см. Приложение 1, пп.15-19)

,

где конкретные значения использованных параметров описаны в приводимых ниже численных примерах. Использованные в примерах ЭК были сгенерированы с помощью программы, разработанной специально для генерации ЭК, генерации точек ЭК, включая точки с заданным порядком, и выполнения операций над точками ЭК. Приводимые в примере МДЧ записаны для краткости в виде десятичных чисел, которые в вычислительных устройствах представляются и преобразуются в двоичном виде, т.е. в виде последовательности сигналов высокого и низкого потенциала. При этом выбор простого числа вида , где k≥99; 0<g<k; 0<h<g; ; , обеспечивает существенное уменьшение временной сложности умножения по модулю p, за счет чего увеличивается производительность процедур формирования и проверки коллективной ЭЦП, поскольку временная сложность операции сложения точек ЭК определяется временной сложностью операции умножения по модулю p.

Уменьшение временной сложности операции умножения по модулю p определяется следующими математическими выкладками. Пусть требуется умножить по модулю p два k-разрядных двоичных числа a и b. Выполним операцию арифметического умножения, получим МДЧ c=ab, которое представим в виде конкатенации четырех чисел u1, u2, u3, u4: , где u2 - (k-g)-разрядное МДЧ, u3 - (g-h)-разрядное МДЧ и u4 - h-разрядное МДЧ, а разрядность МДЧ u1 не превышает значение k+1. Тогда МДЧ с можно представить в виде следующей суммы

Из последнего выражения видно, что первое слагаемое сравнимо с нулем по модулю p=2k±2g±2h±1, поэтому после выполнения пяти операций сложения и двух операций арифметического сдвига (на g и h двоичных разрядов) получим (g+k+1)-разрядное МДЧ , где - (k-g)-разрядное МДЧ, - (g-h)-разрядное МДЧ и - h-разрядное МДЧ, а разрядность МДЧ не превышает значение g+1. Представим МДЧ с' в виде следующей суммы

Из последнего выражения видно, что первое слагаемое сравнимо с нулем по модулю, , поэтому после выполнения пяти операций сложения и двух операций арифметического сдвига получим (2g+1)-разрядное МДЧ с*. При выборе значения g<k/2 разрядность МДЧ с* будет меньше значения k, т.е. . Таким образом, для выбранной структуры простого модуля операция модульного умножения выполняется за одно арифметическое умножение, четыре операции арифметического сдвига и десять арифметических сложений (вычитаний), т.е. без операции арифметического деления, трудоемкость которой в десять раз и более превышает трудоемкость операции арифметического умножения, а операции сложения (вычитания) и сдвига имеют трудоемкость в несколько десятков раз более низкую по сравнению с арифметическим умножением.

Пример 1. Простые числа вида .

Для генерации требуемых простых чисел была составлена компьютерная программа, с помощью которой были сгенерированы числа, представленные в таблице 1.

Пример 2. Реализация заявляемого способа по п.2 формулы изобретения.

В данном примере иллюстрируется конкретный вариант реализации заявленного способа, соответствующий п.2 формулы изобретения. В примере используется ЭК с параметрами, обеспечивающими достаточную стойкость для применения при решении реальных практических задач аутентификации информации. Этот пример иллюстрирует реальные размеры чисел, которые используются на практике при генерации и проверке подлинности ЭЦП. В примере 2 используется ЭК, определяемая следующими параметрами:

a=6277101735386680763835789423207666416083908700390324961276,

b=2455155546008943817740293915197451784769108058161191238065 и

p=6277101735386680763835789423207666416083908700390324961279.

Данная ЭК содержит количество точек, равное простому числу N=6277101735386680763835789423176059013767194773182842284081, т.е. любая ее точка имеет порядок q, равный значению N, т.е. q=N.

Рассмотрим коллектив из трех пользователей. При формировании и проверке подлинности ЭЦП (Подписью является пара МДЧ е и s) выполняют следующую последовательность действий.

1. Генерируют ЭК с параметрами, указанными выше.

2. Генерируют точку G:

G=(602046282375688656758213480587526111916698976636884684818,

174050332293622031404857552280219410364023488927386650641);

3. Формируют секретные ключи в виде случайных МДЧ

k1=835789421138978964367813234978502635 - ключ первого пользователя;

k2=432354875234868757699569735797423656 - ключ второго пользователя;

k3=378236995234654633738959325641256478 - ключ третьего пользователя.

4. Формируют открытые ключи в виде точек ЭК P1, P2, P3, генерируемых по формуле Pi=kiG, где i=1, 2, 3:

P1=(4998632987863305969589383775609285508391259684468221878571,

3936977070282976311058449358088801812667263289808569552507);

P2=(3183995529308712653472894666414467994550809036839813286314,

533937252572420277336489931376120639477895768796475116755) P3=(2460519770441949557377308960570234322707453364723768002258,

5697221429895096007852763432675082634800695858846874811546).

5. Формируют коллективный открытый ключ в виде точки Р по формуле P=P1+P2+P3:

P=(5466709808663132160427804997530557588261999466785071607919, 3094755529860412503138802761495528631147969722560482750435).

6. Принимают ЭД, представленный, например, следующим МДЧ H (в качестве которого может быть взята, в частности, хэш-функция от ЭД):

Н=5632446783468748928950678390567120545845654255467.

7. Формируют ЭЦП Q в виде пары МДЧ е и s, для чего выполняют следующие действия.

7.1. Первый, второй и третий пользователи генерируют случайные МДЧ t1, t2 и t3, соответственно: t1=238354578947621138997896343627813157;

t2=3541159873322442346938797249222345146;

t3=8783245153424329578927645512328452434.

7.2. Затем первый, второй и третий пользователи генерируют точки R1, R2 и R3, соответственно, по формуле Ri=tiG:

R1=(4034616864600876893968566340661364277862209951204087168214,

5354986298671793306148455265656005753266924704427361177928);

R2=(763896398707307135746174586878825942002718762871849951765,

2190268348789982887368714134763583158952166104619959537922);

R3=(4768439987199848340297410624554365763395501196612120808598,

1780080108542334678025936801360601044910398435222142281213).

7.3. Генерируют точку R по формуле R=R1+R2+R3:

R1+R2=

(2115040644166268150259602186557982833629862018386492108246,

265231360319972006851956078734463687762899759456597797037);

R=(R1+R2)+R3=

=(2049342445469025355657309690147389401514754800026139293465,

2871959932873106080935776340098885530554301780485553661815).

7.4. В зависимости от xP - абсциссы точки P (т.е. в зависимости открытого ключа) формируют первое МДЧ е электронной цифровой подписи по формуле , где xR - абсцисса точки R и δ - вспомогательное простое МДЧ (δ=14321351422445826418603787835813271331335525254774025943):

е=14196952406774050805937925246208322744830763834670345067.

7.5. Первый, второй и третий пользователи генерируют МДЧ s1, s2 и s3, соответственно, по формуле , где q'=N и i=1, 2, 3:

s1=5002732898284895478932205399925805958825563341982860766303;

s2=3361998345454092481387593665247655640757729226072380144442;

s3=635075841301660368515987217173134583188534557636864442199.

7.6. Генерируют второе МДЧ s электронной цифровой подписи по формуле :

s=2722705349653967564999996859170537169004632352509263068863.

8. Формируют первое проверочное МДЧ А, для чего выполняют следующую последовательность действий.

8.2. Генерируют точку R'=eP+sG:

eP=(1947187246176769247975833102262503011822374858475141545524, 3342861823410818659508496467470052690250788887830963414660);

sG=(5252519820860957470921503243612778322011766078195833864083,

4524870657215189484632767964134992401274413726033628771254);

R'=(2049342445469025355657309690147389401514754800026139293465,

2871959932873106080935776340098885530554301780485553661815);

8.3. Генерируют МДЧ А по формуле , где дополнительное МДЧ δ=14321351422445826418603787835813271331335525254774025943:

xP=2049342445469025355657309690147389401514754800026139293465;

xR'=2049342445469025355657309690147389401514754800026139293465;

H=5632446783468748928950678390567120545845654255467;

9. Формируют второе проверочное МДЧ В путем копирования МДЧ е: В=е=14196952406774050805937925246208322744830763834670345067.

10. Сравнивают первое А и второе В проверочные МДЧ.

Сравнение показывает, что параметры МДЧ А и В совпадают. Совпадение значений А и В означает, что коллективная ЭЦП является подлинной, т.е. относится к принятому ЭД, представленному МДЧ H, и сформирована тремя пользователями, по открытым ключам которых был сформирован коллективный открытый ключ, использованный для проверки подлинности подписи.

Пример 3. Реализация заявляемого способа по п.3 формулы изобретения.

В данном примере иллюстрируется конкретный вариант реализации заявленного способа, соответствующий п.3 формулы изобретения. В примере 3 используются секретные ключи, ЭК, количество пользователей и значения МДЧ t1, t2 и t3 такие же как и в примере 2. Отличие состоит в том, что в примере 3 ЭЦП представляет собой пару МДЧ е и s, которые вычисляются с использованием других соотношений, а также первое проверочное МДЧ формируется по другой формуле. В примере 3 последовательно выполняют действия в полном соответствии с шагами 1, 2, 3, 4, 5, 6, 7.1, 7.2, и 7.3, описанными в примере 2, после чего выполняют следующую последовательность действий:

7.4. Формируют первое МДЧ e электронной цифровой подписи по формуле , где xR - абсцисса точки R:

7.5. В зависимости от xP - абсциссы точки P (т.е. в зависимости открытого ключа) первый, второй и третий пользователи генерируют МДЧ s1, s2 и s3, соответственно, по формуле , где i=1, 2, 3:

7.6. Генерируют второе МДЧ s электронной цифровой подписи по формуле :

s=3864949771235837049180758676735173133335987619584093868897.

8. Формируют первое проверочное МДЧ А, для чего выполняют следующую последовательность действий.

8.1. Вычисляют значения и :

8.2. Генерируют точку где и :

wP=(3477338820102177084638700470951767405444887688243451296171,

2939308849110413774272148215167192630021513848994571097620)

vG=(5483431945087935931853246965615030770693093589259968673840,

4659673904494541361622703010838292502513523923212176703055)

R'=(2049342445469025355657309690147389401514754800026139293465,

2871959932873106080935776340098885530554301780485553661815);

8.3. Генерируют МДЧ A по формуле :

А=2049342445469025355657309690147389401514754800026139293465.

9. Формируют второе проверочное МДЧ В путем копирования МДЧ е:

В=е=2049342445469025355657309690147389401514754800026139293465.

10. Сравнивают первое А и второе В проверочные МДЧ.

Сравнение показывает, что параметры МДЧ А и В совпадают. Совпадение значений А и В означает, что коллективная ЭЦП является подлинной.

Пример 1 показывает, что простые числа с требуемой структурой двоичного представления могут быть легко сгенерированы, а примеры 2 и 3 экспериментально подтверждают корректность реализации заявленного способа, что дополняет математическое доказательство корректности, приведенное выше.

Таким образом, показано, что заявляемый способ может быть положен в основу стойких систем ЭЦП, обеспечивающих уменьшение времени формирования коллективной ЭЦП.

Приведенные примеры и математическое обоснование показывают, что предлагаемый способ формирования и проверки подлинности ЭЦП работает корректно, технически реализуем и позволяет получить сформулированный технический результат.

Приложение 1

Толкование терминов, используемых в описании заявки

1. Двоичный цифровой электромагнитный сигнал - последовательность битов в виде нулей и единиц.

2. Параметры двоичного цифрового электромагнитного сигнала: разрядность и порядок следования единичных и нулевых битов.

3. Разрядность двоичного цифрового электромагнитного сигнала - общее число его единичных и нулевых битов, например, число 10011 является 5-разрядным.

4. Электронный документ (ЭД) - двоичный цифровой электромагнитный сигнал, параметры которого зависят от исходного документа и способа его преобразования к электронному виду.

5. Электронная цифровая подпись (ЭЦП) - двоичный цифровой электромагнитный сигнал, параметры которого зависят от подписанного ЭД и от секретного ключа.

6. Секретный ключ - двоичный цифровой электромагнитный сигнал, используемый для формирования подписи к заданному электронному документу. Секретный ключ представляется, например, в двоичном виде как последовательность цифр «0» и «1».

7. Открытый ключ - двоичный цифровой электромагнитный сигнал, параметры которого зависят от секретного ключа и который предназначен для проверки подлинности ЭЦП,

8. Хэш-функция от ЭД - двоичный цифровой электромагнитный сигнал, параметры которого зависят от ЭД и выбранного метода ее вычисления.

9. Многоразрядное двоичное число (МДЧ) - двоичный цифровой электромагнитный сигнал, интерпретируемый как двоичное число и представляемый в виде последовательности цифр «0» и «1».

10. Операция возведения числа S в дискретную степень A по модулю n - это операция, выполняемая над конечным множеством натуральных чисел {0, 1, …, n-1}, включающем n чисел, являющихся остатками от деления всевозможных целых чисел на число n; результат выполнения операций сложения, вычитания и умножения по модулю n представляет собой число из этого же множества [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.]; операция возведения числа S в дискретную степень Z по модулю n определяется как Z-кратное последовательное умножение по модулю n числа S на себя, т.е. в результате этой операции также получается число W, которое меньше или равно числу n-1; даже для очень больших чисел S, Z и n существуют эффективные алгоритмы выполнения операции возведения в дискретную степень по модулю [см. Молдовян A.A., Молдовян Н.A., Гуц Н.Д., Изотов Б.В. Криптография: скоростные шифры. - СПб. БХВ-Петербург, 2002. - С.58-61]; выполнение операции возведения числа S в дискретную степень Z по модулю n обозначается как , где МДЧ W есть результат выполнения данной операции.

11. Функция Эйлера от натурального числа n - это число чисел, являющихся взаимно простыми с n и не превосходящими n [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.].

12. Показатель q по модулю n числа а, являющегося взаимно простым с n - это минимальное из чисел γ, для которых выполняется условие , т.е. q=min{γ1, γ2, …} [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.].

13. Операция деления целого числа A на целое число В по модулю n выполняется как операция умножения по модулю n числа A на целое число В-1, которое является обратным к В по модулю n.

14. Порядок числа q по модулю n числа а - это показатель q по модулю n числа а.

15. Эллиптическая кривая (ЭК) - это совокупность пар МДЧ, которые удовлетворяют соотношению вида , где коэффициенты а и b и модуль p определяют конкретный вариант ЭК. Над ЭК определены операция сложения пар МДЧ и операция умножения пары МДЧ на произвольное целое число. Указанные пары МДЧ записываются в виде (x, y), где x называется абсциссой точки, а y - ординатой. Операции, определенные над точками ЭК, выполняются как операции над координатами точек ЭК. В результате вычисляется пара МДЧ, которая является координатами точки, являющейся результатом операции. Точки ЭК называются равными, если равны их обе координаты x и y. Детальное описание ЭК можно найти в широко доступных книгах: [Б.Я.Рябко, A.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005. - 229 с. (см. с.97-130)]

16. Операция сложения двух точек A и В с координатами (xA,yA) и (xB,yB), соответственно, выполняется по формулам: и , где , если точки A и В не равны, и , если точки A и В равны.

17. Операция умножения точки A на натуральное число n определяется как многократное сложение токи A: nА=A+A+…+A (n раз). Результатом умножения любой точки ЭК на нуль определяется точка, называемая бесконечно удаленной точкой и обозначаемой буквой О. Две точки A=(x, y) и -A=(x, -y) называются противоположными. Умножение на целое отрицательное число -n определяется следующим образом: (-n)A=n(-A). По определению принимают, что сумма двух противоположных точек равна бесконечно удаленной точке О [Б.Я.Рябко, A.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005. - 229 с. (см. с.97-130)].

18. Выполнение операций на точками ЭК осуществляется в вычислительных устройствах как действия над двоичными цифровыми электромагнитными сигналами, осуществляемыми по определенными правилам, определяемым через операции над МДЧ.

19. Порядком точки A ЭК называется наименьшее натуральное число q, такое что qA=О, т.е. такое, что результатом умножения точки A на число q является бесконечно удаленная точка.

Похожие патенты RU2450438C1

название год авторы номер документа
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2007
  • Молдовян Николай Андреевич
  • Молдовян Александр Андреевич
RU2356172C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ КОЛЛЕКТИВНОЙ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2007
  • Молдовян Николай Андреевич
  • Молдовян Александр Андреевич
RU2402880C2
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2007
  • Молдовян Дмитрий Николаевич
  • Молдовян Николай Андреевич
RU2369974C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2007
  • Дернова Евгения Сергеевна
  • Костина Анна Александровна
  • Молдовян Николай Андреевич
RU2369973C1
СПОСОБ ГЕНЕРАЦИИ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Николай Андреевич
RU2392736C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Дмитрий Николаевич
  • Молдовян Николай Андреевич
RU2401513C2
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Дернова Евгения Сергеевна
  • Костина Анна Александровна
  • Молдовян Николай Андреевич
  • Молдовяну Петр Андреевич
RU2380830C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Александр Андреевич
  • Молдовян Дмитрий Николаевич
  • Молдовян Николай Андреевич
RU2382505C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Николай Андреевич
  • Молдовян Дмитрий Николаевич
  • Молдовяну Петр Андреевич
RU2380838C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2007
  • Молдовян Николай Андреевич
  • Молдовян Александр Андреевич
RU2409903C2

Реферат патента 2012 года СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ КОЛЛЕКТИВНОЙ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ

Изобретение относится к области электросвязи, а именно к области криптографических устройств и способов проверки электронной цифровой подписи (ЭЦП). Техническим результатом является уменьшение времени формирования и проверки подлинности коллективной ЭЦП без снижения ее уровня стойкости. Способ генерации и проверки ЭЦП заключается в том, что генерируют эллиптическую кривую (ЭК), заданную над простым полем GF(p), где p - простое число вида , где k≥99; 0<g<k; 0<h<g; ; , в виде совокупности точек, каждая из которых задается двумя многоразрядными двоичными числами (МДЧ) - ее абсциссой и ординатой, формируют n≥2 секретных ключей в виде МДЧ k1, k2, …, kn, по секретным ключам формируют n открытых ключей в виде точек P1, P2, …, Pn, принимают электронный документ (ЭД), представленный МДЧ H, формируют коллективный открытый ключ в виде точки Р ЭК, генерируемой в зависимости от точек , , …, , где ось α1, α2,…, αm - натуральные числа, 2≤m≤n, αj≤n и j=1, 2, …, m, в зависимости от принятого ЭД, от значений , , …, и от точки Р формируют ЭЦП Q в виде двух МДЧ е и s, формируют первое А и второе В проверочные МДЧ, причем, по крайней мере, одно из проверочных МДЧ формируют в зависимости от коллективного открытого ключа P, сравнивают МДЧ А и В. При совпадении их параметров делают вывод о подлинности ЭЦП. 2 з.п. ф-лы, 1 табл.

Формула изобретения RU 2 450 438 C1

1. Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ, заключающийся в том, что генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, генерируют точку G эллиптической кривой, имеющую порядок q, формируют совокупность из n≥2 секретных ключей в виде многоразрядных двоичных чисел k1, k2, …, kn, по секретным ключам формируют n открытых ключей в виде точек P1, P2, …, Pn эллиптической кривой, получаемых по формуле Pi=kiG, где i=1, 2, …, n, принимают электронный документ, представленный многоразрядным двоичным числом Н, формируют коллективный открытый ключ в виде точки P эллиптической кривой, генерируемой в зависимости от точек эллиптической кривой , , …, , где α1, α2, …, αm - натуральные числа; 2≤m≤n; αj≤n и j=1, 2, …, m, по формуле в зависимости от принятого электронного документа и от значения секретных ключей , , …, формируют электронную цифровую подпись Q в виде двух многоразрядных двоичных чисел, формируют первое А и второе В проверочные многоразрядные двоичные числа, сравнивают их и при совпадении их параметров делают вывод о подлинности электронной цифровой подписи, причем, по крайней мере, одно из проверочных многоразрядных двоичных чисел формируют в зависимости от коллективного открытого ключа Р, отличающийся тем, что электронную цифровую подпись формируют в зависимости от коллективного открытого ключа, а в качестве эллиптической кривой используют эллиптическую кривую, заданную над простым полем GF(p), где p - простое число вида , где k≥99; 0<g<k; 0<h<g;

2. Способ по п.1, отличающийся тем, что генерируют точку G эллиптической кривой, имеющую порядок q, равный простому λ-разрядному двоичному числу, где λ≥100, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел , , …, , генерируют m точек , , …, эллиптической кривой по формуле , где j=1, 2, …, m, генерируют точку R эллиптической кривой по формуле , после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле , где xR - абсцисса точки R, xP - абсцисса точки Р и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел , , …, по формуле , после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле , причем первое проверочное многоразрядное двоичное число А формируют по формуле , где xR' - абсцисса точки R' эллиптической кривой, вычисленной по формуле , а второе проверочное многоразрядное двоичное число В формируют по формуле В=e.

3. Способ по п.1, отличающийся тем, что генерируют точку G эллиптической кривой, имеющую порядок q, равный простому λ-разрядному двоичному числу, где λ≥100, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел , , …, , генерируют m точек , , …, эллиптической кривой по формуле , где j=1, 2, …, m, генерируют точку R эллиптической кривой по формуле после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле , где xR - абсцисса точки R, затем генерируют m многоразрядных двоичных чисел , , …, по формуле где j=1, 2, …, m, после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле , причем первое проверочное многоразрядное двоичное число А формируют по формуле , где xR' - абсцисса точки R' эллиптической кривой, вычисленной по формуле где и , а второе проверочное многоразрядное двоичное число В формируют по формуле B=е.

Документы, цитированные в отчете о поиске Патент 2012 года RU2450438C1

СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2007
  • Молдовян Николай Андреевич
  • Молдовян Александр Андреевич
RU2356172C1
СПОСОБ ГЕНЕРАЦИИ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Николай Андреевич
RU2392736C1
Способ крепления труб в отверстиях трубных решеток 1980
  • Тевелев Лев Герцович
  • Орехов Анатолий Владимирович
  • Тараховский Юрий Маркович
  • Козерацкий Валентин Иванович
  • Овсянкин Анатолий Николаевич
SU940944A1
US 4995089 A, 19.02.1991.

RU 2 450 438 C1

Авторы

Молдовян Дмитрий Николаевич

Хо Нгок Зуй

Доронин Станислав Евгеньевич

Даты

2012-05-10Публикация

2011-03-21Подача