Научная статья на тему 'О генерической сложности некоторых проблем криптографии'

О генерической сложности некоторых проблем криптографии Текст научной статьи по специальности «Математика»

CC BY
171
66
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ГЕНЕРИЧЕСКАЯ СЛОЖНОСТЬ / ПРОБЛЕМА ДИСКРЕТНОГО ЛОГАРИФМА / ПРОБЛЕМА ИЗОМОРФИЗМА ГРАФОВ / ГРУППЫ ВЫЧЕТОВ / GENERIC COMPLEXITY / DISCRETE LOGARITHM PROBLEM / GRAPH ISOMORPHISM / GROUPS OF RESIDUES

Аннотация научной статьи по математике, автор научной работы — Рыбалов А. Н.

Генерический подход к алгоритмическим проблемам был предложен в 2003 г. А.Г. Мясниковым, И. Каповичем, П. Шуппом и В. Шпильрайном. В рамках этого подхода алгоритмическая проблема рассматривается не для всего множества входов (сложность в худшем случае), а для множества «почти всех» входов. Термин «почти все входы» уточняется при помощи введения естественной меры на множестве входных данных. В настоящей статье изучается генерическая сложность следующих алгоритмических проблем: проблемы дискретного логарифма, проблемы извлечения квадратного корня в группах вычетов и поисковой проблемы изоморфизма графов. Эти проблемы имеют приложения в современной криптографии. Доказывается, что при условии трудноразрешимости в худшем случае эти проблемы остаются трудноразрешимыми и в генерическом случае.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On generic complexity of some problems of cryptography

Generic-case approach to algorithmic problems was suggested by A.G. Miasnikov, I. Kapovich, P. Schupp and V. Shpilrain in 2003. This approach considers a problem for the “most” inputs instead of all inputs like in worst-case approach. In this paper we prove that classical problems of cryptography: discrete logarithm problem, problem of square roots in groups of residues, searching graph isomorphism problem are generically hard provided they are hard in the worst case.

Текст научной работы на тему «О генерической сложности некоторых проблем криптографии»

МАТЕМАТИКА

Вестн. Ом. ун-та. 2014. № 4. С. 23-27.

УДК 510.52

А.Н. Рыбалов

О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ НЕКОТОРЫХ ПРОБЛЕМ КРИПТОГРАФИИ*

Генерический подход к алгоритмическим проблемам был предложен в 2003 г. А.Г. Мясниковым, И. Каповичем, П. Шуппом и В. Шпильрайном. В рамках этого подхода алгоритмическая проблема рассматривается не для всего множества входов (сложность в худшем случае), а для множества «почти всех» входов. Термин «почти все входы» уточняется при помощи введения естественной меры на множестве входных данных. В настоящей статье изучается генерическая сложность следующих алгоритмических проблем: проблемы дискретного логарифма, проблемы извлечения квадратного корня в группах вычетов и поисковой проблемы изоморфизма графов. Эти проблемы имеют приложения в современной криптографии. Доказывается, что при условии трудноразрешимости в худшем случае эти проблемы остаются трудноразрешимыми и в генерическом случае.

Ключевые слова: генерическая сложность, проблема дискретного логарифма, проблема изоморфизма графов, группы вычетов.

Введение

В работе [1] была развита теория генерической сложности вычислений. В рамках этого подхода алгоритмическая проблема рассматривается не на всем множестве входов, а на некотором подмножестве «почти всех» входов. Такие входы образуют так называемое генерическое множество. Понятие «почти все» формализуется введением естественной меры на множестве входных данных. С точки зрения практики алгоритмы, решающие быстро проблему на генерическом множестве, так же хороши, как и быстрые алгоритмы для всех входов. Классическим примером такого алгоритма является симплекс-метод - он за полиномиальное время решает задачу линейного программирования для большинства входных данных, но имеет экспоненциальную сложность в худшем случае. Более того, может так оказаться, что проблема трудноразрешима или вообще неразрешима в классическом смысле, но легкоразрешима на генерическом множестве. В работах [1; 2] было доказано, что таким поведением обладают многие алгоритмические проблемы алгебры, а в работе [3] было построено генерическое множество, на котором разрешима классическая проблема остановки для машин Тьюринга с лентой, бесконечной в одном направлении. Для многих классических NP-полных проблем существуют полиномиальные генерические алгоритмы (см. работу [4]).

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

В данной статье изучается генерическая сложность следующих классических проблем криптографии: проблемы дискретного логарифма в полях GF(p) , где p - простое; проблемы извлечения квадратного корня в

* Работа выполнена за счет гранта Российского научного фонда (проект № 14-11-00085).

© А.Н. Рыбалов, 2014

24

А.Н. Рыбалов

группах вычетов

Z/

поисковой пробле-

/(«)’

мы изоморфизма графов. До сих пор не известно полиномиальных алгоритмов для их решения. Более того, на предположении об их трудноразрешимости основаны многие криптографические алгоритмы (см. [5]). В данной статье доказывается, что эти проблемы неразрешимы за полиномиальное время на любых полиномиальных генерических множествах входов при условии отсутствия полиномиальных вероятностных алгоритмов для их решения в худшем случае. Более того, существует правдоподобная гипотеза о том, что любой полиномиальный вероятностный алгоритм можно эффективно дерандомизировать, т. е. построить полиномиальный детерминированный алгоритм, решающий ту же задачу. Хотя это пока еще не доказано, имеются серьезные результаты в пользу него (см. [6]). При доказательстве данного результата будут использованы методы, развитые в статьях [7; 8].

Генерическая вычислимость и сложность

Пусть I есть множество всех входов для некоторой алгоритмической проблемы, а n - некоторое его подмножество. Рассмотрим последовательность

р (S) _ S п 11 Pn (S) _ и.. i ,

где In - множество всех входов проблемы размера n. В данной статье мы будем иметь дело со множествами натуральных чисел, представленными двоичными строками, и под размером числа будем понимать длину его двоичной записи. Если случайно и равновероятно генерировать входы размера n, то вероятность попасть в S равна pn (S). Определим асимптотическую плотность множества S как предел (если он существует)

KS) = limp,(S).

n——^

Если предела не существует, то считаем, что асимптотическая плотность не определена.

Множество входов S с I называется генерическим, если p(S) = 1, и пренебрежи-мым, если p(S) = 0 . Непосредственно из определения следует, что S является генерическим тогда и только тогда, когда I \ S пренебрежимо. Понятие генерического

множества формализует интуитивное понятие множества «почти всех» входов в том смысле, что при увеличении размера входа вероятность того, что случайно сгенерированный вход попадет в генерическое множество, стремится к 1.

Алгоритмическая проблема S с I гене-рически полиномиально разрешима, если существует множество G с I такое, что:

1. G - генерическое.

2. G - разрешимое за полиномиальное время.

3. S п G - разрешимое за полиномиальное время.

Генерический алгоритм, решающий проблему S , работает следующим образом. Сначала определяет, принадлежит ли вход генерическому множеству. Если да, то проверяет принадлежность входа S . Если нет, то отвечает «НЕ ЗНАЮ». Такой алгоритм правильно решает проблему S на «почти всех» входах.

Проблема дискретного логарифма

Напомним, что проблема дискретного логарифма DL состоит в следующем:

ВХОД: ненулевые натуральные числа

a, g, p , где p - простое число, a, g < p и g -

первообразный элемент в поле GF(р) .

ВЫХОД: натуральное число x такое, что gx = a в поле GF(р).

Под размером входа понимается число разрядов в двоичной записи числа р . В настоящее время не известно полиномиальных алгоритмов, решающих проблему дискретного логарифма. Это обстоятельство лежит в основе криптостойкости многочисленных криптографических алгоритмов (см. [5]).

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

П = {рх,р2,...,Pn,...} , удовлетворяющую условию: 2n < рп < 2n+1 для любого n . Это можно сделать благодаря известному постулату Бертрана, доказанному П.Л. Чебышевым. Будем называть такую последовательность экспоненциальной. Теперь определим алгоритмическую проблему DL(n) следующим образом:

ВХОД: ненулевые натуральные числа

a, g, р , где р ед, a, g < р и g - первообразный элемент в поле GF(р) .

ВЫХОД: натуральное число x такое, что gx = a в поле GF(р) .

Заметим, что входами размера n в проблеме DL(n) являются всевозможные

тройки вида (a, gn, рп) с фиксированным простым числом рп из n бит, фиксированным первообразным gn и произвольным натуральным ненулевым a < рп . Таким образом, чтобы получить проблему DL(n) из оригинальной проблемы дискретного логарифма DL , нужно из всех полей GF(р)

оставить по одному представителю GF(рп )

О генерической сложности некоторых проблем криптографии

25

с числом pn из интервала |^2И ,2K+1 J . Тем не

менее можно доказать, что среди проблем DL(n) существуют столь же трудные, как и оригинальная DL .

Лемма 1. Если не существует полиномиального алгоритма для проблемы DL , то найдется такая экспоненциальная последовательность п, что и для проблемы DL(n) не существует полиномиального алгоритма.

Доказательство. Пусть P1,P2,... - все

полиномиальные алгоритмы. Из предположения о том, что не существует полиномиального алгоритма для проблемы DL , следует, что для любого алгоритма Pn существует бесконечно много полей GF(p) , в которых он не может решить DL . Из этого следует, что можно выбрать последовательность П = {p1,p2,...,pn,...} так, чтобы алгоритм Pn не решал DL в поле GF (pn) и для любого n выполнялось бы pn+1 > 2pn . Последовательность П можно расширить до экспоненциальной последовательности П, добавив, где нужно, новые члены. Заметим теперь, что DL(n) и будет той проблемой, для которой не существует полиномиального алгоритма.

Теорема 1. Если проблема DL(n) гене-рически полиномиально разрешима, то существует полиномиальный вероятностный алгоритм, решающий DL(n) для всех входов.

Доказательство. Допустим, существует генерический полиномиальный алгоритм A , разрешающий проблему DL(n) на некотором полиномиальном генерическом множестве G . Построим вероятностный полиномиальный алгоритм B , решающий DL(n) на всем множестве входов. Алгоритм B на входе (a, gn, pn) будет работать следующим образом:

1. Проверяет, принадлежит ли (a, gn, pn ) множеству G . Это делается за полиномиальное время, так как множество G разрешимо за полиномиальное время. Если (a, gn, pn) е G, то с помощью алгоритма A

находит дискретный логарифм. Если нет, переходит к шагу 2.

2. Генерирует равномерно случайное число 0 < y < pn -1. Вычисляет a' = agny в GF (pn).

3. Проверяет, принадлежит ли новая тройка (a', gn, pn ) множеству G .

4. Если (a' , gn, pn) е G , то с помощью алгоритма A находит z такое, что gz = a' или gnz = agy , откуда X = (z - y)mod(p -1) -

дискретный логарифм для исходной задачи

(a, gn, pn).

5. Если (a' , gn, pn ) £ G , выдает ответ 0. Заметим, что алгоритм может выдать неправильный ответ только на шаге 5. Докажем, что вероятность этого меньше %. Нужно показать, что (a' , gn, pn) е G с вероятностью больше %. Заметим, что a' = agny при 0 < y < pn -1 пробегает все ненулевые элементы поля GF(pn) . А так как G генери-

ческое, то вероятность того, что

(a' , gn, pn) е G , будет стремиться к 1 при увеличении n . Это означает, что полиномиальный вероятностный алгоритм B корректно решает проблему DL(n) на всем

множестве входов. Теорема доказана.

Проблема извлечения квадратного корня в группах вычетов

Пусть Z/(m)

- мультипликативная груп-

па вычетов по модулю m. Проблема извле-

чения квадратного корня в

SR

состо-

ит в следующем:

ВХОД: пара натуральных чисел (a, m)

такая, что a е

ВЫХОД: X е у(т)

такой, что X2 = a

в

, если такой X существует; 0 - иначе.

Заметим, что квадратных корней может быть несколько, в проблеме достаточно найти какой-либо один из них. Опять под размером входа понимается число бит в двоичной записи числа m. Так же, как и для проблемы дискретного логарифма, для этой проблемы не известно полиномиальных алгоритмов даже для частного случая, когда m = pq , где p, q - различные простые чис-

ла. Существуют криптосистемы, основанные на проблеме извлечения квадратного корня (см. [5]).

Для стратификации проблемы SR рассмотрим последовательности rj = {m1, m2,..., mn,...}

натуральных чисел, являющихся произведением двух различных простых чисел и удо-

2n ^ '~\n+1

— mn < 2 для

любого n. Существование таких последовательностей опять следует из постулата Бертрана. Далее определим проблему SR(rf) :

ВХОД: пара натуральных чисел (a, mn) такая, что aе ^^m ).

26

А.Н. Рыбалов

ВЫХОД:

хе Z

Ч)

такой, что

х2 = a

в

если такой х существует; 0 - иначе.

Аналогично лемме 1 доказывается лемма 2.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Лемма 2. Если не существует полиномиального алгоритма для проблемы SR , то найдется такая экспоненциальная последовательность п , что и для проблемы SR(n)

не существует полиномиального алгоритма. Теорема 2. Если проблема SR(n) гене-

рически полиномиально разрешима, то существует полиномиальный вероятностный алгоритм, решающий SR(n) для всех вхо-

дов.

Доказательство. Доказательство аналогично доказательству теоремы 1, единственное различие заключается в том, что, для того чтобы попасть в генерическое множество, нужно из входа (a, mn) получить вход

(ay2, mn), где у е ^щт ) - случайно и равномерно сгенерированный элемент. То, что попадание будет происходить с вероятностью, близкой к 1, следует из двух фактов:

1 В группе ) , где тп = pq и Р, q -

различные простые числа, ровно % элемен-

2

тов являются квадратами. Поэтому ay принимает % значений в ^щт

2. С ростом n более % элементов попадают в генерическое множе-

ство.

Теперь если a = х2 и ay2 = z2, то х = zy-. Если же из ay2 не извлекается квадратный корень, то и из a он тоже не будет извлекаться.

Поисковая проблема изоморфизма графов

Напомним, что два графа G1 и G2 называются изоморфными, если существует биекция п: V(G1) ^ V(G2), сохраняющая свойство «быть соединенными ребром», т. е. такая, что для любых вершин v1, v2 первого графа выполнено: v1, v2 соединены ребром

в G1 тогда и только тогда, когда n(v1),n(v2) соединены ребром в G2. Фактически биекция п - это некоторая перестановка на множестве вершин {1,...,n} . Поисковая проблема изоморфизма графов SGI состоит в следующем:

ВХОД: G1, G2 - изоморфные графы.

ВЫХОД: биекция п: V(G1) ^ V(G2),

осуществляющая изоморфизм.

Сами графы представляются обычно матрицами смежности (n X n - матрица, где n - число вершин; на месте (i, j) стоит 1, если вершина i соединяется с вершиной j

ребром, 0 - иначе). Размер входа - это число вершин в графах. До сих пор не известно полиномиальных алгоритмов для решения данной проблемы. Поисковая проблема изоморфизма графов находит приложения в криптографии.

Для стратификации проблемы будем рассматривать последовательности графов вида y = {G1,G2,...,Gn,...} , где граф Gn имеет n вершин. Определим проблему SGI (у) следующим образом:

ВХОД: (G, Gn) - изоморфные графы.

ВЫХОД: биекция п: V(G) ^ V(Gn) ,

осуществляющая изоморфизм.

В этой проблеме входы размера n - это все графы, изоморфные фиксированному графу Gn. Опять аналогично лемме 1 доказывается следующая лемма.

Лемма 3. Если не существует полиномиального алгоритма для проблемы SGI , то найдется такая последовательность графов Y , что и для проблемы SGI (у) не существует полиномиального алгоритма.

Теорема 3. Если проблема SGI (у) гене-рически полиномиально разрешима, то существует полиномиальный вероятностный алгоритм, решающий SGI(у) для всех входов.

Доказательство. Идея доказательства такая же, как и в доказательстве теоремы 1: в предположении существования полиномиального алгоритма, решающего проблему SGI(у) на генерическом множестве входов, строится вероятностный алгоритм, решающий ее для всех входов. Поясним, как происходит перенос входа (G, Gn) , который не принадлежит генерическому множеству в это множество. Для этого генерируем случайную биекцию (перестановку) <р на вершинах {1,..., n} и действуем ею на граф G , получаем граф G' = ф^) . Так как любой граф, изоморфный G , можно получить таким образом, то с вероятностью больше % пара (G', Gn) попадет в генерическое множество. Там мы эффективно решаем проблему и находим изоморфизм Т между

G' и Gn, т. е. t(G') = Gn или T(p(G)) = Gn, отсюда изоморфизм между G и Gn есть п = тф - произведение соответствующих перестановок.

О генерической сложности некоторых проблем криптографии

27

ЛИТЕРАТУРА

[1] Karpovich I., Myasnikov A. G., Schupp P., Shpil-rain V. Generic-case complexity, decision problems in group theory and random walks // Journal of Algebra. 2003. № 264. № 2. P. 665-694.

[2] Kapovich I., Myasnikov A, Schupp P., Shpil-rain V. Average-case complexity for the word and membership problems in group theory // Advances in Mathematics. 2005. № 190. P. 343-359.

[3] Hamkins J. D., Miasnikov A. The halting problem is decidable on a set of asymptotic probability one // Notre Dame Journal of Formal Logic. 2006. Vol. 47. № 4. P. 515-524.

[4] Gilman R., Miasnikov A. G., Myasnikov A. D., Ushakov A. Report on generic case complexity //

Herald of Omsk University. Special Issue. 2007. P. 103-110.

[5] Мао В. Современная криптография: теория и практика. М. : Вильямс, 2005.

[6] Impagliazzo R., Wigderson A. P=BPP unless E has Subexponential Circuits: Derandomizing the XOR Lemma // Proceedings of the 29th STOC. 1997. P. 220-229.

[7] Myasnikov A, Rybalov A. Generic complexity of undecidable problems // Journal of Symbolic Logic. 2008. Vol. 73. № 2. P. 656-673.

[8] Rybalov A. Generic Complexity of Presburger Arithmetic // Theory of Computing Systems. 2010. Vol. 46. № 1. P. 2-8.

i Надоели баннеры? Вы всегда можете отключить рекламу.