X кодирование и передача информации
УДК 681.3
конечные расширенные поля для алгоритмов электронной цифровой подписи
Н. А. Молдовян,
доктор техн. наук, профессор, гл. научный сотрудник НФ ФГУП НИИ«Вектор»— специализированный центр программных систем«Спектр»
С. Е. Доронин, аспирант В. Е. Синев,
аспирант Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
Описываются новые частные варианты реализации конечных расширенных полей, предназначенных для построения производительных алгоритмов электронной цифровой подписи. Показано, что новая форма представления конечных расширенных полей путем задания специальной операции умножения в конечном m-мерном векторном пространстве обеспечивает возможность эффективного распараллеливания вычислений, благодаря чему обеспечивается повышение производительности алгоритмов электронной цифровой подписи, основанных на конечных группах матриц и эллиптических кривых при их задании над конечными расширенными полями, представленными в новой форме.
Ключевые слова — эллиптические кривые, цифровая подпись, векторные конечные поля, конечные группы матриц.
Введение
Из известных алгебраических структур, применяемых для построения алгоритмов электронной цифровой подписи (ЭЦП), наибольшую производительность процедур формирования и проверки подлинности ЭЦП при заданном уровне стойкости обеспечивают конечные группы точек эллиптической кривой (ЭК) благодаря тому, что в качестве координат ЭК достаточно использовать элементы конечного поля, порядок которого имеет сравнительно малый размер (160-256 бит). Групповой операцией на ЭК является композиция (сложение) точек, для выполнения которой осуществляется одна операция инверсии и несколько операций умножения координат [1-3]. Операция инверсии вносит основной вклад в ограничение производительности алгоритмов аутентификации информации, построенных с использованием ЭК. Актуальной для практики задачей является дальнейшее повышение производительности алгоритмов ЭЦП. В случае использования ЭК уменьшение сложности операции композиции точек достигается при представлении ЭК в проективных координатах [3], когда уст-
раняется операция инверсии в конечном поле, над которым задана ЭК, однако увеличивается число умножений в этом поле. Предложение использовать конечные группы невырожденных матриц (КГНМ), заданные над конечным полем, для построения алгоритмов ЭЦП [4] дает возможность дальнейшего повышения производительности алгоритмов ЭЦП, однако при этом в два раза увеличивается размер открытого ключа.
В случае использования ЭК и КГНМ для построения алгоритмов ЭЦП определяющим фактором, влияющим на производительности, является сложность операции умножения в конечном поле, над которым задаются эти алгебраические структуры, и невозможность распараллеливания этой операции при использовании известных форм задания конечных полей. В известных реализациях ЭК и КГНМ используется простое поле, представленное кольцом Zp, где р — простое число, или расширенное конечное поле многочленов. В первом случае умножение элементов поля реализуется как умножение чисел по модулю р, а во втором случае — как умножение многочленов по модулю неприводимого многочлена. Оба типа операции модульного умножения реализуются
с использованием операции обычного умножения и деления результата на простое число или неприводимый многочлен соответственно. Это не позволяет распараллелить операцию умножения в конечном поле с целью повысить производительности алгоритмов ЭЦП.
В настоящей работе для задания ЭК и КГНМ предлагается использовать конечные расширенные поля, формируемые в конечных т-мерных векторных пространствах, в которых операция умножения является распараллеливаемой по определению, а именно, координаты вектора-результата вычисляются независимо друг от друга. Это позволяет при аппаратной реализации существенно повысить производительность алгоритмов ЭЦП, использующих вычисления на ЭК или в КГНМ. Общая схема синтеза алгоритмов ЭЦП на основе ЭК и КГНМ остается прежней. Изменяется только форма представления конечного поля, над которым задаются эти структуры. Ввиду известного факта о изоморфизме всех конечных полей заданного порядка ожидается, что такая замена формы представления конечного поля не приведет к изменению структурных свойств ЭК и КГНМ и сложности задачи дискретного логарифмирования на ЭК или в КГНМ, которая определяет безопасность алгоритмов ЭЦП, построенных с использованием ЭК и КГНМ. В связи с этим в статье акцент делается на способ задания конечных расширенных полей в новой форме и условиях их формирования.
Конечные расширенные поля векторов над полем GF(p)
Рассмотрим конечное множество т-мерных векторов
ae + fei + ... + cj,
где e, i, ... j — базисные векторы, которые будем представлять также и в виде набора координат (а, fe, ..., c), являющихся элементами конечного поля GF(p), где p — простое число. В дальнейшем нас будут интересовать условия, при которых рассматриваемое множество векторов будет обладать свойствами расширенного поля, поэтому определим на этом множестве две операции — сложение и умножение векторов. Операцию сложения векторов определим по следующему естественному правилу:
(а, fe, ..., c) + (x, у, ..., z) = (а + x, fe + у, ..., c + z).
Операцию умножения векторов определим по правилу умножения многочленов с учетом того, что умножение базисных векторов выполняется
по некоторым табличным правилам, ставящим в соответствие каждой паре умножаемых базисных векторов третий базисный вектор (возможно, совпадающий с одним из перемножаемых базисных векторов) или третий базисный вектор, умноженный на некоторый коэффициент е, являющийся элементом поля GF(p). Таким образом, имеем
(ae + fei + ... + cj)(xe + yi + ... + zj) =
= ax-ee + ay-ei + ... + az-ej + fex-ie + fey-ii + ... +
+ fez-ij + ... + cx-je + cy-ji + ... + cz-jj,
где каждое из произведений ee, ei, ..., ej, ie, ii, ..., ij, je, ji, ..., jj следует заменить на задаваемое таблицей умножения базисных векторов значение ev, где v — вектор, принадлежащий множеству базисных векторов. Синтез таблицы является определяющим моментом в задании конкретного варианта операции умножения, которая определяет тип алгебраической структуры, формируемой в конечном пространстве т-мерных векторов при заданном поле GF(p). Таблица умножения базисных векторов определяет над их множеством некоторую операцию. Нас интересует случай образования конечных групп в пространстве т-мерных векторов, поэтому указанная таблица должна быть составлена с учетом обеспечения свойства ассоциативности умножения базисных векторов. В общем случае порядок умножаемых базисных векторов имеет значение, однако мы ограничимся рассмотрением наиболее интересного для нас случая задания коммутативной операции умножения базисных векторов. Легко показать, что свойство коммутативности и ассоциативности умножения базисных векторов естественным способом переходит в свойство коммутативности и ассоциативности умножения т-мерных векторов. При выполнении этого условия в конечном векторном пространстве формируются структуры со свойствами коммутативной группы. Конкретные варианты таблиц, задающих правила умножения базисных векторов, рассмотрены далее.
Ниже будет показано, что при определенных соотношениях между размерностью векторов т и порядком поля p в частных случаях задания операции умножения векторов формируются конечные расширенные поля GF(pm). Сравним сложность операции умножения в поле такого типа со сложностью умножения в простом поле Zp„ где |p'| = mp| и |p| обозначает битовую длину числа p (т. е. в случае полей с одинаковым размером порядка). Операция умножения элементов поля GF(pm) включает т2 операций умножения в поле GF(p), причем сложность операции умножения в поле GF(p) пропорциональна |p|2, поэто-
му при прямолинейном выполнении операции умножения в поле GF(pm), представленном в векторной форме, ее сложность примерно равна сложности умножения в поле Zp, (операции арифметического сложения мы не учитываем, поскольку их вклад достаточно мал).
Однако имеется возможность снизить сложность умножения элементов поля GF(pm) следующим образом. Осуществляются обычные арифметические операции умножения соответствующих пар координат векторов-сомножителей, результаты суммируются, а затем выполняется операция арифметического деления полученного результата на значение р. При этом число арифметических умножений остается равным т2, а число делений уменьшается в т раз, становясь равным т. При этом сложность операции деления возрастает за счет увеличения делимого несущественно, так как размер последнего увеличивается всего лишь в т раз, т. е. его длина возрастает на несколько битов. Это не вносит существенного увеличения сложности операции деления в случае практически значимых размеров значений координат, которые определяются размерами модуля от |р| = 16 до |р| = 200 бит для значений размерности от т = 13 до т = 3 соответственно. Поскольку сложность операции деления значительно превосходит сложность операции умножения, то сложность операции умножения элементов поля GF(pm) снижается примерно пропорционально значению т. Наличие дополнительных операций умножения на коэффициенты растяжения, используемые для создания условия формирования полей в конечных векторных пространствах, не вносит существенного вклада в общую сложность всех операций арифметического умножения, поскольку в качестве таких коэффициентов можно подобрать числа размером в 2-3 бит.
Рассмотрим сложность умножения в поле GF(pm), заданном в виде конечного кольца многочленов степени т - 1. Операция умножения двух многочленов включает т2 операций арифметического умножения |р|-битовых чисел и т операций деления 2|р|-битовых чисел на модуль р (операциями сложения пренебрегаем ввиду их низкой сложности). В результате получаем многочлен степени 2т - 2, который далее делится на неприводимый многочлен. Наличие этой операции не допускает эффективного распараллеливания операции умножения в поле многочленов. Наиболее эффективная реализация деления на неприводимый многочлен требует выполнения примерно т2 операций арифметического умножения |р|-битовых чисел и т операций деления 2|р|-битовых чисел на модуль р. Видим, что в целом операция умножения в поле многочленов, по
крайней мере, в два раза сложнее операции умножения в поле GF(pM), заданном в векторном пространстве.
Таким образом, переход к новой форме задания расширенных конечных полей дает выигрыш в вычислительной эффективности даже в случае использования однопроцессорного вычислительного устройства. При этом операция умножения в поле GF(pM), заданном в конечном векторном пространстве, обладает возможностью эффективного распараллеливания на т процессов, поэтому при увеличении сложности аппаратной реализации имеется возможность сократить время выполнения умножения в поле GF(pM) примерно до т2 раз в сравнении с простым полем и до 2т раз в сравнении с конечным полем многочленов. (Процедуры, входящие в операцию умножения в поле многочленов и выполняемые до деления на неприводимый многочлен, могут быть выполнены параллельно, но это увеличивает аппаратные затраты, приводя к уменьшению времени выполнения умножения в поле многочленов всего лишь в 2т(т + 1)-1 раз. В сравнении с этим вариантом реализации операции умножения многочленов распараллеливание операции умножения в векторном поле дает сокращение времени в т раз.)
Конечные группы и поля в пространстве трехмерных векторов
При т = 3 общие правила умножения базисных векторов, обеспечивающие свойства коммутативности и ассоциативности операции умножения векторов, представлены в табл. 1, где е и ц — коэффициенты растяжения, е, ц е GF(p). В зависимости от конкретной пары значений е и ц множество трехмерных векторов является конечным полем или конечной группой. Поскольку определенные нами операции сложения и умножения векторов являются коммутативными и ассоциативными, а операция умножения дистрибутивна по отношению к операции сложения, то конечное пространство трехмерных векторов будет образовывать расширенное поле GF(p3), если для каждого отличного от (0, 0, 0) трехмерного вектора существует вектор, являющийся обратным к нему. В противном случае будем иметь группу, порядок которой определяется числом векторов, для которых существуют соответствующие обратные элементы. Решение этого вопроса связано с анализом характеристического уравнения третьей степени, возникающего из условия существования вектора (xe + yi + zj), являющегося обратным значением к векторам вида ae + fei + cj, где хотя бы одна из координат a, fe, c отлична от нуля. Исходя из условия существования обрат-
ных значений запишем в соответствии с табл. 1 и общим определением операции умножения векторов следующее соотношение:
(ae + fei + cj)(xe + yi + zj) = (ax + e^y + ^fez)e + + (fex + ay + ^z)i + (az + efey + az)j,
из которого видно, что вопрос существования обратных значений сводится к вопросу существования решений системы уравнений вида
ax + £|J.cy + £|j,fez = 1 - fex + ay + цcz = 0 . cx + efey + az = 0
Равенство нулю главного определителя этой системы для некоторых троек значений (a, fe, c) задает векторы ae + fei + cj, для которых не существует обратных элементов. Таким образом, получаем следующее характеристическое уравнение:
a3 - 3e^ca + e^fe3 + e^c3 = 0 mod p.
Используя формулу Кардано [5] и обозначение B = (e^fe3 + e^c3)/2, решение последнего уравнения относительно неизвестного a можно записать в виде
a0 = A + A",
где
А' = ^В + *Jb2 - (v.^bc'f = ^-ец2с3 (mod р) и
A" = 3B-'JBB2- (e^fec)3 = 3-e2|j.fe3 (modp).
Из исследования характеристического уравнения вытекают следующие типовые варианты структур рассматриваемого множества трехмерных векторов.
Случай 1. Число 3 не делит p - 1. Существует единственное значение кубичного корня для всех значений подкоренного выражения. В этом случае число корней характеристического уравнения определяется значением его дискриминанта [5]
D = -27 (e2|afc3 -ец2с3^ (mod р).
Если c = b^e mod p, то D = 0 и существует два разных корня а'0 и а¿', поэтому для 2(p - 1) векторов вида (а'0, b, modр} и (а'^, Ь, Ь^ёто d р)
b е {1, 2, ..., p - 1}, не существует обратных значений. Если с ф b^fHmodp, то D ^ 0 и существует только один корень а0, поэтому для p(p - 1) векторов вида (a0, b, с), где b, с е {1, 2, ..., p - 1}, не существует обратных значений. Учитывая также, что не существует обратного значения для вектора (0, 0, 0), и вычитая из полного числа трехмерных векторов число векторов, для которых не существует обратных значений, получаем формулу для порядка группы трехмерных векторов
Q = p3 - 2(p - 1) - p(p - 1) - 1 = (p - 1)2(p + 1).
Экспериментально установлено, что в рассматриваемом случае группа векторов является нециклической и содержит циклические подгруппы порядка, равного Q' < (p - 1)(p + 1). Случай таких групп при р = Nk2 + 1 или р = Nk2 - 1, где k — большое простое число и N - нечетное число, представляет значительный интерес для разработки алгоритмов ЭЦП, основанных на сложности вычисления корней большой простой степени, аналогичных алгоритмам, предложенным в работе [6].
Случай 2. Число 3 делит p - 1, и каждое из произведений е2ц и ец2 является кубичным вычетом в поле GF(p). Анализ дискриминанта характеристического уравнения показывает, что для h = = 6(p - 1) - 3(p2 + 9(p - 1) + 2 векторов не существует обратных значений. Вычитая из полного числа векторов значение h, получаем порядок группы
Q = p3 - h = (p - 1)3.
Эксперимент показал, что в рассматриваемом случае группа векторов является нециклической и содержит циклические подгруппы порядка, равного Q' < (p - 1). Случай таких групп также представляет интерес для разработки алгоритмов ЭЦП (основанных на сложности вычисления корней большой простой степени).
Случай 3. Число 3 делит p - 1, и каждое из произведений е2ц и ец2 является кубичным невычетом в поле GF(p). Это может иметь место, например, в случае, когда е — кубичный вычет, а ц — кубичный невычет, или наоборот. Тогда существует единственная пара значений b и с, а именно
■ Таблица 1. Таблица умножения базисных векторов трехмерного пространства
X e j
e e i j
i i ej 8^e
j j 8^e |Л1
b = с = 0, для которой имеется решение а0 = 0 характеристического уравнения. Это означает, что в этом случае каждому ненулевому вектору можно сопоставить обратный вектор. Следовательно, в рассматриваемом случае совокупность всех трехмерных векторов образует поле GF(p3), мультипликативная группа которого является циклической и имеет порядок
Q = p3 - 1 = (p - 1)(p2 + p + 1).
Эксперимент показывает, что и в этом случае легко найти такое значение p, при котором значение Q' = (p2 + p + 1)/3 является простым. Циклические подгруппы такого порядка представляют интерес для построения алгоритмов ЭЦП, основанных на сложности задачи дискретного логарифмирования в поле трехмерных векторов.
Случай 4. При е =0, либо ц = 0, либо е =0 и ц = 0 имеем «вырожденный случай», когда характеристическое уравнение имеет вид а3 = 0 mod p и единственное решение a0 = 0 для всех пар значений b и с. Для этого случая получаем следующее значение порядка группы:
Q = p3 - p2 = p2(p - 1).
Эксперимент показал, что такая группа векторов является нециклической и содержит циклические подгруппы порядка, равного Q' < p(p - 1).
Пример 1. Векторное поле GF(p3). Для простого p = 604884627778815030120967 и коэффициентов ц = 1 и е = 3048145277787150301203 (кубичный невычет) генератором мультипликативной группы поля GF(p3) является вектор Gq = 2e + + 3i + 5j, а генератором подгруппы простого порядка q=1219618043077052025333277444585228 38099227712019 — вектор Gq = 2766732051010 00573901475e + 397398442660131967602419i + + 577754199729055132983673j.
Поля многомерных векторов
Изучение вопроса существования полей векторов размерности m > 4 дало положительный ответ. Аналогично построению конечных полей трехмерных векторов, можно задать формирование полей многомерных векторов. Для того чтобы множество m-мерных векторов составляло поле GF(pm), следует выбирать поле GF(p), для характеристики которого выполняется условие делимости m | p - 1. Кроме того, в соответствующую таблицу умножения базисных векторов надо ввести коэффициенты растяжения, значения которых являются невычетами степени m в поле GF( p). В этом случае многомерные векторные пространства (для m > 4), над которыми заданы при-
нятые выше операции сложения и умножения, могут составить конечное поле GF(pM). Рассмотрим некоторые частные варианты.
Случай т = 4. Определим операцию умножения четырехмерных векторов ae + fei + cj + dk с помощью табл. 2, которая обеспечивает свойство коммутативности и ассоциативности. Задавая различные конкретные значения растягивающих коэффициентов, можно задавать различные варианты полей GF(p4). Существует еще несколько вариантов таблиц, с помощью которых можно задать формирование векторного поля в конечном пространстве четырехмерных векторов, которые отличаются распределением базисных векторов и коэффициентов растяжения, а также числом последних и их значениями. Для генерации следующего частного примера использована табл. 2.
Пример 2. Векторное поле GF(p4). Для простого p = 670657405878917 и коэффициентов ц = 1 и e = 33322555333777 (невычет 4-й степени) генератором мультипликативной группы поля GF(p4) является вектор Gq = 2e + 5i + 7j + 11k, а генератором подгруппы максимального простого порядка q = 51058526584281452221 является вектор Gq = 387227204127143e + 285726718179315i + + 399932449346308j + 297703341165198k.
Случай т = 5. Определим операцию умножения пятимерных векторов ae + fei + cj + dk + gu с помощью табл. 3, в которой присутствуют несколько различных независимых коэффициентов растяжения. При любой комбинации значений этих коэффициентов операция умножения
■ Таблица 2. Таблица умножения базисных векторов для случая т = 4
X e k
e e i j k
i i ek e^e
j j ek ee i
k k ep,e i W
■ Таблица 3. Таблица умножения базисных векторов для случая т = 5
X e i j k u
e e i j k u
i i ej e^k eu e^e
j j e^k e^u e^e |ii
k k eu e^e i J
u u e^e |li j ^k
векторов является коммутативной и ассоциативной. При программной реализации операции умножения векторов в клетках таблицы, где присутствуют два или более растягивающих коэффициентов, значения последних следует перемножить, благодаря чему формируется таблица, в каждой клетке которой присутствует не более одного коэффициента. Табл. 3 использована для генерации следующего примера.
Пример 3. Векторное поле GF(p5). Для простого р = 268675256028581 и коэффициентов ц = 1 и є = 3048145277787 (невычет 5-й степени) генератором мультипликативной группы поля GF(p5) является вектор GQ = 2є + 5і + 7] + 11к + 13и, а генератором подгруппы простого порядка q = 10421 7507270343426574520347813472921450310523418 1740193961 — вектор Gq = 88815218764680е + 23 8886012231841І + 157317400153847] + 215935132 18048к + 204824491909450и.
Формирование конечных полей для случая т = 6 можно обеспечить, используя табл. 4, а для случая т = 7 - табл. 5. Практическое значение для разработки алгоритмов ЭЦП, основанных на вычислениях в конечных группах ЭК и КГНМ, заданных над полями, представленными в предлагаемой форме, имеют также и случаи размерностей т > 7. Нами были построены таблицы умножения базисных векторов, обеспечивающие формирование полей, для произвольных значе-
■ Таблица 4. Таблица умножения базисных векторов для случая т = 6
X е к V w
е е І і к и V
І І єі єцк и 8V єце
і і єцк ци V єце ЦІ
к к и V е І і
и и 8V єце І єці єцк
V V єце ЦІ і єцк ци
ний размерности до т = 23. Для этих случаев эксперимент подтвердил существование полей при таких значениях размерности.
Найденные правила построения таблиц умножения базисных векторов, содержащих коэффициенты растяжения, позволяют обеспечить свойства коммутативности и ассоциативности умножения т-мерных векторов для произвольных значений размерности. Однако теоретическое доказательство факта возможности формирования полей по таким таблицам путем выбора соответствующих коэффициентов растяжения имеет принципиальные трудности и представляет самостоятельную задачу теории линейных алгебр. Объективная трудность такого доказательства определяется большой общностью этого факта. Для технических приложений представляется достаточным использование частных случаев значений размерности до т = 23, подтвержденных экспериментом. Если практика потребует использования конечных расширенных полей, заданных в векторном пространстве размерности т > 23, то экспериментальная проверка факта существования конечных полей и для таких случаев не составит существенных проблем.
Алгоритмы ЭЦП с использованием конечных расширенных полей, заданных в новой форме
Рассмотренные выше конечные поля, представленные в векторной форме и допускающие эффективное распараллеливание операции умножения, представляют технический интерес для повышения быстродействия алгоритмов ЭЦП, построенных на основе использования ЭК и КГНМ, путем задания ЭК и КГНМ над такими полями. В случае ЭК вопрос стойкости алгоритмов ЭЦП связан с выбором ЭК соответствующего типа, определяемого значением характеристики поля (т. е. значением р), и выбором конкретного варианта ЭК, порядок которой делится на простое число большого размера. Методика генерации таких кривых хорошо апробирована [1,
2]. В случае КГНМ вопрос безопасности алгоритмов ЭЦП является весьма актуальным, поскольку это направление сравнительно мало освещено в литературе и вопрос стойкости алгоритмов на их основе исследован недостаточно. Касательно использования КГНМ в качестве примитивов алгоритмов ЭЦП, в настоящей работе преследуется цель только показать принципиальную возможность повышения производительности алгоритмов и в случае использования КГНМ. Этот факт представит значительный практический интерес, если дальнейшие специализированные исследования приведут к подтверждению высокой
■ Таблица 5. Таблица умножения базисных векторов для случая т = 7
X е к и V w
е е І і к и V w
І І єцк єцу цти єцw єцте цті
і і єцу єи єцте єІ єw єк
к к цти єцте цтw цті ті ц^
и и єцw єІ цті єцу єк єцте
V V єцте єw ТІ єк ті ти
w w цті єк ц^ єцте ти XV
сложности задачи дискретного логарифмирования в КГНМ, заданных над конечными полями размера 160-200 бит.
Следует отметить, что определенный интерес представляет также непосредственное применение конечных расширенных полей, представленных в новой форме. Рассмотрим возможный вариант обобщенной схемы ЭЦП, основанной на сложности дискретного логарифмирования в конечных расширенных полях, предполагая в нем использование циклической группы векторов Г. Подписывающий формирует свой открытый ключ Y в виде вектора Y = Gx, где G — вектор, являющийся генератором группы Г, имеющей достаточно большой порядок q (|q| > 160 бит).
Формирование подписи к сообщению M выполняется следующим образом.
1. Выбрать случайное число k < q и вычислить вектор R = Gk.
2. Используя некоторую криптографически стойкую хэш-функцию Fh, вычислить хэш-код h от сообщения M с присоединенным к нему вектором R: h = Fh(M, R); значение h будет первым элементом ЭЦП.
3. Вычислить второй элемент ЭЦП: s = xh + + k mod q.
Проверка подлинности подписи (h, s) состоит в следующем:
1) вычисляется вектор R' = Yq-hGs;
2) вычисляется значение h' = Fh(M, R');
3) сравниваются значения h' и h; если h' = h, то ЭЦП признается подлинной.
Конкретный вариант алгоритмической реализации этой общей схемы ЭЦП задается выбором конкретной группы Г, характеризующейся размерностью векторов, заданным типом операции умножения векторов и полем GF(p), над которым задается конечное векторное пространство. Многочисленные другие известные варианты схем ЭЦП [6-8], построенные с использованием простых конечных полей, могут быть заданы также и над полями, формируемыми в конечном векторном пространстве.
В целях реализации вычислительно эффективных алгоритмов ЭЦП, непосредственно базирующихся на полях в предлагаемой форме, требуется получить циклическую подгруппу векторов большого простого порядка q, размер которого удовлетворяет условиям |q| > 160 бит и |q| и и (m - 1)|p|. Последнее условие возможно только для простых значений m. Действительно, порядок мультипликативной группы конечного расширенного поля GF(pm) равен
Q = pm - 1 = (p - 1)(pm-1 + pm-2 +... + p + 1).
Легко показать, что если размерность m не является простым числом, то вторая скобка разла-
гается на нетривиальные множители для любого простого числа р. При условии т | р - 1 (которое имеет место в случае формирования векторных полей) сумма рт-1 + рт-2 +...+ р + 1 делится на т, поэтому простым может быть только порядок циклической подгруппы мультипликативной группы поля GF(pm), равный # = т-1(рт-1 + + рт-2 + ... + р + 1). Эксперимент показывает, что легко найти такие значения простого р, для которых такое значение # также является простым. В этом случае имеем циклическую подгруппу векторов, размер порядка которой равен
|П'| = |д| = (т - 1)р| - |т| * (т - 1)р|.
Для построения алгоритмов ЭЦП требуется использовать подгруппы простого порядка размером |П'| > 160 бит. Для этой цели следует формировать поля т-мерных векторов, заданных над простым полем с размером характеристики |р|, удовлетворяющим условию
, , 160-1 т I 160 г„ ,
\р\>-----!—------- [бит].
т-1 т-1
Таким образом, важное требование наличия в мультипликативной группе поля подгруппы простого порядка достаточно большого размера реализуется при сравнительно малом размере |р|. Практическое значение для разработки алгоритмов ЭЦП, основанных на сложности задачи дискретного логарифмирования в новых полях, имеют случаи т е {3, 5, 7, 11, 13, 17, 19, 23}.
В общем случае при построении векторных полей для непосредственного применения в алгоритмах ЭЦП, основанных на сложности задачи дискретного логарифмирования, таблицы умножения базисных векторов следует задавать с учетом компромисса между следующими моментами.
• В получаемой алгебраической структуре должны содержаться группы большого простого порядка, размер которого близок к значению (т - 1)|р|.
• Количество умножений в поле GF(p), необходимых для выполнения операции умножения двух векторов, следует минимизировать.
• Размер коэффициентов растяжения и число ячеек таблицы умножения базисных векторов, где они присутствуют, следует минимизировать.
• В получаемой циклической группе векторов сложность задачи дискретного логарифмирования (нахождение х в уравнении вида Y = Gx, где G — генератор группы) должна быть достаточно высокой.
Основной проблемой непосредственного использования конечных полей, заданных в предлагаемой форме, является то, что сложность задачи дискретного логарифмирования в них является новой. Поэтому повышение производительности путем снижения размера порядка поля
ниже 1024 бит, т. е. ниже безопасного значения, признанного в случае конечных полей многочленов, является преждевременным. Тем не менее, существенный выигрыш в производительности достигается благодаря снижению сложности операции умножения элементов поля и возможности эффективного распараллеливания в случае использования многопроцессорного вычислителя или за счет увеличения схемотехнических затрат в случае аппаратной реализации. С учетом этого можно предположить, что для некоторых приложений непосредственное применение полей, заданных в предлагаемой форме, также представит определенный интерес, поскольку достаточно высокая производительность алгоритмов ЭЦП, основанных на непосредственном использовании полей, заданных в конечном векторном пространстве, обеспечивается также и при больших размерах порядка такого поля.
Заключение
При обеспечении условия делимости числа р - 1 на т имеется возможность разработать таблицу умножения базисных векторов, определяю-
1. Болотов А. А., Гашков С. Б., Фролов А. Б., Часов-ских А. А. Элементарное введение в эллиптическую криптографию. Алгебраические и алгоритмические основы. М.: КомКнига, 2006. 324 с.
2. Болотов А. А., Гашков С. Б., Фролов А. Б. Элементарное введение в эллиптическую криптографию. Протоколы криптографии на эллиптических кривых. М.: КомКнига, 2006. 274 с.
3. Koblitz N. A. Course in Number Theory and Cryptography. Berlin: Springer-Verlag, 2003. 236 p.
4. Гурьянов Д. Ю., Дернова Е. С., Молдовян Н. А. Построение алгоритмов электронной цифровой подписи на основе групп матриц малой размерности // Информационная безопасность регионов России: Ма-
щую формирование конечного расширенного поля в пространстве векторов, в котором операция умножения допускает эффективное распараллеливание. Кроме того, при заданном значении размера порядка поля в случае полей, заданных в новой форме, снижается сложность операции умножения элементов поля. Данное представление полей может быть использовано при построении алгоритмов ЭЦП, основанных на использовании ЭК и КГНМ, путем задания этих алгебраических структур над конечными полями предложенного вида. Также представляет интерес и непосредственное применение полей такого типа при построении алгоритмов ЭЦП, однако в последнем случае в настоящее время следует рекомендовать значения размера порядка поля, равные 1024 бит и более. Вопрос снижения этого значения в целях дальнейшего повышения производительности требует выполнения исследования сложности задачи дискретного логарифмирования в предлагаемом варианте расширенных полей, что составляет задачу самостоятельного исследования.
Работа поддержана грантом РФФИ № 08-07-00096-а.
териалы V Санкт-Петербургской межрегион. конф. СПОИСУ. СПб., 2007. С. 79-80.
5. Курош А. Г. Курс высшей алгебры. М.: Наука, 1971. 431 с.
6. Молдовян Н. А. Вычисление корней по простому модулю как криптографический примитив // Вестник СПбГУ. Сер. 10. 2008. Вып. 1. С. 101-106.
7. Молдовян Н. А. Практикум по криптосистемам с открытым ключом. СПб.: БХВ-Петербург, 2007. 298 с.
8. Menezes A. J., Van Oorschot P. C., Vanstone S. A.
Handbook of Applied Cryptography. CRC Press, Boca Raton, FL, 1997. 780 p.