УДК 681.3
конечные группы с четырехмерной цикличностью как примитивы цифровой подписи
П. А. Молдовяну,
канд. техн. наук, начальник службы главного метролога ФГУП НИИ«Вектор»
Д. Н. Молдовян, аспирант Хо Нгок Зуй, аспирант
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
Для синтеза производительных алгоритмов электронной цифровой подписи предлагается использовать вычислительно сложную задачу извлечения корня большой простой степени в конечных мультипликативных группах четырехмерных векторов, заданных над кольцом специального вида. Показано, что строение данного типа групп описывается в терминах четырехмерной цикличности. Особенности строения использованы для разработки алгоритмов нахождения корней большой простой степени в случае делимости порядка группы на квадрат степени корня. Предложена новая, более производительная схема электронной цифровой подписи.
Ключевые слова — конечные группы, строение групп, вычислительно сложная задача, вычисление корней, цифровая подпись.
Введение
Ранее [1, 2] были предложены конечные алгебраические структуры, заданные в конечном векторном пространстве, для построения алгоритмов электронной цифровой подписи (ЭЦП) на основе сложности задачи дискретного логарифмирования. В работе [3] показано, что в специальных частных случаях в качестве примитива алгоритмов ЭЦП перспективна задача извлечения корней большой простой степени k в конечных простых полях с характеристикой р > 21024. Одним из требований обеспечения высокой вычислительной сложности задачи нахождения корней в группах известного порядка является делимость порядка группы на ^ при достаточно большом размере числа k, т. е. при |^ > 160 бит. Задача извлечения корней может быть решена [4] в случае циклических групп посредством предварительного вычисления дискретного логарифма от подкоренного значения. Для простых конечных полей это обстоятельство накладывает требование использовать поля с характеристикой большого размера, что ограничивает производительность алгоритмов ЭЦП.
Для повышения производительности схем ЭЦП на основе сложности извлечения корней
в группах известного порядка предложено [5] использовать нециклические конечные группы двухмерных векторов. Благодаря особенностям строения конечных групп векторов в последнем случае построение стойких схем ЭЦП оказалось возможным при размере степени корня меньше 160 бит, т. е. при |^ > 80 бит. Интересно рассмотреть нециклические конечные группы многомерных векторов в качестве примитивов для схем ЭЦП, использующих сложность задачи вычисления корней. При этом с ростом размерности можно и дальше снижать размер степени корня с сохранением достаточно высокой трудности задачи извлечения корней, благодаря чему имеется потенциальная возможность повысить производительность алгоритмов ЭЦП. Однако с ростом размерности векторов в схемах ЭЦП может возникнуть потребность использовать более одного специально вычисляемого вектора в качестве открытого ключа, поскольку максимальное значение порядка при заданной общей длине вектора уменьшается. В связи с этим представляется компромиссным решением выбор размерности, равной четырем, когда при разработке алгоритмов ЭЦП можно ограничиться использованием двух векторов в качестве открытого ключа. При дальнейшем увеличении размерности векторов потре-
буется дальнейшее увеличение общего размера открытого ключа при незначительном дополнительном выигрыше в производительности.
Нециклические конечные коммутативные группы векторов, заданных над конечными полями, в общем случае имеют многомерное циклическое строение и содержат большое число циклических подгрупп одного и того же порядка [6]. Эти группы Г относятся к конечным группам известного порядка, поскольку из условий задания группы легко вычисляется значение ее порядка О. Обозначим через Отах" максимальный порядок циклических подгрупп, содержащихся в Г. С учетом особенностей строения групп векторов и результатов работ [3, 4] высокая сложность задачи извлечения корней степени k обеспечивается требованием делимости Отах" на ^ и достаточно большим значением отношения 0/0та£л.
В данной работе рассматривается математическая задача построения нециклических конечных групп четырехмерных векторов, удовлетворяющих отмеченным выше двум требованиям, и их применение для синтеза алгоритмов ЭЦП, основанных на сложности задачи извлечения корней большой простой степени.
Ниже используется термин многомерной цикличности в понимании работы [5], а именно, под ц-мерной цикличностью группы понимается, что ее минимальная система образующих включает ц элементов. В частности, каждый элемент системы образующих может иметь одно и то же значение порядка. Это случай однородной многомерной цикличности, который представляет особый интерес для построения алгоритмов ЭЦП.
Построение нециклических конечных групп четырехмерных векторов
Рассмотрим множество векторов вида (а, Ь, c, d) = ae + Ы + с] + dk, где e, ^ ] и k — формальные базисные векторы; а, Ь, с и d — целые числа, принадлежащие конечному кольцу Ът, называемые координатами. Выражения ае, М, с] и dk обозначают векторы (а, 0, 0, 0), (0, Ь, 0, 0), (0, 0, с, 0) и (0,
0, 0, d) соответственно и называются компонентами вектора (а, Ь, с, d). Определим операцию сложения векторов как сложение одноименных координат: (а, Ь, с, d) + (х, у, z, w) = (а + х, Ь + у, с + z, d + w), где знак «+» применен для обозначения двух разных операций — сложения элементов кольца Жт и сложения векторов, что не вносит неопределенности ввиду очевидности его интерпретации в каждом случае применения. Операцию умножения векторов ае + Ы + с] + dk и хе + yi + + zj + wk определим по правилу «умножения многочленов»:
(ае + Ы + с] + dk) ° (хе + yi + zj + wk) =
= ахе°е + аye°i + aze°j + awe°k + bxi°e + Ьу^ +
+ bzi°j + bwi°k + сх]°е + су]^ + czj°j + cwj°k +
+ dxk°e + dyk°i + dzk°j + dwk°k, где координаты вектора умножаются как элементы кольца Ът, а операция ° имеет более высокий приоритет по сравнению со сложением, и произведения всевозможных пар базисных векторов заменяются базисным вектором или однокомпонентным вектором в соответствии с правилом умножения, задаваемым табл. 1, в которой параметр е е Хт называется коэффициентом растяжения, разные значения которого задают разные варианты операции умножения четырехмерных векторов. Таким образом, определенная операция умножения векторов (а, Ь, с, d) и (х, у, z, w) выполняется по правилу
(а, Ь, с, d) ° (х, у, z, w) = (ах + еbw + еcz + еdy)e + + (ау + Ьх + cw + dz)i + а + еЬу + сх + dw)j +
+ (aw + еbz + есу + dx)k.
Легко проверить, что определенная операция умножения обладает свойствами ассоциативности и коммутативности, а нейтральным элементом по умножению является вектор Е = (1, 0, 0, 0).
Множество всех векторов {А} такое, что каждому вектору А может быть сопоставлен обратный вектор А - 1, для которого выполняется соотношение АА - 1 = Е, образует конечную группу. Значение ее порядка О определяется выбором значений т и е. Рассмотрим решение уравнений вида АХ = Е, которое можно представить следующим образом:
(ае + Ы + с] + dk) ° (хе + yi + zj + wk) =
= (ах + еbw + еcz + еdy)e + (ау + Ьх + cw + dz)i + + (az + еЬу + сх + dw)j + (aw + еbz + есу + dx)k = = 1е + 0i + 0]+ 0к.
Из последней записи вытекает, что для определения обратных значений следует решать следующую систему из четырех линейных сравнений с четырьмя неизвестными:
ах + edу + еcz + еbw = 1 mod т
Ьх + ау + dz + cw = 0 mod т
1 . (1)
сх + еЬу + az + dw = 0 mod т
dx + есу + еbz + aw = 0 mod т
■ Таблица 1. Правила умножения четырехмерных базисных векторов
Базисные векторы Базисные векторы
е к
е е і І к
і і вІ вк ве
І І вк ве і
к к ве і І
Формирование конечных нециклических групп с требуемыми значениями порядка обеспечим выбором значения m, равного квадрату простого числа р, и выбором соответствующего значения коэффициента е.
Утверждение 1. Пусть m = р2, где р — простое число ир > 3. При значении е <р2 таком, чтор|е, формируется группа Г четырехмерных векторов, порядок которой Q = р7(р - 1).
Доказательство: Рассмотрим множество векторов (a, b, c, d) таких, что а Ф 0 и а не делится на р. При условиях утверждения 1 главный определитель А системы сравнений (1), записанной для рассматриваемых векторов, является взаимно простым с модулем р2. Покажем, что определитель представим в виде А = а4 + pQ при некотором целом числе Q. Для этого запишем определитель в виде суммы произведений всех элементов его первой строки на их алгебраические дополнения:
А = aAa + edAed + ecAec + ebAeb = aAa + Q
где Q' — целое число и алгебраическое дополнение элемента a
Aa = а(а2 - ebd) - eb(a2 - ес2) +
+ ес(а2 - ebd) = а3 + eQ'',
здесь Q" — целое число. Следовательно: А = а4 + eQ*, и в силу делимости е на р получаем А = а4 + pQ, где Q* и Q — целые числа. Поскольку для рассматриваемых векторов а Ф 0 и простое р не делит а, то р не делит а4, следовательно, р не делит А, т. е. наибольший общий делитель А и р2 равен 1, поэтому существует значение А-1 такое, что А-1А = 1 mod р2. Таким образом, для каждого из рассматриваемых векторов система (1) имеет решение, т. е. эти векторы являются обратимыми. При этом операция умножения двух векторов дает третий вектор, в котором первая координата также не делится на р, т. е. операция умножения является замкнутой на рассматриваемом множестве векторов (a, b, с, d). Следовательно, это множество является группой, порядок которой можно определить из того факта, что число возможных значений первой координаты равно функции Эйлера от модуля ф(р2) = р(р - 1), а число возможных значений второй, третьей и четвертой координат равно р2. Получаем следующую формулу для значения порядка построенной мультипликативной группы:
Q = р(р - 1)-р2-р2-р2 = р7(р - 1).
Легко видеть, что в рассматриваемом множестве четырехмерных векторов нет другой группы
Г , в которую включена построенная группа Г в качестве подгруппы. Действительно, порядок группы делится на порядок своей подгруппы. Поэтому если бы существовала указанная группа Г", то ее порядок О" должен был бы быть равным или превышать значение 2О = 2р7(р - 1). Но этого быть не может при р > 3, так как число ненулевых векторов равно р8 - 1. Утверждение доказано.
Согласно теореме Силова [7], в группах, соответствующих условиям утверждения 1, содержатся подгруппы порядка, равного всем степеням числа р от 2 до 7, причем известна теорема, что любая подгруппа простого порядка является циклической, т. е. в построенной группе существуют циклические группы порядка р. Однако нас интересуют нециклические группы, содержащие циклические подгруппы, порядок которых делится на квадрат простого числа. Поэтому важным является выяснение вопроса существования циклических подгрупп порядка р2, р3, ..., р7.
Утверждение 2. Максимальным значением порядка элементов группы Г является значение
®шах = р2(р - 1).
Доказательство: Покажем, что в группе Г содержатся векторы порядка р2(р - 1). Рассмотрим вектор G1 = (а, 0, с, 0) = ае + с], где а — первообразный корень по модулю р2 и 1 < с < р — 1. Возведем G1 в степень в, используя формулу бинома Ньютона. Учитывая, что ег = 0 при г > 2, ]г = 0 (ноль — значение векторного пространства) при г > 4, ]2 = ее и ]3 = е], получим
(ае + с])5 = а5е + 5а5-1с +
+ 55-1 ав-2с2 ее + 5(5 - 1)(в - 2) а—е- =
2 2 • 3
= 1 а5 + 55-1а5-2с2е |е +
+ | 5а‘-'с + 5(5 -1)(5 - 2) а5ец.
2 • 3
Учитывая, что р |е, скобка при е может быть равна 1 только в случае, когда в ней первое слагаемое (а5) равно 1, а второе равно 0. Минимальное значение 5, при котором это возможно, равно р(р - 1), поскольку а — первообразный корень по модулю р2. При этом скобка при ] не равна 0, так как с не делится на р и второе слагаемое в этой скобке делится на р2. Минимальное значение 5, при котором вторая скобка равна нулю, равно р2. Таким образом: (ае + с])5 = (1, 0, 0, 0) = е при 5 = р2(р - 1) и (ае + с])5 Ф е при 5 < р2(р - 1), т. е. порядок рассматриваемого вектора равен р2(р - 1). Легко видеть, что при произвольных значениях а и с имеем G-P (р-1) = е.
Возведем вектор G1 + Ь], где Ь — произвольное значение, в степень 5, используя формулу бинома Ньютона. Учитывая, что V = 0 при г > 3, ^ = е]:
(G1 + Ы)в = G1s + sG1s-1bi + а(а 1) GГ2b2ej.
2
При в = р2(р - 1) правая часть последнего выражения равна (1, 0, 0, 0), т. е. все векторы вида
V = G1 + Щ имеют порядок не больше значения р2(р - 1). Возведем вектор V + dk при произвольном d в степень р2(р - 1), учитывая, что кг = 0 при г > 8 и то, что все слагаемые, содержащие множитель р2, также равны нулю:
(V + dk)р2 (р-1) = Vp2( р-1) + р2 (р -1) х х vp2 (p-1)-1dk + 0 + 0 +... + 0 = vp2 (р-1) = е.
Таким образом, для всех четырехмерных векторов Z группы Г выполняется условие
%Р (р-Ц = е, т. е. ютах = р2(р - 1). Утверждение 2 доказано.
Из утверждений 1 и 2 вытекает, что коммутативная группа Г не может быть порождена одним элементом, т. е. она не является циклической. Известно ([8], с. 66-73), что конечные коммутативные группы являются прямым произведением примарных циклических подгрупп. Если взять из каждой такой подгруппы генератор, то их совокупность будет образовывать примарный базис — набор элементов, порядок которых равен степени простого числа, причем любой элемент группы может быть представлен единственным способом как произведение степеней элементов указанного набора. Элементы базиса, порядки которых являются взаимно простыми, порождают циклические подгруппы. Два или более таких элементов базиса можно заменить генератором порождаемой ими «непримарной» ци-
клической подгруппы, т. е. количество элементов в базисе может быть различным, если не требовать того, чтобы базис был примарным (существует большое число различных примарных базисов, но число элементов в них является одинаковым).
Покажем, что рассматриваемая группа Г порождается базисом, включающим один элемент порядка р(р - 1) и три элемента порядка р2. Элементом порядка р(р - 1) является вектор В1 = (а,
0, 0, 0), где а — первообразный корень по модулю р2. В качестве базисных элементов порядка р2 возьмем следующие три вектора: В2 = (а', Ь, 0, 0), В3 = (а', 0, с, 0) и В4 = (а', 0, 0, d), где а' — число порядка р по модулю р2 и числа Ь, с и d не делятся на р. Записывая степени элементов В1, В2, В3 и В4 по формуле бинома Ньютона, легко показать, что их порядки равны заявленным значениям и порождаемые этими элементами циклические подгруппы пересекаются только в единичном элементе. Следовательно, их прямое произведение включает р(р - 1)р2р2р2 = О различных элементов, т. е. на самом деле векторы В1, В2, В3 и В4 составляют базис нециклической группы Г, строение которой можно охарактеризовать в терминах многомерной цикличности. Как показано выше, максимальный порядок циклических подгрупп, содержащихся в группе Г, составляет ^тахЛ = Р (Р~ 1), т. е. порядок циклических групп делится на квадрат простого числа р, которое можно использовать в качестве степени корня, что делает эти группы перспективными для решения нашей задачи синтеза алгоритмов ЭЦП, основанных на вычислительной сложности нахождения корней р-й степени и обеспечивающих повышение про-
■ Таблица 2. Строение частных вариантов конечных групп Г четырехмерных векторов над кольцом Ъ г?
число элементов порядка ю) р
р = 232; є = 23 р = 72; є = 14 р II 5 ; є II 5 2 2 1 є II р
ю N. ю N. ю N. ю N.
2 1 2 1 2 1 2 1
11 10 3 2 4 2 5 4
22 10 6 2 5 624 10 4
23 279840 7 2400 10 624 11 14640
46 279840 14 2400 20 1248 22 14640
253 2798400 21 4800 25 77500 55 58560
506 2798400 42 4800 50 77500 110 58560
529 3404545606 49 821142 100 155000 121 19472530
1058 3404545606 98 821142 - - 242 19472530
5819 34045456060 147 1642284 - - 605 77890120
11638 34045456060 294 1642284 - - 1210 77890120
1+Е N ю 74906159834 - 4941258 - 312500 - 19487171
р7(р - 1) 74906159834 - 4941258 - 312500 - 194871710
изводительности по сравнению с алгоритмами, предложенными в работах [3, 4].
Для определения детального строения частных случаев групп Г был выполнен вычислительный эксперимент с помощью специально разработанной программы для ЭВМ, в котором для заданного значения р определялся порядок каждого обратимого четырехмерного вектора и подсчитывалось число векторов, обладающих каждым возможным значением порядка. Эксперимент (табл. 2) подтвердил, что группы, соответствующие условиям утверждения 1, являются нециклическими и их строение согласуется с ранее полученными результатами по исследованию строения конечных групп многомерных векторов, заданных над простым полем [6]. В частности из табл. 2 видно, что группа Г содержит подгруппу порядка р4, содержащую р4 - 1 элементов порядка р и обладающую однородной (ее базис включает элементы равного порядка) четырехмерной цикличностью своего строения. Последние две строки таблицы иллюстрируют проверку полученных результатов.
Оценка сложности задачи извлечения корней в группах векторов
Оценка сложности задачи извлечения корней простой степени р в группах Г требует выбора наиболее эффективного известного алгоритма решения этой задачи. Из приводимых в литературе алгоритмов решения этой задачи в мультипликативной группе поля GF(p) при р = ^2 + 1 наименьшую вычислительную сложность при \£\ < 160 бит и |р| > 1024 бит имеет алгоритм непосредственного вычисления корней [3], а при \£\ > 160 бит и \р\ < 1024 бит — алгоритм, включающий предварительное вычисление дискретного логарифма элемента, из которого вычисляется корень степени £ [4]. Аналогичные алгоритмы вычисления корней могут быть построены и для рассматриваемых групп четырехмерных векторов с учетом строения этих групп. В общем случае векторов произвольной размерности, заданных над простыми полями, их строение детально рассмотрено в работе [6], где показано, что конечные группы векторов характеризуются строением, описываемым в терминах многомерной цикличности.
Интерпретация полученных экспериментальных и теоретических результатов по построенным в предыдущем разделе группам четырехмерных векторов в терминах многомерной цикличности и использование формул для определения количества элементов группы, имеющих заданное значение порядка, позволяет определить количество циклических подгрупп каждого воз-
можного значения порядка. Кроме того, из полученных экспериментальных результатов следует, что рассматриваемые группы четырехмерных векторов имеют четырехмерную цикличность и элементы группы могут быть порождены некоторыми четверками элементов, например G1, G2, G3 и G4, как произведения некоторых степеней этой системы порождающих, состоящей из указанных четырех элементов. Таким образом, любой четырехмерный вектор А, принадлежащий группе Г, может быть представлен в виде А = 0 о G2 ° ° 0%, где Ь, j, к и и — целочислен-
ные степени, причем Ь, j, к, и < 0^3^ •
Предположим, что для элемента У = G-ju ° °GзУ oGUУ уравнение Х = имеет решение. Пусть решением является некоторый вектор X = о О^х о о£х о ОЦх. Тогда имеем
( ■ ■ ь \Р
Хр =1 Gl1x о G2x о Ghx о I =
= Gpix о Gpix о Gphx о GpUx =
= GІ^‘, о G2 о Gзhy о G’U1'.
Из последнего соотношения легко видеть, что вычисление корня можно свести к вычислению дискретного логарифма по четырехмерному основанию (G1, G2, G3, G4). Решение последней задачи даст значение четырехмерного логарифма от Y, равное (Ьу, jy, ку, иу) = (рЬх, pjx, ркх, рих), из которого легко найти (Ьх, jx, кх, их) и X = G1x о G^c о Gh3x о . Рассмотрим следую-
щий алгоритм вычисления четырехмерного логарифма и оценим его трудоемкость.
1. Вычислить значения у = У о G-l о G-l для всех ь, ] < отахл и запомнить их в некотором массиве М1 (трудоемкость этого шага W1 примерно равна W1 = ю2 операций возведения в степень, где ® = «Л).
2. Упорядочить массив М1 по значениям V1 (трудоемкость этого шага равна W2 « ю2log2ю2 операций сравнения).
3. Последовательно для к = 0, 1, 2, ..., ю и и = 0,
1, 2, ..., ю вычислять V2 = о G'l и проверять, имеется ли такое значение в массиве М1, пока для некоторой пары значений к = к0 и и = и0 не будет получено значение V2 = G1h° о G4[0, присутствующее в М1 как значение V1 и соответствующее некоторой паре значений Ь = Ь0 и j = j0 (трудоемкость этого шага W3 не превышает ю2^2ю2 операций сравнения и ю2 операций возведения в степень).
После завершения работы алгоритма имеем
^ ^о. Щ_
У = Gif’ о Gj о G3?° о и X = G1p о Gp о Gp о Gp .
В целом трудоемкость этого алгоритма можно оценить как 0(ю2) = 0(р4(р - 1)2) операций возведения в степень (операции сравнения имеют меньшую сложность), где 0(*) — обозначение порядка
величины *. Можно свести задачу нахождения четырехмерного логарифма в исходной группе к задаче нахождения четырехмерного логарифма в подгруппе порядка р4, имеющей четырехмерное циклическое строение. В последнем случае логарифм находится с помощью алгоритма, аналогичного рассмотренному выше, но имеющему значительно меньшую трудоемкость — 0(р2) операций возведения в степень.
Рассмотрим алгоритм непосредственного вычисления корня р-й степени. Легко видеть, что Xю = У“/р = Е, где ю = ОтаХ" и Е — единичный
1
2 _
вектор, поэтому имеем Yp = Ер. В рассматриваемой группе содержится подгруппа Г4 порядка р4, все элементы которой, кроме единичного, имеют порядок р и являются корнями р-й степени из единичного элемента. Четыре случайно выбранных элемента GE1, GE2, GE3 и GE4 порядка р (их можно найти по способу, описанному в работе [9], с. 20-21, в виде GE1 = В1ю/р, GE2 = В2ю/р, GE3 = = В3ю/р и GE4 = В4ю/р, где Вр В2, В3 и В4 — векторы порядка ю) с вероятностью, близкой к 1, будут принадлежать различным подгруппам и составят четырехмерный генератор подгруппы Г4, т. е. систему образующих, состоящую из четырех различных векторов порядка р. При некоторых степенях
ю
Ь, j, к и и выполняется Yp = GlEх о G,E2 о G]E3 о GE4. Это соотношение лежит в основе следующего алгоритма. -52
1. Вычислить значения V = Ур о G_\ о G—l2 для всех Ь < р и j < р и запомнить их в некотором массиве М1 (трудоемкость этого шага W1 равна р2 операций возведения в степень).
2. Упорядочить массив М1 по значениям V1 (трудоемкость этого шага равна W2 « p2log2p2 операций сравнения).
3. Последовательно для к = 0, 1, 2, ., р и и = 0,
1, 2, ..., р вычислять V2 = Ghз ° G'E4 и проверять, имеется ли такое значение в массиве М1, пока для некоторой пары значений к = к0 и и = и0 не будет получено значение ^2 = 0 , присут-
ю
~2 ; _:
ствующее в М1 как значение V = Ур о GE^ о GE2,
соответствующее некоторым показателям степеней Ь = Ь0 и j = j0 (трудоемкость этого шага равна
< 0(p2log2^2) операций сравнения и 0(р2) операций возведения в степень).
В целом трудоемкость этого алгоритма равна 0(р2) операций возведения в степень. При значениях \р\ > 40 бит найти корни простой степени р в рассматриваемых нециклических группах вычислительно невозможно, поскольку это требует совершения более 280 операций возведения в степень. После выполнения алгоритма имеем
ю
Ур = 0-° о о GEз о ^4 =
ю . ю . т ю ю
-2^Р ~2>0Р 2 ^0 Р -2и0Р ~о+Р
= ВР о ВР о ВР о ВР ^ УР =
ю . ю . ю 7 ю
2 10Р 2 ^0Р -2к0Р 2 и0Р
= ВР о ВР о ВР о ВР о УР. (2)
Легко видеть, что НОД (ю, у) = 1, где у = р + -^ —
Р
целое число, поэтому существует и легко вычисляется значение I = у-1 mod ю. Из (2) получаем формулу для определения искомого корня
т т ® ь , ® ]Р
2 О 2 ,0* 2 к0* 2 и01
Y = Б-Р о Б/ о Б? о =р о у1
Л 2 3 4
® • , ® • , ® и * ®
2 10* 2 !01 2 к0* 2 и01
^ %У = ВР о ВР о ВР о ВР о У* . (3)
Завершающие вычисления по формулам (2) и (3) не влияют на полученную оценку трудоемкости алгоритма непосредственного вычисления корней. Формула (3) дает одно значение корня, все остальные корни из Y могут быть найдены путем умножения полученного корня $У на все корни из единичного вектора Е. Это легко доказывается. Очевидно, что все корни ^У эквивалентны для рассмотренной ниже схемы ЭЦП, но это не критично для ее стойкости, поскольку их доля как элементов группы Г составляет при используемых длинах простого числа р пренебрежимо малую величину, равную
4 4
Р Р 1
° Р7 (Р-1) Р3(Р-1)
Приведенные выше алгоритмы вычисления корня степени р легко записать и для общего случая ц-мерного циклического строения группы векторов и получить следующую формулу для сложности вычисления корня степени р:
% = О^р» ]. (4)
Алгоритм электронной цифровой подписи
Рассмотренная выше нециклическая группа четырехмерных векторов может быть использована для построения алгоритмов ЭЦП, основанных на сложности задачи нахождения корней большой простой степени £ в конечных группах известного порядка. Для этой цели в качестве степени выбирается простое значение р такое, что \р | > 40 бит. Рассмотрим построение алгоритма ЭЦП. В качестве секретного ключа использу-
ется пара векторов Х1 и Х2 группы Г таких, что их порядки равны ra(X1) = rnmax и ю(Х2) = rnmax = = p2(p - 1). Генерация векторов X максимального порядка ramax осуществляется следующим путем. Выбирается случайный вектор W такой, что Wp (p-1) = E, и для всех простых делителей 5 числа ramax вычисляется вектор V = Wp (p-1)/S. Если для всех 5 выполняется V Ф E, то W берется в качестве X.
Открытый ключ представляет собой пару четырехмерных векторов, генерируемых по формулам Y1 = Х^ и Y2 = X2p. Необходимость использовать в качестве открытого ключа два вектора Yj и Y2 связана с тем, что в силу правила их вычисления их порядок равен 80-битовому (при |р| = = 40 бит) значению ®Y = p(p - 1). Последнее означает, что возведение одного открытого ключа, используемого в качестве одного из параметров процедуры проверки подлинности ЭЦП, в степень, равную 160-битовому значению хэш-функции E, дает тот же результат, что и возведение этого ключа в степень, равную 80-битовому значению E mod raY. Чтобы устранить эффект урезания «эффективной» длины хэш-функции, в приводимой ниже схеме ЭЦП используются два вектора в качестве открытого ключа, а значение E представляется в виде конкатенации двух 80-битовых значений e1 и e2, используемых при верификации ЭЦП как степени, в которые возводятся открытые ключи Y1 и Y2 соответственно.
Процедура генерации ЭЦП состоит в следующем.
1. Выбирается случайный элемент T группы Г такой, что ra(T) > p2.
2. Вычисляется значение R = Tp.
3. Вычисляется значение хэш-функции FH от подписываемого документа M, к которому предварительно присоединяются координаты r1, r2, r3 и r4 элемента R: E = FH (M||r1||r2||r3||r4), где || — операция конкатенации. Значение E является первым элементом ЭЦП. Пусть, например, размер E равен 160 бит. Значение E представляется в виде конкатенации двух 80-битовых чисел: E = e1||e2.
4. Вычисляется второй элемент ЭЦП: S = T о о X1 о X2.
Сформированная ЭЦП (E, S) включает два элемента, первый из которых является числом, а второй — элементом группы Г, т. е. четырехмерным вектором. Проверка подлинности ЭЦП осуществляется следующим образом.
1. Вычисляется значение R' = Y®-ei о Y®-e2 о Sp.
2. Вычисляется значение хэш-функции E' = = FH (M|r J|r'2|r3||r4), где r\, r2, r з и r4 — координаты вектора R' e Г.
3. Сравниваются значения E и E'. Если E = E то ЭЦП признается подлинной.
■ Таблица 3. Сравнение производительности алгоритмов ЭЦП
Алгоритм ЭЦП Размер ЭЦП, бит Размер ОК, бит Производительность, отн. ед.
ГОСТ Р 34.10-94 320* 1024 1
ГОСТ Р 34.10-2001 320* 320* 3,5
ECDSA 320 320 3,5
Предложенный (|p| = 40 бит) 480 640 10
* В спецификации стандартов рекомендуются размеры значений ЭЦП и открытого ключа (ОК), превышающие 320 бит, что дает стойкость более 280.
Стойкость данного алгоритма ЭЦП определяется сложностью задачи извлечения корней, рассмотренной выше.
Сопоставление с известными алгоритмами
Сравнительная оценка производительности различных алгоритмов ЭЦП в случае уровня безопасности, равного 280 операциям возведения в степень, представлена в табл. 3.
Алгоритм ГОСТ Р 34.10-94 основан на сложности дискретного логарифмирования в конечном простом поле, алгоритмы ГОСТ Р 34.10-2001 и ECDSA — на сложности дискретного логарифмирования в конечной группе точек эллиптической кривой (ЭК), а предложенный — на основе сложности задачи извлечения корней в нециклических группах, рассмотренных в данной статье. Более высокая производительность предложенного алгоритма обеспечивается тем, что в нем вычисления выполняются над элементами существенно меньшего размера по сравнению с первым алгоритмом, а групповая операция свободна от операции инверсии, которая присутствует как составная часть в операции сложения точек ЭК.
Заключение
Для синтеза алгоритмов ЭЦП, основанных на вычислительной сложности задачи нахождения корней большой простой степени в конечных группах известного порядка, предложены нециклические конечные группы четырехмерных векторов, координатами которых являются элементы кольца вычетов по модулю, равному квадрату простого числа р. Получена формула, выражающая порядок группы через значение р. Представлена схема ЭЦП, обладающая существенно более высокой производительностью по сравнению с известными алгоритмами ЭЦП.
Работа поддержана грантом РФФИ № 08-07-00096-а.
Литература /
1. Молдовян Н. А. Алгоритмы аутентификации информации в АСУ на основе структур в конечных векторных пространствах // Автоматика и телемеханика. 2008. № 12. С. 163-177.
2. Доронин С. Е., Молдовян Н. А., Синев В. Е. Конечные расширенные поля для алгоритмов электронной цифровой подписи // Информационно-управ-ляющие системы. 2009. № 1. С. 33-40.
3. Молдовян Н. А. Извлечение корней по простому модулю как криптографический примитив // Вестник СПбГУ. Сер. 10. 2008. Вып. 1. С. 100-105.
4. Молдовян А. А., Молдовян Н. А. Новые алгоритмы и протоколы для аутентификации информации в АСУ // Автоматика и телемеханика. 2008. № 7. С. 157-169.
5. Гурьянов Д. Ю., Дернова Е. С., Избаш В. И., Мол-довян Д. Н. Алгоритмы электронной цифровой
подписи на основе сложности извлечения корней в конечных группах известного порядка // Инфор-мационно-управляющие системы. 2008. № 5. С. 33-40.
6. Молдовян Н. А. Аутентификация информации в АСУ на основе конечных групп с многомерной цикличностью // Автоматика и телемеханика. 2009. № 8. С. 177-190.
7. Каргаполов М. И., Мерзляков Ю. И. Основы теории групп. — М.: Физматлит, 1996. — 287 с.
8. Кострикин А. И. Введение в алгебру: Ч. 3. Основные структуры алгебры. — М.: Физико-математическая литература, 2001. — 271 с.
9. Молдовян Н. А. Практикум по криптосистемам с открытым ключом. — СПб.: БХВ-Петербург, 2007. — 298 с.
Мироновский Л. А., Слаев В. А. Алгоритмы оценивания результата трех измерений. — СПб.: «Профессионал», 2010. — 192 с.: ил. ISBN 978-5-91259-041-2, УДК 389.
Монография состоит из пяти глав и трех приложений. В ней собраны, классифицированы и проанализированы алгоритмы оценивания, направленные на решение «задачи о трех измерениях».
В Главе I приведена классификация погрешностей измерений, а также методов оценивания, оптимизирующих выбранные критерии. Эти методы по виду критериев подразделяются на вероятностные, детерминированные, эвристические и диагностические. Описаны классические средние оценки и их свойства.
Глава II посвящена вероятностному и детерминированному подходам к оцениванию. В ней рассмотрены оценки максимального правдоподобия, марковские, байесовские, квадратические, модульные и степенные оценки, а также оценки, оптимизирующие составные и комбинированные критерии.
Глава III описывает принципы эвристического оценивания, основанные на математическом определении средних величин по Коши и Колмогорову. На этом пути строятся классические средние, линейные, квазилинейные, а также разностные квазилинейные и нелинейные оценки.
В Главе IV рассматриваются диагностические методы получения оценок, основанные на применении алгебраических инвариантов. Наличие алгебраических инвариантов позволяет осуществить отбраковку искаженных измерений методами технической диагностики по минимальному или максимальному рассогласованию. Алгоритмы оценивания скалярной величины по трем измерениям сведены в таблицу, в которой отражено более семидесяти различных оценок.
Глава V касается применения средних оценок для фильтрации сигналов. Охарактеризован принцип использования «гладкости» сигналов для борьбы с погрешностями, применение которого приводит к фильтрам с конечной памятью. Описаны медианные и диагностические фильтры, приведен пример фильтрации навигационной информации.
В Приложения вынесены современная терминология по характеристикам точности, соотношение между неопределенностями и характеристиками погрешности, а также статистические свойства получаемых оценок.
Для метрологов, приборостроителей и разработчиков алгоритмов, реализуемых в программно управляемых средствах измерений, а также для экспертов, осуществляющих их аттестацию. Может быть полезна студентам и аспирантам технических вузов.
Книгу можно приобрести за наличный и безналичный расчет во ВНИИМ им. Д. И. Менделеева: 190005, Санкт-Петербург, Московский пр., 19; контактный телефон +7 (812) 323-93-79; e-mail: [email protected], Любомиров Андрей Борисович. Цена экземпляра 413 руб.