ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА
Сер. 10. 2011. Вып. 4
ИНФОРМАТИКА
УДК 681.3
Д. Н. Молдовян, Н. А. Молдовян
ОСОБЕННОСТИ СТРОЕНИЯ ГРУПП ВЕКТОРОВ И СИНТЕЗ КРИПТОГРАФИЧЕСКИХ СХЕМ НА ИХ ОСНОВЕ*)
1. Введение. С целью повышения производительности алгоритмов аутентификации электронной информации в качестве базового примитива схем электронной цифровой подписи (ЭЦП) ранее были предложены конечные группы и поля, формируемые в векторных m-мерных пространствах, заданных над конечным полем [1]. Достигаемое повышение производительности связывалось с возможностью естественного распараллеливания операции умножения в векторных структурах и с применением способов снижения ее сложности [2].
Отдельный интерес представляют собой группы векторов следующих типов: 1) конечные группы, базис которых включает два или более вектора одинакового порядка; 2) конечные некоммутативные группы векторов. В настоящей работе рассматривается приложение этих типов конечных групп для повышения производительности криптографических алгоритмов и протоколов.
2. Задание конечных групп векторов. Конечные группы m-мерных векторов задаются над конечными полями (простыми GF (p) или расширенными GF (pd), где p -простое число и d G {2, 3, 4 ...}), а в частных случаях и над конечными кольцами. В качестве групповой операции предлагается операция умножения векторов, определяемая с помощью таблицы умножения формальных базисных векторов. Рассмотрим конечное множество m-мерных векторов ae + bi + ■ ■■ + cz, где e, i, ..., z - формальные базисные векторы. Векторы записываются также и в виде набора координат (a,b,..., c), являющихся элементами конечного поля GF(p). Координата с приписанным к ней формальным базисным вектором называется компонентой вектора и представляет собой вектор с единственной ненулевой координатой. Операция сложения векторов определяется как сложение одноименных координат, а операция умножения векторов - по правилу
Молдовян Дмитрий Николаевич — аспирант факультета компьютерных технологий и информатики Санкт-Петербургского государственного электротехнического университета. Научный руководитель: доктор технических наук, проф. Б. Я. Советов. Количество опубликованных работ: 32. Научные направления: компьютерная безопасность, защита информации. E-mail: [email protected].
Молдовян Николай Андреевич — доктор технических наук, профессор, заведующий лаборатории криптологии Санкт-Петербургского института информатики и автоматизации РАН. Количество опубликованных работ: более 260. Научные направления: информационная безопасность, криптография. E-mail: [email protected].
+ ) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 11-07-00004-а).
© Д. Н. Молдовян, Н. А. Молдовян, 2011
О ~е ~г 3 к ~и Ни
е ёе ё{ Я ¿к ¿и (5... блм
г ё'1 ТЗ тк т и т . . . ТЛУ а6~1те
3 ¿3 тк т и т . . . ТЛУ аё~1те а\
к ёк т и т. . . ТЛУ аё~1те ш аз
и ¿и т . . . ТЛУ аё~1те ш аз ак
(5... ТЛУ а6~1те ш щ ак аи
ги ¿)ЛУ аё~1те а\ щ ак аи а...
Таблица 2. ТУБВ для задания конечных некоммутативных групп четырехмерных векторов
о ~е ~г 3 к
е ёе ё\ ёк
г ё'1 —<5-1те к -ТЗ
3 ¿3 -к -6-ге [
к ёк — [ —ё~1те
перемножения компонентов векторов-сомножителей с учетом того, что умножение базисных векторов выполняется по некоторым табличным правилам, задающим результат умножения для всех пар базисных векторов, причем таким результатом является базисный или однокомпонентный вектор [1]. Правила умножения формальных базисных векторов приводятся в виде таблицы умножения базисных векторов (ТУБВ). Присутствующие в ТУБВ координаты однокомпонентных векторов называются структурными коэффициентами.
Общий вид ТУБВ, обеспечивающий ассоциативность и коммутативность операции умножения для произвольных значений размерности т, иллюстрирует табл. 1. Также имеется большое число других частных вариантов ТУБВ для задания коммутативных групп с различным строением, однако далее изучаются коммутативные конечные группы векторов, заданные по табл. 1. Рассмотрение конечных некоммутативных групп векторов в данной работе ограничено случаем т = 4 и использованием ТУБВ в виде табл. 2. Для всех случаев единичным элементом группы является вектор вида (6-1, 0,..., 0).
3. Строение применяемых конечных коммутативных групп векторов.
Для построения схем ЭЦП были использованы конечные коммутативные группы т-мерных векторов, заданные над простым полем СЕ(р), в случае т = ¡ли, где л,и -небольшие простые числа, а = 1, 6 = 0 и т ^ 1, при этом конкретные значения структурных коэффициентов выбираются такими, что задаваемая группа Г векторов порождается базисом, содержащим л векторов УьУ,...У^, порядок каждого из которых равен ш = ри — 1. Таким образом, каждый элемент базиса порождает циклическую подгруппу порядка ри — 1, а прямое произведение этих циклических подгрупп представляет собой группу Г с ^-мерной цикличностью, причем порядок Г равен
П = (ри — 1)м.
Группы векторов с таким строением образуются для произвольных значений 6 = 0 при следующем условии [3]: величина т выбрана такой, что уравнение хи = т не имеет решений в поле ОЕ(р), а уравнение хм = т имеет л решений. Для того чтобы последние
два условия могли быть выполнены, выбираются значения т и р, удовлетворяющие условию делимости т\р — 1. При этом для получения ш, содержащих большой простой делитель, подбирается такое простое число р, что число
_ {ри~1+ри~2 + ---+р + 1)
^ и
также является простым (легко показать, что д\ш). Нахождение требуемых значений р большого размера (например, от 32 до 512 бит) осуществляется с помощью компьютерной программы достаточно быстро путем генерации случайных простых чисел р нужного размера и проверки на простоту правой части последнего выражения.
Алгоритмы ЭЦП задаются над примарной подгруппой Гд^ порядка О (Гд^) = дм, порождаемой л векторами О\,О^,...,О^ порядка д. По известному базису {У1,У2,...,У^\ группы Г легко рассчитать базис примарной подгруппы Гд^ по формуле
4 (¿=1,2,...,^).
Базис примарной подгруппы Гд^ может быть получен также путем генерации случайных векторов К, вычисления значений Н = К(р -1)/ч и проверки выполнимости условия Н = Е, где Е - единичный вектор. При генерации л различных векторов Н с достаточно большой вероятностью, равной примерно 1 — д-1, эти вектора будут образовывать базис. Для детерминистической генерации базиса следует показать, что ни один из л сформированных векторов Н нельзя выразить как произведение степеней остальных л — 1 векторов Н. Последнее является нетривиальной задачей, потому в описываемых далее схемах ЭЦП предполагается вероятностная генерация базиса при-марной подгруппы Гд^ и используются л и р такие, что д > 280. В этом случае можно пренебречь вероятностью того, что сгенерированные л случайных векторов не образуют базис подгруппы Гд^, поскольку она не превышает значения порядка 2-80.
Отметим, что для построения предлагаемых алгоритмов ЭЦП могут быть применены примарные подгруппы с многомерной цикличностью (МЦ), содержащиеся и в конечных коммутативных группах векторов других типов, например в случае т = 4 при задании векторов над кольцом Zp2 [4]. Специальный интерес представляет синтез алгоритмов ЭЦП над примарными подгруппами с МЦ строением, содержащимися в некоммутативных группах векторов. Общая схема формирования алгоритмов ЭЦП будет сохраняться при использовании различных частных вариантов задания коммутативных примарных подгрупп, строение которых обладает МЦ.
4. Конечные некоммутативные группы векторов. Конечные некоммутативные группы четырехмерных векторов применены далее для синтеза протоколов открытого распределения ключей и алгоритмов коммутативного шифрования. Для построения данных криптосхем требуется, чтобы порядок используемой группы делился на достаточно большое простое число, а также наличие способа вычисления векторов такого порядка. Для этого важно выразить порядок некоммутативной группы векторов в виде выражения от значения простого числа р. В случае задания некоммутативной группы векторов по табл. 2 имеют место следующие утверждения [5]:
Утверждение 1. Если характеристика простого поля ОЕ (р) представима в виде р = 4к + 1, где к ^ 1 - натуральное число, и структурные коэффициенты 6 и т не равны нулю, то порядок некоммутативной группы четырехмерных векторов равен
О = р(р — 1)(р2 — 1).
Утверждение 2. Если характеристика простого поля ОЕ(р) представима в виде р = 4к + 3, где к ^ 1 - натуральное число, коэффициент 6 = 0 и т - квадратичный невычет по модулю р, то порядок некоммутативной группы четырехмерных векторов равен О = р(р — 1)(р2 — 1).
Вычислительные эксперименты показали, что формула О = р(р — 1)(р2 — 1) справедлива при р = 4к + 3 также и для случая, когда отличный от нуля коэффициент т есть квадратичный вычет по модулю р. Кроме того, было выявлено, что гистограммы некоммутативных групп, показывающие количество векторов каждого возможного значения порядка четырехмерных векторов, при заданном р не зависят от структурных коэффициентов, не равных нулю. При этом число векторов порядков р — 1 и р2 — 1 составляет значительную долю от числа всех векторов, благодаря чему могут быть легко найдены векторы, порядок которых равен любому нетривиальному делителю чисел р — 1 и р +1, последнее из которых содержит при соответствующем выборе простого значения р простой делитель д = (р + 1)/2. Число векторов порядка р равно р2 — 1, что составляет достаточно малую долю, потому при достаточно больших величинах р требуется разработка специальных способов нахождения векторов порядка р.
В криптосхемах, рассматриваемых далее, используются вектора порядка д\р + 1, в связи с чем в них применяются простые значения р = 2д — 1, получаемые с помощью компьютерной программы, генерирующей случайные простые числа д > 280 и выполняющей проверку на простоту значения 2д +1.
5. Используемые вычислительно трудные задачи. Из протоколов и алгоритмов двухключевой криптографии наиболее широкое практическое применение получили криптосхемы, построенные на основе сложности задачи дискретного логарифмирования (ЗДЛ) в конечных циклических группах, порядок которых либо является большим простым числом д (размера \д\ ^ 160 бит), либо делится на такое число д [6]. В таких криптосхемах открытым ключом служит элемент группы У = Ох, где О -порождающий элемент группы порядка ш(О); х - секретный ключ, 0 < х < ш(О). В предлагаемых далее криптосхемах используются расширения ЗДЛ, в которых учитывается специфика строения применяемых групп векторов. Первое расширение ЗДЛ можно охарактеризовать как ЗДЛ по многомерному основанию, а второе - как ЗДЛ в скрытой циклической подгруппе.
ЗДЛ по многомерному основанию формулируется для конечных групп, порождающий базис которых включает л элементов О1,О2,...,Ом одинакового порядка д, следующим образом. По секретному ключу в виде набора целых чисел Х1,Х2,.. .,хм, каждое из которых не превышает значение д — 1 , вычисляется открытый ключ У
У = ОхОх ...О^.
По известным величинам У, О1,О2,...,Ом и д требуется вычислить набор значений х!,х2,...,хм. Для нахождения подобного многомерного логарифма можно применить методы, подобные общим методам решения ЗДЛ в конечных циклических группах [6] произвольных видов. Варианты расширения этих методов на л-мерный случай имеют вычислительную сложность порядка Из данной оценки следует, что
80-битовый уровень криптографической стойкости обеспечивается при \д\ ^ 160/л бит.
ЗДЛ в скрытой циклической подгруппе формулируется для конечных некоммутативных групп и состоит в следующем. Пусть дана некоторая конечная некоммутативная группа Г, содержащая элемент Q большого простого порядка д и позволяющая найти вычислительно простой метод генерации элементов из некоторой коммутативной подгруппы Гкомм € Г, которые некоммутативны с Q. Секретный ключ формируется
в виде случайного элемента Ш € Гкомм и случайного числа х < д. Открытый ключ У рассчитывается следующим образом:
У = Ш о Qx о Ш-1. (1)
По заданным У, Г, Гкомм, Q и д требуется определить х и Ш. При дополнительно известном Ш возникает стандартная ЗДЛ, из чего следует, что 80-битовая стойкость обеспечивается при размере д, равном 160 бит. Если порядок Гкомм является простым числом размера не менее 80 бит, то при неизвестном Ш 80-битовая стойкость обеспечивается при \д\ ^ 80 бит [5]. В синтезируемых далее криптосхемах, основанных на этой вычислительно трудной задаче, коммутативная подгруппа Гкомм задается как циклическая, генерируемая элементом О простого порядка д размера \д\ ^ 80 бит.
Существуют и другие способы задания выбора секретного элемента Ш в формуле (1), например в виде линейной комбинации сравнительно малых степеней вектора У порядка р2 — 1 . В этом случае может быть получен дополнительный выигрыш в производительности криптосхем, поскольку уменьшается общее число операций умножения векторов при генерации открытого ключа.
В использованном частном случае ЗДЛ в скрытой циклической подгруппе задается по формуле
У = О™ о Qx о О-™, (2)
где секретным ключом является пара чисел х < д и и> < д. При этом некоммутирующие элементы Q и О выбираются такими, что они удовлетворяют условиям следующего утверждения (применяемые конечные некоммутативные группы четырехмерных векторов позволяют легко найти такие элементы).
Утверждение 3. Пусть элементы О и Q некоторой некоммутативной группы Г обладают простыми порядками д и д, соответственно, и удовлетворяют следующим условиям: О о Q = Q о Ш и К о Q = Q о К, где К = О о Q о О-1. Тогда все элементы
= О3 о Qг о О-3, где г = 1, 2,...,д — 1 и ] = 1, 2,...,д, попарно различны.
Совокупность всех элементов Z^j образует д циклических подгрупп порядка д, которые попарно пересекаются в единственном элементе - единице группы Г. Представляет интерес оценка сложности ЗДЛ в скрытой циклической подгруппе при ее решении на квантовом компьютере. Известно, что ЗДЛ имеет полиномиальную сложность [7] в модели квантовых вычислений, поэтому появление реально действующих квантовых компьютеров сделает все применяемые в настоящее время криптографические протоколы и алгоритмы небезопасными и потребуется их замена на соответствующие криптосхемы, основанные на новых вычислительно трудных задачах, сложность которых является экспоненциальной при их решении как на обычном, так и на квантовом компьютере. В качестве такой задачи была предложена задача поиска сопрягающего элемента в некоммутативных группах переплетения [8, 9]. Однако позднее было показано, что имеются проблемы с использованием этой задачи для построения стойких криптографических схем [10].
Окажется ли ЗДЛ в скрытой циклической подгруппе (такую задачу можно охарактеризовать как комбинирование ЗДЛ с задачей нахождения сопрягающего элемента) криптографическим примитивом, обеспечивающим построение стойких криптосхем в модели квантовых вычислений, - это вопрос самостоятельного исследования. В настоящей работе рассматривается случай использования обычных компьютеров, когда применяемая вычислительно трудная задача имеет экспоненциальную сложность, а синтезируемые криптосхемы обладают сравнительно высокой производительностью.
6. Алгоритмы ЭЦП на основе конечных коммутативных групп векторов.
Алгоритмы ЭЦП над примарными подгруппами векторов с л-мерной цикличностью и порядком О = дм строятся по следующей схеме. Открытый ключ У задается в виде набора векторов {У1, У2,...,У^}, вычисляемых по формуле
где множество векторов {Оі, О2,..., О^} составляет базис примарной подгруппы, а множество значений {xij}, і, і Є {1, 2,... ,л}, является секретным ключом.
Генерация ЭЦП к некоторому сообщению М выполняется таким образом:
1. Выбрать ц случайных значений кі, к2,...,к^ таких, что для всех і = 1, 2,...,л выполняется кі < д.
2. Вычислить вектор Я = О\г о О\2 ■ ■ ■ о О^.
3. Используя некоторую специфицированную хэш-функцию ^ (различные варианты стойких хэш-функций приведены в [6]), рассчитать значение Н хэш-функции от сообщения с присоединенным к нему вектором Я: Н = ^(М, Я), где \Н\ ^ 160 бит. Величина Н является первым элементом ЭЦП.
4. Представить параметр Н в виде конкатенации ¡л значений одинаковой разрядности: Н = Ні||Н21| ...||НМ, после чего вычислить второй элемент в ЭЦП как число в = в1|в2| ... II вм, где л значений ві рассчитываются по формуле
Проверка ЭЦП (к, в) к сообщению М выполняется следующим образом:
1. Вычислить вектор Е* = У-к1 о У-к2 • • • оУ^ о О^1 о О22 • • • о 0.
2. Вычислить значение к* = Е^(М, Е*).
3. Сравнить величины к* и к. Если к* = к, то ЭЦП признается подлинной.
Для получения уровня 80-битовой стойкости размер простого значения д следует выбирать равным \д\ ^ 160/л бит. В данном случае размер ЭЦП будет составлять 320 бит, сложность генерации ЭЦП - 1,5л\д\ операций умножения векторов (сложность л операций возведения векторов в степень разрядности \д\ , выполненных по быстрому алгоритму возведения в степень), сложность проверки ЭЦП - 3л\д\ операций умножения векторов. Для оценки сложности описанного алгоритма ЭЦП в операциях умножения по модулю р следует знать конкретную используемую группу т-мерных векторов.
Пусть выбрано 30-битовое простое число р = 787596371 и коэффициенты а = 6 =1 и т = 4, тогда порядок группы 10-мерных векторов равен ш = (р5 — 1) и 112-битовое простое число д = 76956413891751568249832361516121541 делит значение р5 — 1. Эта группа векторов обладает двухмерной цикличностью и содержит примарную подгруппу порядка д2, генерируемую базисом, состоящим из двух векторов порядка д:
01 = (716115294,347093772,643559639, 334781166,102575534,
297614805, 497874289, 272843017, 544126967,199655400);
02 = (269733846,474682803,107289801,776848997,143841382,
258998930, 288219872, 501678754, 551225104, 762991270).
На основе данной группы векторов может быть реализован конкретный вариант алгоритма ЭЦП по приведенной общей схеме построения. Уровень 80-битовой стойкости обеспечивается при выборе простого р размера \р\ = 21 бит. Сложность умножения двух 10-мерных векторов равна примерно сложности 100 арифметических умножений
j=l
21-битовых чисел и 10 арифметических делений 46-битовых чисел на 21-битовое число (выполняются 10 умножений, 10 сложений и одно деление при вычислении каждой координаты вектора, являющегося результатом умножения двух векторов). По сложности это примерно равно 20 операциям умножения по 21-битовому модулю, с учетом чего легко получить оценку сложности процедуры генерации (проверки) ЭЦП для данного конкретного случая - 2400 (4800) умножений по 21-битовому модулю.
Наиболее производительные известные алгоритмы ЭЦП основаны на сложности дискретного логарифмирования на эллиптической кривой (ЭК) - конечном множестве точек, заданных над конечным полем и удовлетворяющих уравнению ЭК, над которым определена групповая операция сложения точек (ее сложность примерно равна 10 операциям умножения в поле). Российский и американский стандарты ЭЦП регламентируют использование ЭК над простым полем ОЕ (р). В этом случае 80-битовая стойкость обеспечивается при \р\ ^ 160 бит, а сложность формирования (проверки подписи) составляет 240 (480) умножений по 160-битовому модулю, что по вычислительной сложности примерно равно 13 900 (27 800) умножениям по 21-битовому модулю (сложность модульного умножения пропорциональна квадрату разрядности модуля).
Наличие существенного выигрыша в скорости генерации и проверки ЭЦП обусловливает практическую значимость предложенной схемы построения алгоритмов ЭЦП на основе конечных групп векторов, обладающих строением с МЦ.
7. Криптосхемы на основе конечных некоммутативных групп векторов. Протокол открытого распределения ключей и алгоритм коммутативного шифрования на основе ЗДЛ в скрытой циклической подгруппе используют свойство взаимной коммутативности операции возведения в произвольную целочисленную степень х и операции задания автоморфизма группы путем умножения всех ее элементов О слева на некоторый фиксированный элемент группы Ш и справа на Ш-1. Это свойство выражается формулой [11]
Ш о Ох о Ш-1 = (Ш о О о Ш-1)х.
Схема открытого распределения ключей строится следующим образом. Задается конечная некоммутативная группа четырехмерных векторов над простым полем ОЕ(р), где р = 2д — 1 при некотором простом д > 280. В табл. 2 задаются структурные коэффициенты 6 = т = 1. Генерируются два некоммутирующих вектора Q и О, каждый из которых имеет порядок, равный д. Вычисление открытого ключа задается по формуле (2). Согласование общего секретного ключа двух удаленных абонентов на основе предварительно распределенных открытых ключей У1 = О™1 о QX1 о О-™1 и У2 = О™2 о QX2 о О-™2 первого и второго абонентов соответственно осуществляется таким образом. Первый абонент, используя открытый ключ второго абонента и свой секретный ключ (х1,и>1), вычисляет величину
К12 = О™1 о У2х1 о О-™1 = О™1 о (О™2 о QX2 о О-™2 )Х1 о О-™1 = О™1+™2 о QX2X1 о о-™2-™1 .
Второй абонент с помощью открытого ключа первого абонента и своего секретного ключа (х2, и>2) определяет значение
К21 = О™2 о У^ о О-™2 = О™2 о О™1 о QX1 о О-™1 У2 о О-™2 = 0™2+Ш1 о QX1X2 о о-™1-™2 .
Легко видеть, что К21 = К12, т. е. сформирован общий секрет для этих абонентов, который может быть использован далее для шифрования конфиденциальных сообщений, передаваемых по открытому каналу. Для реализации данного протокола можно
использовать 82-битовое значение р = 234770281182692326489897, 81-битовое простое число q = 117385140591346163244949 и векторы Q и G:
Q = (197721689364623475468796,104620049500285101666611, 91340663452028702293061,190338950319800446198610);
G =(44090605376274898528561,33539251770968357905908, 62849418993954316199414,121931076128999477030014).
Порядок векторов Q и G равен q, и они удовлетворяют условиям утверждения 3. Эксперимент показал, что в группах четырехмерных векторов для любых двух векторов Q и G простого порядка, которые удовлетворяют условию G о Q = G о Q, выполняется также и условие K о Q = Q о K, где K = G о Q о G-1, однако это не означает избыточности условия утверждения 3, поскольку оно дано для конечной некоммутативной группы любого вида. Эксперимент показывает, что в использованном частном виде групп нужные для криптосхемы некоммутирующие элементы Q и G могут быть легко найдены.
Сложность вычисления общего секрета равна сложности вычисления открытого ключа, поскольку в обоих случаях выполняются две операции возведения векторов в степень, которые вносят основной вклад, одна операция вычисления обратного вектора (осуществляется примерно за 100 операций умножения по модулю р) и две операции умножения. Выполнение операции возведения в степень по быстрому алгоритму имеет в среднем сложность, примерно равную 1.5|q| умножений векторов. Сложность операции умножения векторов не превышает 16 умножений по модулю р (и может быть легко снижена не менее чем в 3 раза, если арифметическое деление на модуль проводить только один раз при расчете каждой координаты вектора). В целом вычисление открытого ключа имеет сложность не более 48|q| + 100 умножений по модулю р.
Наиболее быстрые известные схемы открытого распределения ключей основаны на использовании вычислений на ЭК. Сложность вычисления открытого ключа в таких схемах составляет примерно 15 |q'| умножений по модулю р', где р' - характеристика простого поля, над которым задана ЭК, и q' - порядок ЭК. Уровень 80-битовой стойкости обеспечивается при длинах чисел р' и q', равных « 160 бит и ^ 160 бит. При этом сложность вычисления открытого ключа составит 1200 операций умножения по 160-битовому модулю или 4800 операций умножения по 80-битовому модулю.
Схема на основе ЗДЛ в скрытой циклической подгруппе обеспечивает 80-битовую стойкость при р « |q| = 80 бит, что дает сложность вычисления открытого ключа не более 2020 операций умножения по 80-битовому модулю, т. е. достигается увеличение производительности протокола более чем в 2 раза. При этом имеются возможности дальнейшего существенного повышения производительности.
Алгоритм коммутативного шифрования применяет в качестве секретного ключа три параметра: четырехмерный вектор W, выбираемый из некоторой специфицированной коммутативной подгруппы Гкомм конечной некоммутативной группы четырехмерных векторов, случайное число е, такое, что НОД(е, ф) = 1, и число d = е-1 mod ф, где ф = HOK[p,p2 — 1]. Процедура зашифрования выполняется следующим образом:
1. Шифруемое исходное сообщение представляется как элемент M группы четырехмерных векторов.
2. Криптограмма вычисляется в виде вектора C = W о Me о W-1.
Расшифрование выполняется по формуле M = W-1 о Cd о W. Корректность расшифрования обеспечивается тем, что порядок любого вектора рассматриваемой конечной группы делит величину ф, благодаря чему выполняется условие ed = 1 mod ш, где ш - любое возможное значение порядка четырехмерных векторов.
Покажем, что данный алгоритм шифрования является коммутативным, т. е. результат зашифрования некоторого сообщения М по двум различным секретным ключам не зависит от очередности их использования. Пусть имеется первый (Ш ,е1,!{) и второй (Ш2, е2,с],2) секретные ключи. Зашифрование по первому, а затем по второму ключу дает
С12 = Ш2 о (Ш1 о Ме1 о Ш-1)е2 о Ш-1 = (Ш2 о Ш1) о Ме1е2 (Ш-1 о Ш-1) .
Зашифрование по второму, а затем по первому ключу дает
С21 = Ш1 о (Ш2 о Ме2 о Ш-1)е1 о Ш-1 = (Ш1 о Ш2) о Ме2е1 (Ш-1 о Ш-1) .
Поскольку векторы и выбираются из коммутативной подгруппы Гкомм, то С12 = С21, т. е. шифрование коммутативно.
Сравнение рассмотренного алгоритма и аналогичного алгоритма коммутативного шифрования, основанного на сложности ЗДЛ на ЭК, показывает, что первый значительно производительнее при проведении зашифрования, а при выполнении расшифрования их производительности примерно равны (более низкая производительность расшифрования приведенного алгоритма связана с тем, что значение с! по разрядности в 3 раза выше, чем е). Другим достоинством предложенного алгоритма является то, что в нем процедура представления сообщения в виде элемента группы четырехмерных векторов проще, чем процедура представления сообщения как точки ЭК, поскольку координаты точек ЭК должны удовлетворять уравнению ЭК, а это накладывает больше ограничений по сравнению с условием обратимости элементов четырехмерного векторного пространства.
Некоммутативные группы векторов могут быть применены для построения алгоритмов ЭЦП путем использования ЗДЛ в циклической подгруппе достаточно большого простого порядка по примеру схем ЭЦП на основе конечных некоммутативных групп матриц [12]. Другим вариантом синтеза алгоритмов ЭЦП является задание некоммутативных групп векторов, содержащих примарные подгруппы с МЦ, и применение схем ЭЦП, описанных в п. 6. При синтезе криптосхем на основе конечных групп векторов следует учитывать существование мультипликативного гомоморфизма любой конечной группы векторов в поле, над которым она задана [13]. Данный гомоморфизм диктует использование простых значений д \ р — 1 в случае задания векторов над простым полем характеристики р.
8. Заключение. Для повышения производительности алгоритмов ЭЦП представляют интерес криптосхемы, основанные на сложности ЗДЛ по многомерному основанию, которая задается над примарными подгруппами с МЦ, присутствующими в конечных коммутативных группах многомерных векторов при соответствующем задании ТУБВ. Подобные группы многомерных векторов, применяемые для синтеза алгоритмов ЭЦП, могут быть заданы над конечными полями или над конечными кольцами вида Zp2, где р - простое число. Детальное рассмотрение последнего случая имеет самостоятельный интерес.
Для повышения производительности протоколов открытого распределения ключей и алгоритмов коммутативного шифрования весьма перспективны криптосхемы, построенные с использованием новой вычислительно трудной задачи - ЗДЛ в скрытой коммутативной подгруппе, которая формулируется над конечными некоммутативными группами. Показано, что реализация таких криптосхем может быть выполнена с помощью некоммутативных групп четырехмерных векторов. Другие некоммутативные
группы, например конечные группы невырожденных матриц размера 2x2 и 3x3, также интересны для построения криптосхем на основе новой трудной задачи. При этом можно ожидать, что применение матриц данных размеров может привести к дальнейшему повышению производительности. Последнее может быть достигнуто также использованием некоммутативных групп векторов размерностей m = 6, 8,12,16, что также представляется интересной и практически значимой задачей самостоятельного исследования.
Специальный интерес представляет собой оценка сложности ЗДЛ в скрытой циклической подгруппе при ее решении на квантовом компьютере.
Литература
1. Молдовян Н. А. Группы векторов для алгоритмов электронной цифровой подписи // Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2009. Вып. 1. С. 96-102.
2. Доронин С. Е., Молдовяну П. А., Синев В. Е. Векторные конечные поля: задание умножения векторов большой четной размерности // Вопросы защиты информации. 2008. № 4(83). С. 2-7.
3. Молдовян Н. А. Аутентификация информации в АСУ на основе конечных групп с многомерной цикличностью // Автоматика и телемеханика. 2009. № 8. С. 177-190.
4. Молдовяну П. А., Молдовян Д. Н., Хо Нгок Зуй. Конечные группы с четырехмерной цикличностью как примитивы цифровой подписи // Информационно-управляющие системы. 2010. № 3. С. 61-68.
5. Moldovyan D. N. Non-Commutative Finite Groups as Primitive of Public Key Cryptosystems // Quasigroups and Related Systems. 2010. Vol. 18. P. 165-176.
6. Menezes A. J., Van Oorschot P. C., Vanstone S. A. Handbook of Applied Cryptography. Boca Raton, FL: CRC Press, 1997. 780 p.
7. Shor P. W. Polynomial-time algorithms for prime factorization and discrete logarithms on quantum computer // SIAM Journal of Computing. 1997. Vol. 26. P. 1484-1509.
8. Ko K. H., Lee S. J., Cheon J. H., Han J. W., Kang J. S., Park C. New Public-Key Cryptosystems Using Braid Groups // Advances in Cryptology - CRYPTO 2000 / Lecture Notes in Computer Science (Springer-Verlag). 2000. Vol. 1880. P. 166-183.
9. Lee E., Park J. H. Cryptanalysis of the Public Key Encryption Based on Braid Groups // Advances in Cryptology - EUROCRYPT 2003 / Lecture Notes in Computer Science (Springer-Verlag). 2003. Vol. 2656. P. 477-489.
10. Myasnikov A., Shpilrain V., Ushakov A. A Practical Attack on a Braid Group Based Cryptographic Protocol // Advances in Cryptology - CRYPTO’05 / Lecture Notes in Computer Science (Springer-Verlag). 2005. Vol. 3621. P. 86-96.
11. Каргаполов М. И., Мерзляков Ю. И. Основы теории групп. М.: Физматлит, 1996. 287 с.
12. Дернова Е. С., Костина А. А., Молдовяну П. А. Конечные группы матриц как примитив алгоритмов цифровой подписи // Вопросы защиты информации. 2008. № 3(82). С. 8-12.
13. Молдовян Д. Н., Куприянов А. И., Костина А. А., Захаров Д. В. Задание некоммутативных конечных групп векторов для синтеза алгоритмов цифровой подписи // Вопросы защиты информации. 2009. № 4. С.12-18.
Статья рекомендована к печати проф. Н. В. Егоровым.
Статья принята к печати 19 мая 2011 г.