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

УДК 681.3

подход к ПОСТРОЕНИЮ КРИПТОСХЕМ НА ОСНОВЕ НЕСкольких вычислительно трудных задач

А. А. Демьянчук,

младший научный сотрудник Д. Н. Молдовян,

младший научный сотрудник

Санкт-Петербургский институт информатики и автоматизации РАН Е. С. Новикова, канд. техн. наук, ассистент Д. Ю. Гурьянов,

канд. техн. наук, ассистент Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

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

Ключевые слова — электронная цифровая подпись, протокол открытого шифрования, протокол обмена ключами, задача дискретного логарифмирования, задача факторизации.

Введение

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

путем применения качественно новых прорывных решений используемых трудных задач, в работах [1-3] предложены схемы ЭЦП, взлом которых требует одновременного решения ЗФ и ЗДЛ. В этих криптосхемах используется ЗДЛ по простому модулю р, имеющему специальную структуру: р - 1 = erq, где r и q — 512-битовые простые числа и e — четное число небольшого размера, а в качестве основания дискретных логарифмов выбирается число, имеющее порядок n = rq. Параметры r и q являются элементами секретного ключа, а значенияр, а и у, где y = ax modр (x — элемент секретного ключа), составляют ОК. Один из элементов подписи вычисляется по модулю n, поэтому суммарный размер ЭЦП превышает 1024 бит. Данный подход применяется для построения протоколов слепой ЭЦП [3-5], открытого шифрования и открытого согласования ключей [6]. Однако предложенные в работах схемы характеризуются сложностью построения и большой длиной вырабатываемой подписи.

В настоящей работе предлагается подход к построению криптосхем различного типа, основанных на трудности одновременного решения ЗФ и ЗДЛ по простому модулю. Использование

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

Подход к построению криптосхем

Для построения криптографических протоколов предлагается использовать ЗДЛ по трудно разложимому модулю п, для решения которой необходимо выполнить факторизацию составного модуля и решить ЗДЛ по простым модулям, являющимся делителями числа п, или применить один из общих методов дискретного логарифмирования (метод больших и малых шагов, переборный метод, метод Полларда [7]), используемых для решения ЗДЛ в любых конечных группах. Следует отметить, что общие методы становятся вычислительно нереализуемыми при сравнительно малых порядках конечной группы, равных примерно значению 2256. Однако существование специальных методов решения ЗДЛ по простому модулю р, таких как метод вычисления индексов [7], обладающих субэкспоненциальной сложностью, требует использования в криптосхемах чисел р, имеющих достаточно большой размер, не менее 1024 бит. Появление прорывных специализированных методов решения ЗДЛ и ЗФ в обозримом будущем оценивается достаточно малыми значениями вероятности, тем не менее снижение вероятности взлома криптосхем в результате применения прорывных решений является важным моментом для криптосхем, применяемых на практике. Если криптосхема устроена таким образом, что для ее взлома требуется решить обе указанные задачи, то вероятность ее взлома существенно снижается, так как в этом случае необходима одновременная реализация двух маловероятных событий. Получение точных оценок рассматриваемых вероятностей проблематично, однако существенность указанного снижения вероятности взлома, основанного на прорывных решениях трудных задач, достаточно очевидна.

Следует отметить, что необходимость решать две трудные задачи практически не приводит к повышению стойкости криптосхем, поскольку при взломе криптосхемы задачи решаются независимо друг от друга. Однако если сложности решения ЗФ и ЗДЛ по простому модулю примерно равны, то появление прорывного решения одной из этих задач не приводит к снижению стойкости заданной криптосхемы. Известно, что ЗФ составного модуля п и ЗДЛ по простому модулю р имеют субэкспо-ненциальную сложность, причем сложности решения этих задач примерно одинаковы, если размеры чисел п и р равны и делители числа п имеют примерно одинаковый размер. Если делители

числа n имеют различный размер, то сложность ЗФ определяется делителем меньшего размера [8]. Идея предлагаемого подхода состоит в построении криптосхем с использованием трудности ЗДЛ по трудно разложимому модулю n, для которого выполняется следующее условие: размер минимального делителя r модуля в 2 раза меньше разрядности второго делителя q. В этом случае сложность решения ЗФ примерно равна сложности ЗДЛ по простому модулю q. Построение криптосхем выполняется по аналогии с известными криптосхемами, основанными на трудности ЗДЛ по простому модулю, с учетом того, что значения оснований дискретных логарифмов следует выбирать таким образом, чтобы их нельзя было бы использовать для выполнения вычислительно осуществимых алгоритмов факторизации модуля n.

Выбор параметров криптосхем

В криптосхемах, создаваемых в рамках предложенного подхода, используется ОК, представляемый тройкой чисел {n, а, y}, где y вычисляется по формуле

y = ах mod n.

Личным секретным ключом (ЛСК) пользователя является тройка чисел (r, q, x), где n = rq, q — простое 1024-битовое число, r — простое 512-битовое число; x — случайное число, меньшее, чем порядок числа а по модулю n, который обозначим как число y. Требования к генерации элементов секретного ключа рассмотрены в работе [9], где показано, что число а с достаточно малым значением порядка (требование малого порядка генератора группы а необходимо для построения схем ЭЦП с малым размером подписи) может быть использовано для факторизации числа n, если числа r, q и а не удовлетворяют одному из следующих двух требований.

1. Простые числа r и q имеют следующую структуру: r = NrY + 1 и q = NqY + 1, где Nr и Nq — два больших четных числа, содержащих большой простой делитель. Параметр Y имеет размер не менее 160 бит и не является секретным.

2. Простые числа r и q представляются в виде r = NrY' + 1 и q = NqY' + 1, где Nr и Nq — два больших четных числа, содержащих большой простой делитель. Значение порядка числа а равно Y = y'y''. Каждое из чисел y' и y'' имеет размер не менее 80 бит, а параметр Y является дополнительным элементом секретного ключа.

Генерация ОК и ЛСК в соответствии с одним из этих требований может быть легко выполнена [9], поэтому указанные требования не препятствуют практическому применению криптосхем на основе ЗДЛ по модулю n специальной структуры.

Криптографические протоколы, основанные на сложности ЗДЛ по трудно разложимому модулю

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

Протокол ЭЦП

Генерация подписи к сообщению M выполняется следующим образом.

1. Сформировать случайное число k < у и вычислить параметр R = akmodn.

2. Используя некоторую специфицированную хэш-функцию FH, вычислить ее значение от сообщения с присоединенным к нему числом R: E = = FH(M, R). Параметр E является первым элементом подписи.

3. Вычислить второй элемент подписи: S = k + + xE mod у.

Проверка подлинности подписи (E, S) к сообщению M выполняется по ОК владельца подписи следующим образом.

1. Вычислить значение R = у а modre.

2. Вычислить значение E = Fh (M, R). Если E = E, то подпись признается подлинной.

Протокол слепой подписи

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

1. Пользователь инициирует взаимодействие с подписывающим лицом.

2. Подписывающий генерирует случайное число k и вычисляет значение параметра R = ak modre, которое затем отправляет пользователю.

3. Пользователь генерирует случайные числа т и е (ослепляющие параметры, не превосходящие у) и вычисляет значения R = Ryzae modre, E = FH(M, R) и E = E + т mod у, после чего отправляет подписывающему значение E.

4. Подписывающий вычисляет значение S та-

— _E s — —

кое, что R = у_ a mod re (т. е. S = k + xE mod у),

и направляет S пользователю.

5. Пользователь вычисляет второй элемент подписи (E, S) к сообщению M по формуле S = S + + е mod у.

Процедура проверки подписи выполняется так же, как и в схеме ЭЦП. Подлинность подписи доказывается путем подстановки значения (E, S) на вход процедуры проверки подлинности:

R ° y_Eas ° y_E+TaS+s °

= y_EyZaS ае ° (y_EaS )утае ° Ryzas mod re

^ R = R ^ E = E.

При этом проблема анонимности решена, поскольку произвольная подпись (E, S), сформированная подписывающим, может быть сопоставлена с любой слепой подписью (E, S). Действительно, если выполняются равенства R = y-EaS

— _E S

mod n и R = у a modre, то верны и следующие

сравнения: R/R ° yE_EaS_S ° утае modre, т. е. при равновероятном случайном выборе «ослепляющих» параметров т и е подпись (E, S ) с равной вероятностью могла быть порождена из любой слепой подписи, формировавшейся когда-либо подписывающим.

Следует отметить, что в данном протоколе приемлемы два варианта построения модуля n. В первом варианте параметр у не является составным и входит в состав ОК пользователя, поскольку его раскрытие не может быть использовано для разложения модуля. Во втором варианте параметр у является составным и является частью ЛСК пользователя. В этом случае вместо формул E = E + т mod у и S = S + е mod у можно использовать формулы E = E + т mod2g и S = S + е mod 2g соответственно. В остальном описание протокола не меняется. В последних двух формулах значение g является специфицируемым параметром протокола и превосходит на единицу значение разрядности параметра у.

Протокол коллективной ЭЦП

Протокол коллективной ЭЦП необходим в случаях, когда несколько пользователей должны одновременно сформировать подпись к документу. В настоящей работе предлагается протокол коллективной ЭЦП, аналогичный протоколам с формированием общего параметра рандомизации [11, 12], однако системные параметры (n, a, у) протокола, генерируемые доверительным центром, и ОК yi и ЛСК xi m пользователей, где i = 1, 2,..., m, вычисляются с учетом требований, определенных в предыдущем разделе. Протокол коллективной ЭЦП включает следующие шаги.

1. Участники протокола вычисляют коллективный ОК Y = y1y2...ymmod n.

2. Каждый i-й пользователь формирует случайное число ki < у и вычисляет значение Rt = ak mod п и рассылает его остальным пользователям.

3. Пользователи вычисляют общий рандомизирующий параметр R = R^2...Rmmod n и первый элемент коллективной подписи E = FH(M, R, Y).

4. Каждый i-й пользователь вычисляет свою долю во втором элементе коллективной подписи: Si = ki + xiE mod у, и рассылает ее остальным пользователям.

5. После этого пользователи вычисляют второй элемент коллективной подписи (E, S) по формуле S = S1 + S2 + ... + Smmod у.

Проверка подлинности коллективной подписи (E, S) к сообщению M выполняется следующим образом.

1. Вычислить коллективный ОК Y = У1У2... ymmod n и значение R = Y_EaS mod re.

2. Вычислить значение E = Fh (M, R, Y). Если E = E, то подпись признается подлинной.

Используя в качестве прототипа протоколы, описанные в работах [13-15], легко разработать протокол коллективной слепой подписи, в котором общая тройка значений n, a и у генерируется доверительным центром.

Протокол открытого шифрования

Используя ОК некоторого пользователя, можно послать секретное сообщение этому пользователю по открытым каналам связи. Для этого сообщение следует зашифровать по ОК, применяя следующий алгоритм, построенный по аналогии с алгоритмом открытого шифрования Эль-Гамаля [16].

1. Сгенерировать случайное число k.

2. Вычислить число R = akmod n.

3. Используя ОК получателя y, вычислить значение Q = ykmod n.

4. Зашифровать сообщение M путем умножения сообщения на значение Q, играющее роль разового ключа шифрования: С = QMmod n.

5. Отправить получателю криптограмму в виде пары чисел (R, C).

Получатель криптограммы (R, C), используя свой ЛСК x, выполняет процедуру дешифрования сообщения M, которая описывается следующими шагами.

1. Вычислить разовый общий секретный ключ Q = Rxmod n.

2. Используя расширенный алгоритм Евклида, вычислить значение Q'-1, обратное значению Q' по модулю n.

3. Расшифровать сообщение M путем умножения значения C на целое число Q'-1: M = CQ'-1mod n.

Корректность описанной схемы шифрования легко доказать самостоятельно.

Протокол открытого распределения ключей

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

протокола, отвечающие требованиям, определенным в предыдущем разделе. Пользователи генерируют случайный ЛСК в виде числа x и вычисляют свой ОК по формуле у = axmod n. Протокол включает стандартные шаги схемы Диффи — Хеллмана.

1. Пользователь А вычисляет общий секретный ключ с удаленным пользователем В по ОК последнего ув и своему ЛСК xA по формуле Zab = УвХа modn.

2. Пользователь В вычисляет общий секретный ключ с пользователем А по ОК последнего yA и своему ЛСК xb по формуле Zab = УаХв modn.

В результате этих шагов оба пользователя получают одно и то же значение, которое известно только им, и для этого не потребовалось использовать защищенный канал связи.

Если атаку на протокол проводить с участием доверительного центра, то она окажется эффективной в случае появления прорывного решения ЗДЛ по простому модулю. Таким образом, стойкость протокола к таким атакам примерно равна его стойкости к атакам без участия доверительного центра, однако его безопасность существенно выше, если учесть вероятность взлома в результате появления прорывных решений трудных задач.

Протокол аутентификации с нулевым разглашением секрета

Протоколы с нулевым разглашением используются в процедурах строгой аутентификации удаленных абонентов телекоммуникационных систем. Пользователь, подлинность которого устанавливается, называется доказывающим. Пользователь, который проверяет подлинность доказывающего, называется проверяющим. Термин «нулевое разглашение секрета» подчеркивает, что при обмене информацией между доказывающим и проверяющим не происходит какой-либо утечки информации о ЛСК доказывающего.

Рассмотрим протокол с нулевым разглашением на основе сложности ЗДЛ по составному модулю n, в котором ОК вычисляется по формуле у = axmod n. Доказывающий в ходе протокола показывает, что он знает ЛСК x, соответствующий его ОК. Протокол состоит из многократного выполнения следующего раунда.

1. Доказывающий выбирает текущий разовый секрет k, вычисляет значение R = ak mod n, которое играет роль разового ОК, и передает его проверяющему.

2. Проверяющий случайным образом выбирает значение бита e и направляет его доказывающему (случайный запрос проверяющего).

3. Доказывающий направляет проверяющему ответ w в виде числа, вычисляемого по формуле w = ex + kmod y, и направляет его проверяющему.

Проверяющий проверяет выполнимость соотношения aw = yeR mod n. При положительной проверке делается заключение, что доказывающий знает значение x. Нарушитель может дать правильный ответ с вероятностью 0,5, поэтому протокол включает в себя многократное выполнение описанного раунда, при котором достигается приемлемо малая вероятность обмана 2-h, где h — число повторенных раундов.

С целью уменьшить большое число интерактивных шагов можно использовать трехшаговый протокол с нулевым разглашением, в котором ОК доказывающего является набор из h значений yi, i = 0, 1, 2, ..., h - 1, вычисленных по формуле yt — aXi mod re. Набор чисел xi, i = 0, 1, 2, ..., h - 1, составляет ЛСК доказывающего. Протокол включает три следующих шага.

1. Доказывающий выбирает случайное число k такое, что 1 < k < у, вычисляет значение R = = ak mod n и посылает его проверяющему (значение R называется фиксатором).

2. Проверяющий отправляет доказывающему запрос в виде случайной равновероятной h-битовой строки E = (e0, e1, ..., eh - 1), в которой каждый бит ei с вероятностью 0,5 равен 1.

3. Доказывающий вычисляет ответ W на запрос E по формуле W — k + ^ ^-^xe mod у и направляет его проверяющему.

Проверяющий считает ответ положительным, если выполняется соотношение h_1

aW — R ^ ye modre.

i-0

Легко показать, что вероятность обмана проверяющего в этом протоколе составляет 2-h.

Описанный трехпроходный протокол с нулевым разглашением может быть преобразован в схему ЭЦП, пригодную для практического использования, по аналогии с построениями, выполненными в работе [17]. В таком преобразовании рассматривается следующий сценарий формирования цифровой подписи. Подписывающее лицо генерирует конкретное значение фиксатора R. Затем в зависимости от фиксатора и подписываемого документа M он вычисляет значение запроса E, после чего формирует ответ S на запрос. Пара чисел (E, S), включающая запрос и ответ, является цифровой подписью к документу. Для того чтобы подделка подписи была практически невозможной, схема ЭЦП строится таким образом, чтобы после вычисления значения запроса изменить значение фиксатора без изменения запроса было вычислительно трудно. Это требование может быть достигнуто путем задания запроса как значения стойкой хэш-функции, вычисляемой от значения фиксатора с присоединенным к нему сообщением. В этом значение запроса за-

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

1. Подписывающий выбирает случайное число Ь (1 < Ь < у), вычисляет значение фикатора Я = afemodn.

2. Затем, используя специфицированную хэш-функцию Fн, он вычисляет значение Е = FH(M, Я) = = (е0, е1, ..., еЪ _ 1), которое может быть рассмотрено как случайный запрос со стороны документа.

3. Подписывающий вычисляет ответ 5 на запрос Е по формуле й = k + ^Л=0 хе mod у, который является вторым элементом цифровой подписи к документу М.

Проверка подлинности ЭЦП (Е, 5) состоит в проверке выполнимости соотношения ай =

Л-1

= Я О У? modre, которое является проверочным

1=0

соотношением в исходном протоколе с нулевым разглашением. Процедура проверки подписи включает следующие шаги.

1. Вычисляется значение фиксатора

Л-1

Я = ай О У; е'1 modra.

1=0

2. Вычисляется значение хэш-функции

Е = Fн (М, Я).

3. Сравниваются значения Е и Е. Если Е = Е, то подпись (Е, в) считается подлинной. В противном случае подпись отклоняется как ложная.

Нарушитель, который пытается подделать подпись, не может вычислить правильный ответ на запрос, формируемый по значению документа, поскольку ему неизвестен ЛСК. Однако он может попытаться сгенерировать случайные значения запроса Е' = (е'0,е1,...,еЛ_1) и ответа Б' и вычис-

/ Л-1 _ ,

лить по формуле Я' = ай О У; е modra значение

1=0

фиксатора Я’, которое вместе со значениями Е' и Б' будет удовлетворять проверочному соотношению. С вероятностью 2-Ъ будет выполняться соотношение Е' = FH(M, Я'), и подпись (Е', в') пройдет процедуру проверки как подлинная подпись. Однако чтобы такая атака с вероятностью 50 % привела к удачной подделке подписи, потребуется сформировать примерно 2Ъ - 1 вариантов подписи (Е ', 5), поэтому при Ъ > 80 атака вычислительно невыполнима в настоящее время.

Недостатком данной схемы ЭЦП является большой размер ОК, который составляет не менее 1536Ъ = 122 880 бит. Сокращение размера ОК

можно достигнуть приемом, который состоит в том, что генерируется ЛСК в виде случайного числа x, по которому вычисляется значение y0 = axmod n, а значения yi, i = 1,., h - 1, определяются фор-

2i 2ix x

мулой yi — У0 — a — a i modre. Тогда в описанной схеме ЭЦП xi = 2ix mod у и выражение

s—k+Еh- 0 Xiei mod у принимает вид S = k + xE ~ h_l mod у, а выражение as — R П уei modre приводится к виду i—0

aS — R П yei —R Пу2 e — Ry0"i—0 2ei — Ryo modre, i—o i—o

где битовая строка запроса E рассматривается как двоичное число. Заменяя обозначение y0 на y, можно перейти к схеме ЭЦП, описываемой следующими шагами.

1. Подписывающий выбирает случайное число k (1 < k < y), вычисляет значение фиксатора R = akmod n.

2. Затем он, используя специфицированную хэш-функцию FH, вычисляет первый элемент подписи в виде значения E = FH(M, R) = (e0, ev

eh _ 1), которое рассматривается как двоичное число E — V h_12iei.

^i—0 i

3. Подписывающий вычисляет ответ S на запрос E по формуле S = k + xE mod y, который является вторым элементом цифровой подписи к документу M.

Процедура проверки подписи (E, S) включает следующие шаги.

1. Вычисляется значение фиксатора

R — y_EaS modre.

2. Вычисляется значение хэш-функции

E — FH (M,R).

3. Сравниваются значения E и E. Если E — E, то подпись (E, S) считается подлинной. В противном случае подпись отклоняется как ложная.

То есть получен протокол ЭЦП, описанный в первом подразделе. Его «вывод» из протокола с нулевым разглашением может быть использован как формальное доказательство его стойкости. Примеры такого доказательства приведены в работе [17].

Общее обсуждение предложенных криптосхем

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

тернативным вариантом реализации (протоколы обычной и слепой подписи, алгоритм открытого шифрования, протокол с нулевым разглашением). Следует отметить, что в криптосхемах последнего типа генерация трудно разложимого модуля самими пользователями является предпочтительным вариантом использования, поскольку в этом случае устраняются атаки с участием недобросовестного доверительного центра. При этом параметры п и а являются уникальными для каждого пользователя и должны быть включены в состав ОК, чтобы предоставить к ним доступ другим пользователям. В результате размер ОК увеличивается.

При индивидуальной генерации модуля п и числа а значение у может оставаться секретным. Для последнего случая можно использовать как простое 160-битовое значение у, так и составное значение у, равное произведению двух 80-битовых простых чисел / и у''. В случае генерации модуля п и числа а доверительным центром последний должен также вычислить и сделать общедоступным значение порядка числа у, поэтому вариант составного числа у является неприемлемым.

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

В предложенных схемах ЭЦП обеспечивается достаточно малый размер подписи (и 240 бит). Производительность криптосхем примерно в 2,25 раза меньше производительности аналогичных известных криптосхем, использующих вычисления по простому 1024-битовому модулю. Однако, поскольку последние обладают высоким быстродействием, то это снижение производительности не является существенным для практического применения.

Заключение

В данной работе описан и обоснован подход к построению криптосхем на основе трудности ЗДЛ по трудно разложимому модулю. Показано, что в рамках предложенного подхода повышается безопасность криптосхем по сравнению со схемами, использующими ЗФ или ЗДЛ по простому модулю. Производительность разработанных схем снижается незначительно. По сравнению с ранее известными подходами к синтезу криптосхем, основанными на трудности одновременного решения ЗФ и ЗДЛ по простому модулю, предложенный подход обеспечивает существенное со-

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

В предложенных криптосхемах применяется циклическая подгруппа мультипликативной группы кольца вычетов по составному модулю. Значительный интерес представляет синтез криптосхем, построенных на нециклических подгруппах, а именно мультипликативных подгруппах с двухмерной цикличностью, т. е. подгруппах, базис которых содержит два элемента а и р, име-

Литература

1. Дернова Е. С., Молдовян Н. А. Синтез алгоритмов цифровой подписи на основе нескольких вычислительно трудных задач // Вопросы защиты информации. 2008. № 1. С. 22-26.

2. Дернова Е. С., Молдовян Н. А. Протоколы коллективной цифровой подписи, основанные на сложности решения двух трудных задач // Безопасность информационных технологий. 2008. № 2. С. 79-85.

3. Tahat N. M. F., Shatnawi S. M. A., Ismail E. S. New Partially Blind Signature Based on Factoring and Discrete Logarithms // J. of Mathematics and Statistics. 2008. Vol. 4(2). P. 124-129.

4. Tahat N. M. F., Ismail E. S., Ahmad R. R. A New Blind Signature Scheme Based on Factoring and Discrete Logarithms // Intern. J. of Cryptology Research. 2009. Vol. 1(1). P. 1-9.

5. Кишмар Р. В., Молдовяну П. А., Новикова Е. С., Сухов Д. К. Протоколы слепой подписи на основе сложности одновременного решения двух трудных задач // Изв. СПбГЭТУ «ЛЭТИ». 2011. № 4. С. 44-48.

6. Молдовян Д. Н., Кишмар Р. В., Васильев И. Н. Двухключевые криптосхемы на основе комбинирования задач факторизации и дискретного логарифмирования // Вопросы защиты информации. 2011. № 4. С. 2-5.

7. Menezes A. J., Vanstone S. A. Handbook of Applied Cryptography. — CRC Press, 1996. — 780 p.

8. Коблиц Н. Курс теории чисел и криптографии. — М.: ТВП, 2001. — 254 с.

9. Moldovyan A. A., Moldovyan D. N., Gortinskaya L. V. Cryptoschemes based on new signature formation mechanism // Computer Science J. of Moldova. 2006. Vol. 14. N 3(42). P. 397-411.

10. Camenisch J. L., Piveteau J.-M., Stadler M. A. Blind Signatures Based on the Discrete Logarithm Problem // Advances in Crypology — EUROCRYPT’94. Proc. / Lecture Notes in Computer Science. Springer Ver-lang, 1995. Vol. 950. P. 428-432.

11. Молдовян А. А., Молдовян Н. А. Новые алгоритмы и протоколы для аутентификации информации

ющих один и тот же простой порядок Y. В последнем случае элемент ОК у вычисляется по формуле у = axpw mod n, где значения x и w являются элементами ЛСК. Применение нециклических подгрупп такого типа описано в работах [18-20] для построения протокола слепой ЭЦП со сравнительно малым размером подписи, основанной на трудности задачи факторизации. Однако использование таких подгрупп для построения алгоритмов и протоколов, основанных на сложности одновременного решения ЗФ и ЗДЛ, не рассматривалось и представляет собой предмет отдельного обсуждения.

Работа выполняется при финансовой поддержке РФФИ (проект N° 12-07-З1164 мол_а).

в АСУ // Автоматика и телемеханика. 2008. № 7. С. 157-169.

12. Молдовян А. А., Молдовян Н. А. Коллективная ЭЦП — специальный криптографический протокол на основе новой трудной задачи // Вопросы защиты информации. 2008. № 1. С. 14-18.

13. Moldovyan N. A., Moldovyan A. A. Blind Collective Signature Protocol Based on Discrete Logarithm Problem // Intern. J. of Network Security. 2010. Vol. 11. N 2. P. 106-113.

14. Moldovyan N. A. Blind Signature Protocols from Digital Signature Standards // Intern. J. of Network Security. 2011. Vol. 13. N 1. P. 22-30.

15. Молдовян Н. А., Дернова Е. С., Молдовян Д. Н. Протоколы слепой и коллективной подписи на основе стандарта ЭЦП ДСТУ 4145-2002 // Вопросы защиты информации. 2011. № 2. С. 14-18.

16. ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms // IEEE Transactions on Information Theory. 1985. Vol. IT-31. N 4. Р. 469-472.

17. Молдовян А. А., Молдовян Д. Н., Васильев И. Н., Головачев Д. А. Протоколы с нулевым разглашением секрета и обоснование безопасности схем цифровой подписи // Вопросы защиты информации. 2011. № 4. С. 6-11.

18. Молдовян Д. Н., Васильев И. Н., Латышев Д. М., Сухов Д. К. Построение схемы 240-битовой цифровой подписи // Вопросы защиты информации. 2011. № 3. С. 6-10.

19. Васильев И. Н., Краснова А. И., Молдовян Д. Н. Схема слепой 240-битовой цифровой подписи // Инфор-мационно-управляющие системы. 2011. № 6(55). С. 49-53.

20. Moldovyan A., Moldovyan N., Novikova E. Blind 384-bit Digital Signature Scheme: 6th Intern. Conf. MMM-ACNS’12. St.-Petersburg, Russia, Oct. 17-20 // Springer LNCS. 2012. Vol. 7531. P. 77-83.