Научная статья на тему 'Генераторы псевдослучайных чисел, основанные на дискретном логарифме'

Генераторы псевдослучайных чисел, основанные на дискретном логарифме Текст научной статьи по специальности «Математика»

CC BY
295
59
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕРАТОР / ДИСКРЕТНЫЙ ЛОГАРИФМ / ПСЕВДОСЛУЧАЙНОЕ ЧИСЛО / КРИПТОСТОЙКОСТЬ / АЛГОРИТМ / БИТ / GENERATOR / DISCRETE LOGARITHM / PSEUDORANDOM NUMBER / CRYPTOGRAPHIC STRENGTH / ALGORITHM / BIT

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

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

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

Pseudo-random number generators based on discrete logarithm

The mathematical model of pseudorandom number generator is given in the paper. The problems of discrete logarithm tasks solving and the concept of «hard bits» for discrete logarithm are considered in the paper. Constraints are imposed related to the absence of logarithm which can compute the discrete logarithm of y = gxmodp, where x ≤ 2c for polynomial time. The constraint is called the assumption on discrete logarithm with short с bit exponents (с – DLSE). As an example, the SundaramPatel’s generator is given, qualitative and quantitative characteristics of the generator resistance to the main types of attacks are proposed. The paper gives the analysis of algorithms for generating pseudorandom numbers, such as the algorithm of BlumBlumShub algorithm, BlumMicali, Fortuna and Yarrow. Based on specified criteria, evaluation of algorithms is given, conclusions on the advantages and disadvantages of each algorithm are made.

Текст научной работы на тему «Генераторы псевдослучайных чисел, основанные на дискретном логарифме»

Клименко Ксенія Вікторівна, асистент, кафедра землеустрою та кадастру, Південна філія Національного університету біо-ресурсів і природокористування України «Кримський агротехнологічний університет», Україна.

Орлова Тетяна Олександрівна, кандидат технічних наук, доцент, кафедра землеустрою та кадастру, Південна філія Національного університету біоресурсів і природокористування України «Кримський агротехнологічний університет», Україна. Саломатін Валерій Миколайович, доктор геолого-мінера-логічних наук, професор, кафедра геодезії та геоінфомати-ки, Південна філія Національного університету біоресурсів

і природокористування України «Кримський агротехнологічний університет», Україна.

Klimenko Kseniya, the South Branch of the National University of Life and Environmental Sciences of Ukraine «Crimean Agrotechnological University», Ukraine, e-mail: mkv_1382@mail.ru. Orlova Tatiana, the South Branch of the National University of Life and Environmental Sciences of Ukraine «Crimean Agrotechnological University», Ukraine, e-mail: to156119@mail.ru. Salomatin Valeriy, the South Branch of the National University of Life and Environmental Sciences of Ukraine «Crimean Agrotechnological University», Ukraine, e-mail: maksota@mail.ru

УДК 004.056

Замула А. А., генераторы псевдослучайных чисел, основанные на дискретном логарифме

Семченко д. А.

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

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

1. Введение

Задача дискретного логарифмирования является одной из ключевых задач криптографии с открытым ключом. Она опирается на высокую вычислительною сложность обращения числовых функций. Операция дискретного логарифмирования является обратной к степенной функции и принадлежит к классу NP задач. Возможность эффективного решения задачи вычисления дискретного логарифма связана с квантовыми вычислениями. Теоретически доказано, что, используя их, дискретный логарифм может быть вычислен за полиномиальное время. Классическими криптографическими схемами, базирующимися на сложности задачи дискретного логарифмирования, являются: схема генерации общего ключа Диффи-Хеллмана, схема электронной подписи Эль-Гамаля, криптосистема Мэсси-Омуры для передачи сообщений.

Целью статьи является анализ существующей реализации генератора псевдослучайных чисел Сундарама-Пателя, основанного на сложности вычисления дискретного логарифма. На основании приведенных результатов строится итеративный генератор. Приводится сравнительный анализ такого генератора с генератором Сундарама-Пателя и генератором Блюма. На основании результатов, полученных при сравнительном анализе, делаются выводы о криптографической стойкости рассмотренных генераторов.

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

Пусть Xn, У„ два случайных распределения вероятностей на множестве {0,1}”, где {0,1}” множество

строк длиной n бит. В дальнейшем будем обозначать х ^ Xn как выбор элемента x из {0,1}n в соответствии с распределением Xn.

Пусть Д(п) является ограничением для статистического расстояния ^ |ProbXn [х]-Probyn [х]| между Xn

xe{0.1}n

и Yn, то есть: ^ |ProbXn [х]-ProbYn [х]|<Д(п). При этом

ХЕ{0.1)п

Xn и Yn есть статистически неразличимыми, если для каждого полинома P( ) и для достаточно большого n

1

будет верно выражение Д(п) < р

Пусть D — недетерминированная машина Тьюринга [1], тогда обозначим Prob[x^Xn;D(x) = 1 как 8D,Xn, и Pr ob [ y ^ Xy; D(y) = 1] как 8DYn. Если для любой недетерминированной D полиномиального времени, для каждого полинома P(), при достаточно большом n

выполняется неравенство |8DX -8D Y I < 1 , тогда Xn

1 ’ n ’ n1 P(n)

и Yn вычислительно неразличимы.

Пусть Gn — криптографически стойкий генератор псевдослучайных бит, если функция Gn может быть вычислена за полиномиальное время и два семейства распределения вероятностей Xn и Yn вычислительно неразличимы, где Gn индуцирует семейство распределений вероятностей Xn.

Инициализирующее значение генератора — определим как seed [1].

Пусть An некоторое семейство множеств таких, что для каждого n выполняется условие 2n-1 < |An| < 2n (то

С

28

ТЕХНОЛОГИЧЕСКИЙ АУДИТ И РЕЗЕРВЫ ПРОИЗВОДСТВА — № 5/1(13], 2013, © Замула А. А., Семченко Д. А.

J

есть нам необходимо n бит, чтобы описать элементы из An). Обозначим Un как равномерное распределение над An. Также пусть kn последовательность чисел, таких, что для каждого n, kn < n.

Рассмотрим генератор AGn :{0,1}k ^ An элементов произвольного множества An, где AGn генерирует семейство распределения вероятностей над An следующим образом: ProbAGn [у] = Prob[у = AGn(s);s ^ Rkn ].

Пусть p — простое число. Обозначим n длину двоичного представления числа p. Множество Zp = {x :1 < x < p -1} является циклической группой по умножению mod p. Пусть g генератор элементов из Zp. Таким образом, функция f: Zp-1 ^ Zp, f (x) = gx mod p является перестановкой. Функция, обратная f (функция дискретного логарифма) предположительно трудно вычисляемая. Наиболее известным методом вычисления дискретного логарифма является так называемый метод вычисления индексов [1], вычислительная сложность метода экспоненциально n.

Одной из важных задач вычисления дискретного логарифма является ускорение вычисления функции f (x) = gx. Одним из возможных способов достижения этого, может быть ограничение его входных значений только небольшими величинами x.

Пусть с число, которое зависит от n (c = c(n)). Предположим, что даны y = gx modp, где x < 2с. Вычисление дискретного логарифма от у является сложным даже, если известно, что x < 2с. Время выполнения, необходимое для вычисления дискретного логарифма, при использовании метода вычисления индексов, зависит только от размера n всей группы. В зависимости от размера с различные методы могут быть более эффективными. Так называемые, baby-step giant-step алгоритма Shanks или р -Полларда [2] могут рассчитать дискретный логарифм от у за время O(2c/2).

Таким образом, если обозначить с = rn(log n), то не существует известных алгоритмов способных вычислить дискретный логарифм от у = gx mod p, где x < 2с, за полиномиальное время. Предположение о том, что такого алгоритма не существует, называется предположением

о дискретном логарифме с короткими с бит экспонентами (с - DLSE ).

Pr

P (n)'

Рассмотрим функцию f(x) = gx modp как однонаправленную. При этом легко прогнозировать последний значащий бит из х eZp-1 посредством проверки: является ли у квадратичным вычетом или нет на множестве Z'p (существует тест полиномиальной сложности).

Булевой предикат П называется «трудным» [4] для односторонней функции f, если любой алгоритм A, который при данной функции у = f(х) прогнозирует

1

П(х) с вероятностью существенно выше, чем 2 и может

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

П : Zp-1 ^ {0,1},

p-1

(2)

(З)

В [4] показано, что предикат (2), (3) является «трудным», для функции дискретного логарифма, а в [5] доказано, что каждый бит двоичного представления числа x (за исключением наименьшего значащего) является «трудным» для функции дискретного логарифма.

2. Генератор Сундарама-Пателя

Пусть p будет n -битное простое число, такое что p = 3mod4 и g генератор множества Z'p. Обозначим с как величину, которая растет быстрее чем log n, то есть с = rn(logn).

В [6] показано, что при с - DLSE предположении, биты x2,x3,...,xn_c все одновременно «трудные» для функции f(x) = gx mod p.

Теорема 1. Для достаточной большого n, если p есть n-битное простое число, такое что p = 3mod4 и если предположение с - DLSE верно, то для каждого числа j, которое удовлетворяет условию 2 < j < n - с, для каждой машины Тьюринга D полиномиального времени, для каждого многочлена P( ) и для достаточно большого n верно выражение (4) [6]

1

Pr ob[’ ^ Zp-1 ; D( g’, ’2,..., ’j-1 ) = ’j ] - 2

1

P(n)'

(4)

(1)

Предположение с - DLSE: Пусть PRIMES(s) множество n разрядных простых чисел и пусть величина с, которая растет быстрее, чем величина log n (т. е. с = rn(log n)). Для каждой вероятностной машины Тьюринга D полиномиального времени, для любого многочлена P() и для достаточно больших n будет верно неравенство (1).

Это предположение поддерживается результатом Шнорра [3], который доказывает, что нет общего алгоритма, способного рассчитать с битные дискретные логарифмы за менее чем 2с/2 шагов.

Учитывая современные вычислительные мощности, а также алгоритмы расчета дискретного логарифма, оказывается достаточным установить n = 1024, а с = 160, то есть, понадобится не менее 2 80 шагов для расчета такого дискретного логарифма.

Рассмотрим генератор Сундарама-Пателя. Пусть p будет n битным простым числом, таким что p = 3mod4 и c = ra(logn). Рассмотрим следующую функцию, которую определим как PSG. (генератор Сундарама-Пате-ля) (5), (6):

PSG„c : Zp-1 ^ Zp x {0,1}n-c-1, PSGn,c ( ’ ) = (g’ mod p, ’2,..., ’n-c ).

(5)

(6)

Таким образом, подавая на вход случайный seed x eZp-1, генератор формирует gx и n - с -1 последовательных бит числа x, начиная со второго наименее значащего бита.

При условии верности гипотезы с - DLSE, PSGnfi является генератором, обладающим высокой криптографической стойкостью на множестве Zp х {0,1}”-с-1 [7]. Если Un равномерное распределение на множестве Z'p, тогда распределение индуцированное PSGnfi над множеством Zp х {0,1}”-с-1, вычислительно неразличимо от распределе-

1

TECHNOLOGY AUDiT AND PRODUCTiON RESERVES — № 5/1(13), 2013

29--------------J

ния ип х Rn-c-1. Другими словами, для вероятностной машины Тьюринга D полиномиального времени, возможно определить 8Вщп = Рг оЬ[у ^ Z'p; г ^ Rn_c_1;D(у, г) = 1] и 8п^,,с = РгоЬ[х ^ Zp-l;D(PSGne(х)) = 1].

Тогда, для любого полинома Р( ) и для достаточно большого п справедливо неравенство (7):

|8ВЦ% - 8Б^п,с | ^ р(П). (7)

Указанное позволяет получить генератор, обладающий высокой криптографической стойкостью.

Далее предположим, что р является п битным простым числом, таким что р = 3mod4 и с = ю(^ п) [8]. Пусть g генератор на множестве 2'р, а g2n-c modр обозначим как §. Если 5 является целым числом, то і-тый бит его двоичного представления обозначим ^.

Рассмотрим следующую функцию: RGnc: Zp-1 ^ Z'p,

л (ь&о 2п-с)

RGn,c(g) = g gSl mod p. Таким образом, рассматриваем возведение в степень по модулю на множестве Z'p с базой g, но только после обнуления битов входного значения 5 в позициях 2,..., п - с.

Функция RG генерирует распределение на множестве 2'^,. Распределение вероятности на множестве Zp имеет вид (8):

Рг obRGn^ [ у] = Рг оЬ[ у = RGnc (з);з ^ Zp_l]. (8)

Приводимая ниже лемма показывает, что распределение RGnf является вычислительно неразличимым от равномерного распределения на множестве Z'p если с - DLSE предположение верно.

Лемма 1. Пусть p п -битное простое такое что p = 3mod4 и пусть ип равномерное распределение на множестве Z'p. Если с - DLSE предположение верно, тогда два распределения ип и RGnc являются вычислительно неразличимы.

Доказательство леммы 1 осуществляется от противного. Если RGnf можно отличить от ип, тогда модифицированный генератор Сундарама-Пателя PSG не является безопасным. Любой значимый отличительный признак между RGnf и равномерным распределением на множестве Z'p может быть преобразован в отличительный признак для PSGn,c. Что противоречит с - DLSE предположению.

Предположим, что существует D машина Тьюринга («отличитель»), которая способна различить распределения и многочлен Р( ) такой, что для бесконечно больших п, имеем (9):

8Би, -8^ р(п), (9)

где

8 Би, = Рг оЬ[ х ^ Zp; Б( p, g, х, с) = 1],

8пяс„,с = РгоЬ[з ^Zp_1;Б^,g,RGn,c,(5),с) = 1}

Пусть Б машина Тьюринга («отличитель»), которая имеет возможность провести успешный криптоанализ PSG.

Для того чтобы провести успешный криптоанализ PSGnc на основании входных данных (p,g, у, г, с) таких, что у єZp и г є{0,1}п-с-1 следует определить, соответ-

ствуют ли эти данные распределению Un x Rn-c-1 или PSGnf выходов генератора PSGnc.

Предположим, что (y, r) был составлен в соответствии с PSGnc(x) для некоторого случайного x eZp-1. Тогда w = gu где и = 2n-c ( xdiv2n-c ) + x1mod( p -1) [9]. То есть, дискретный логарифм от w по основанию g имеет n - c -1 бит в позициях 2,..., n - c равные 0.

Таким образом, как только установим, что g = g2'~с,

л xdiv 2n-c

получим w = g gxi mod p, т. е. w = RGn>c(x). Тогда, ес-

ли (y, r) составлен согласно PSGn, то w имеет такое же распределение что и RGn.

С другой стороны если (y, r) был составлен из y случайно выбранного из Zp иг случайно выбранного из {0,1}n-c-1, то w является случайным элементом на множестве Zp.

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

Таким образом, D будет угадывать правильное распределение с такой же точностью, как D. Указанное противоречит безопасности PSG генератора.

3. Итеративный генератор

Пусть итеративный генератор получает в качестве инициализирующего значения случайный элемент s из множества Zp-1 и после этого многократно применяет функцию RG к нему Псевдослучайные биты, выводимые генератором, это те биты которые проигнорированы функцией RG. Результат функции RG будет служить новым входным значением для следующей итерации.

Алгоритм IRGnc (итеративный RG генератор) работает следующим образом. Начиная с x(0) eR Zp-1 устанавливает x(i) равным RGn,c(x(i-1)). Обозначим r(i) как x2!), x(!),..., xn-C. Выход генератора будет r(0), r(1),..., r(k), где k это количество итераций, выбранное таким образом, что k = poly(n) и k(n - c -1) > n.

Теорема 2. При условии c - DLSE предположении, IRGnc является безопасным генератором псевдослучайных бит.

Доказательство. Сначала отметим, что для достаточно большого n, r(0) является практически равномерно распределенной (n - c -1) битной строкой, так как r(0) составлена из битов в позициях 2,3,..., n - c случайного элемента из множества Zp-1 и соответственно их отклонение ограничено значением 2-c (то есть статистическое расстояние между распределением r(0) и равномерным распределением на множестве {0,1}n-c-1 ограничено 2-c ) [10].

Из леммы 1 известно, что все значения x(i) следуют распределению, которое вычислительно неразличимо от равномерного на множестве Z'p. Согласно приведенному выше аргументу следует, что все r(i) должны следовать распределению, которое вычислительно неразличимо от Rn-c-1.

Более формально, доказательство следует из комбинированного аргумента. Если есть «отличитель» D между распределением, сгенерированным IRGnc и распределением Rk( n-c-1), то для определенного индекса i должен быть отличитель D1 между распределением, которому следует r(i) и равномерному распределению Rn-c-1. Из этого следует, что возможно различить распределение которому следует x(i) и равномерное распределение на множестве Z'p. Это противоречит лемме 1 и, особенно, предположению c - DLSE.

технологический аудит и резервы производства — № 5/1(13), 2013

4. Анализ эффективности итеративного генератора

Итеративный генератор формирует n - с -1 псевдослучайные биты за счет возведения в степень по модулю со случайной с -битной экспонентой или осуществляет примерно 1,5 с умножений по модулю на множестве Z'p. В сравнении с генератором Сундарама-Пателя, где такое же количество псевдослучайных бит потребовало бы 1,5 n умножений по модулю.

Если предположим что Теорема 1 не верна, то есть для некоторых j таких что 2 < j < n - с существует алгоритм А , который выполняется за время T(n), и многочлен P() такой что (10):

11

Prob[x ^ Zp-1;А(gx,x2,...,xj-1) = xj] > ^ + p^, (10)

тогда имеем алгоритм Iа позволяющий опровергнуть с - DLSE, который выполняется за время O((n - с)сР2(п)Т (n)), если 2 < j < n - с - log P(n) и за время O((n - с)сР3(п)Т(n), если n - с - log P(n) < j < n - с.

Генератор Блюма осуществляет операции многократного возведения в степень по модулю N случайного seed на множестве Z*, где N — есть целое число Блюма ( N = PQ с P, Q простыми числами одного размера и сравнимыми с 3mod4 ). На каждой итерации генератор выдает наименьший значащий бит текущего значения. Скорость такого генератора 1 бит за одно возведение в квадрат.

5. Выводы

Задачи дискретного логарифма относятся к классу трудно вычисляемых задач даже при небольших показателях экспоненты. Существуют другие криптографические примитивы, которые могут выиграть в эффективности и стойкости, например,: построение псевдослучайных функций, основанных на DDH проблеме (также еще известны проблемы: CDH, XLP, DDLP, DLP(Inn(G)), и др.). Наряду с использованным в статье с - DLSE предположением существует ряд других, таких как: TDH, DLSE и д.р. Предположение с - DLSE не исследовано в достаточной степени, чтобы можно было на его основе приводить неопровержимые доказательства криптографической стойкости генератора.

Литература

1. Blum, L. A Simple Unpredictable Pseudo-Random Number Generator [Text] / L. Blum, M. Blum and M. Shub // SIAM J. Computing. — May 1986. — № 15(2).

2. Шнаер, Б. Прикладная криптография. Протоколы, алгоритмы и исходные тексты на языке С [Текст] / Б. Шнаер. — 2-е изд. — 610 с.

3. Schnorr, C. Security of Allmost ALL Discrete Log Bits [Electronic recource] / C. Schnorr // Electronic Colloquium on Computational Complexity. Report TR98-033. — Available at http://www.eccc.uni-trier.de/eccc/.

4. Blum, M. How to Generate Cryptographically Strong Sequences of Pseudo-Random Bits [Text] / M. Blum and S. Micali // SIAM J.Computing. — November 1984. — № 13(4).

5. Hastad, J. The Security of Individual RSA Bits [Text] / J. Has-tad and M. NAaslund // IEEE FOCS, 1998.

6. Patel, S. An Efficient Discrete Log Pseudo Random Generator [Text] / S. Patel and G. Sundaram // CRYPTO'98, LNCS 1462. — 1998.

7. Hastad, J. The Discrete Logarithm Modulo a Composite Hides O(n) Bits [Text] / J. Hastad, A. Schrift and A. Shamir // JCSS. — 1993. — № 47.

8. Long, D. The Discrete Log Hides O(log n) Bits [Text] / D. Long and A. Wigderson // SIAM J. Computing. —1988. — № 17.

9. Pollard, J. Monte-Carlo Methods for Index Computation (mod p) [Text] / J. Pollard // Mathematics of Computation. — 1978. — № 32(143).

10. Yao, A. Theory and Applications of Trapdoor Functions [Text] / A. Yao // IEEE FOCS, 1982.

ГЕНЕРАТОРИ ПСЕВДОВИПАДКОВИХ ПОСЛІДОВНОСТЕЙ,

ЩО БАЗУЮТЬСЯ НА ДИСКРЕТНОМУ ЛОГАРИФМУ

В роботі представлена математична модель генератора псев-довипадкових чисел, розглядається проблематика вирішення задач дискретного логарифмування. Наведений аналіз алгоритмів генерації псевдовипадкових чисел, що базуються на вирішенні задачі дискретного логарифму. В якості прикладу розглядається генератор Сундарама-Пателя, наводяться якісні та кількісні характеристики стійкості даного генератора до основних видів атак.

Ключові слова: генератор, дискретний логарифм, псевдо-випадкове число, крипостійкість, алгоритм, біт.

Замула Александр Андреевич, кандидат технических наук, доцент, профессор кафедры безопасности информационных технологий, Харьковский национальный университет радиоэлектроники, Украина, e-mail: bit@kture.kharkov.ua.

Семченко Денис Александрович, аспирант, кафедра безопасности информационных технологий, Харьковский национальный университет радиоэлектроники, Украина, e-mail: bit@kture.kharkov.ua.

Замула Олександр Андрійович, кандидат технічних наук, доцент, професор кафедри безпеки інформаційних технологій, Харківський національний универсітет радиоелектроніки, Україна. Семченко Денис Олександрович, аспірант, кафедра безпеки інформаційних технологій, Харківський національний универсітет радиоелектроніки, Україна.

Zamula Alexandr, Kharkov National University of Radio Electronics, Ukraine, e-mail: bit@kture.kharkov.ua.

Semchenko Denis, Kharkov National University of Radio Electronics, Ukraine, e-mail: bit@kture.kharkov.ua

TECHNOLOGY AUDiT AND PRODUCTiON RESERVES — № 5/1(13], 2013

31 J

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