Разработка генератора псевдослучайных чисел на точках эллиптической кривой

advertisement
Разработка генератора псевдослучайных чисел на точках эллиптической кривой
М.Г. Бабенко, Н.Н. Вершкова, Н.Н. Кучеров, В.А. Кучуков
Введение. Постановка задачи
Псевдослучайные последовательности используются для генерации секретных ключей
шифрования, для вычисления цифровой подписи и для работы многих алгоритмов
аутентификации. Одним из инструментов построения генераторов псевдослучайных чисел
являются неприводимые многочлены над простым полем и эллиптическая кривая над
конечным полем.
Поставим задачу проанализировать существующие генераторы псевдослучайных
чисел на точках эллиптической кривой и построить генератор на эллиптической кривой с
использование неприводимых кубических многочленов F c, x   x3  cx 2  c p x  1 над Fp2 .
Разобьем поставленную задачу на подзадачи.
1.
Анализ генераторов псевдослучайных чисел, построенных на точках
эллиптической кривой.
2.
Анализ
алгоритмов
построения
неприводимых
многочленов
3
2
p
F c, x   x  cx  c x  1 над Fp2 и исследование свойств его корней.
3.
Алгоритм генерации псевдослучайных чисел на точках эллиптической кривой с
использованием неприводимого многочлена F c, x   x3  cx 2  c p x  1 над Fp2 .
Анализ генераторов псевдослучайных чисел, построенных на точках эллиптической
кривой
Генератор псевдослучайных последовательностей должен удовлетворять следующим
двум требованиям, предложенным в работе[1]:
1.
Статистической безопасности: последовательность, созданная генератором
псевдослучайных чисел, должна статистически ничем не отличаться от абсолютно случайной
последовательности.
2.
Криптографической безопасности: зная k -битов последовательности, возможно
предсказать следующий или k  1 -бит.
Эллиптическая кривая широко используется для построения криптосистем [2]. Одним
из инструментов построения генераторов псевдослучайных последовательностей является
эллиптическая кривая над конечным полем.
Эллиптическая кривая E над простым полем Fq , где q  3 , задается уравнением в
форме Вейерштрасса E Fq : y 2  x3  Ax  B , где 4 A3  27 B2  0 .
В работе [3] Hallgren S. предложил построение генераторов псевдослучайных чисел,
которое называется арифметической прогрессией на E с начальным членом P0  E ,
разностью G  E и которое задается следующим рекуррентным соотношением:
Pn  Pn 1  G  nG  P0 , n  1, 2, 3,..., ,
(1)
где символом  обозначена групповая операция в E Fp  .
Выходными значениями генератора (1) являются либо точки Pn , либо только их
абсциссы xn , либо только их ординаты y n .
Следует также отметить статистическую безопасность генератора псевдослучайных
чисел, построенного на базе арифметической прогрессии на эллиптической кривой. Она
обладает хорошими статистическими свойствами [4], а именно равномерностью
распределения элементов арифметической прогрессии для большого t . Порядок величины
 p log 2 p 
.


t


отклонения от равномерности равен O
Криптографическая безопасность арифметической прогрессии была исследована
Gutierrez J. и Ibeas A. в работе [5]. В ней описан эффективный алгоритм нахождения P0 для
генераторов, построенных на базе арифметической прогрессий на эллиптической кривой,если
известна разность G и старшие биты Pn и Pn 1 . Однако при таком подходе алгоритм не
обладает криптографической безопасностью.
Анализ алгоритмов построения неприводимых многочленов F c, x   x3  cx 2  c p x  1 над
Fp2 и исследование свойств его корней
Для построения псевдослучайных чисел воспользуемся неприводимым многочленом
третьей степени F c, x   x3  cx 2  c p x  1 над Fp2 . Корни h многочлена F c, x  обладают
следующими замечательными свойствами:
2
1. h p  p 1  1
2. h –образующий элемент подгруппы Fp*6 порядка p 2  p  1
Для построения генератора псевдослучайных чисел нужно уметь находить
неприводимые многочлены F c, x   x3  cx 2  c p x  1 , причем вероятность того, что F c, x 
1
окажется неприводимым многочленом при случайном выборе c из Fp 2 , равна . В работах
3
[6-8] приведено несколько алгоритмических тестов F c, x  на неприводимость. Самый
быстрый алгоритм работает за 1.8 log 2 p умножений в Fp [8], но при использовании p
размером в 170 бит для вычисления потребуется 306 умножений с числами длиной в 170 бит,
что приводит к большим временным затратам и затрудняет использование этого алгоритма. В
работе [9] нами был предложен эффективный способ построения неприводимых многочленов
F c, x   x3  cx 2  c p x  1 над Fp2 , основанный на нахождении Gx  x3  atx2  bx  a неприводимого многочлена в Fp x , где t - квадратичный невычет в Fp* , и следующей
теореме.
Теорема 1. Пусть t - квадратичный невычет по модулю p и Gx  x3  atx2  bx  a неприводимый многочлен в Fp x . Тогда F c, x  x3  cx2  c p x 1 , где c 
неприводим в Fp x  .
3  tb  4at
1  tb
и t 2 ,
Алгоритм генерации псевдослучайных чисел на точках эллиптической кривой с
использованием неприводимого многочлена F c, x   x3  cx 2  c p x  1 над Fp2
Так
как
корень
неприводимого
многочлена
третьей
степени
h
2
F c, x   x3  cx 2  c p x  1 над Fp2 обладает свойством h p  p 1  1 и является порождающим
элементом подгруппы в Fp*6 порядка p 2  p  1 , то его элементы можно представить в виде
ai , bi , ci , di , ei , fi  , где
hi  ai , bi , ci , d i , ei , f i  и ai , bi , ci , d i , ei , f i  Fp .
Выберем шесть точек на эллиптической кривой P1 , P2 , P3 , P4 , P5 , P6  E Fq  . Тогда
последовательность
будет
генерироваться
по
следующей
формуле:
Rn  an P1  bn P2  cn P3  d n P4  en P5  f n P6 .
Выходными значениями генератора являются либо точки Rn , либо только их
абсциссы xn , либо только их ординаты y n .
Для обеспечения криптографической безопасности эллиптическая кривая должна
удовлетворять следующим требованиям международного стандарта ISO/IEC CD 15946-2:
1. q  2256
2. # E ( Fq )  hn , где n – простое число, n  4 q
 ( q  1) 2 
3. h  
.
n


4. должно выполняться MOV условие с целью исключения криптографически слабых
кривых q k  1mod n , k  1, 2,3,..., B , B  20 .
Условие 4 позволяет добиться того, что нельзя эффективно применить метод
дискретного логарифмирования из работы [10], а условие 2 обеспечивает неприменимость
методом спуска Вейля [11] к взлому криптосистемы.
Результат компьютерного моделирования разработанной последовательности
псевдослучайных чисел над полями размерностью 521 бит приведен в таблице 1.
Таблица № 1
Сравнительная оценка временных показателей генераторов псевдослучайных чисел при
использовании различных систем счисления. (Время в миллисекундах)
№
Позиционная система счисления
СОК
1
13170,07
989,09
Заключение
1. Анализируя полученные результаты, можно сделать вывод о том, что преимущество
в скорости для алгоритма псевдослучайных чисел, построенного с использованием
эллиптической
кривой
и
неприводимого
многочлена
третьей
степени
3
2
p
F c, x   x  cx  c x  1 над Fp2 , вычисления в которой производятся в системе остаточных
классов с использованием методов из работы [12], составляет 133% относительно метода, где
вычисления производятся в позиционной системе счисления.
2. Работа выполнена при поддержке гранта ФЦП 14.В37.21.1128
Литература
1. Рябко Б. Я., Фионов А. Н. Криптографические методы защиты информации: Учебное
пособие для вузов. – М.: Горячая линия–Телеком, 2005. – 229 с.
2. Koblitz N. Elliptic curve cryptosystems // Mathematics of Computation, 1987. Vol. 48. No.
177, P. 203-209.
3. Hallgren S. Linear congruential generators over elliptic curve. // Cornegie Mellon Univ.,
1994, CS-94-M3, P. 1-10.
4. Nahassni E.E., Shparlinski I. On the uniformity of distribution of congruential generators
over elliptic curves. // In: Sequences and their applications. – London: Springer, 2002, P. 257-261.
5. Gutierrez J., Ibeas A. Inferring sequences produced by a linear congruential generator on
elliptic curves missing high-order bits // Designs, Codes and Cryptography, 41, 2007, P. 199-212.
6. Lenstra A.K., Verheul E.R. The XTR public key system // Proceedings of Crypto 2000,
LNCS 1880, Springer-Verlag, 2000 – pp. 1-19
7. Lenstra A.K., Verheul E.R. Key improvements to XTR // Proceedings of Asiacrypt 2000,
LNCS 1976, Springer-Verlag, 2000 – pp. 220-233
8. Lenstra A.K., Verheul E.R. Fast irreducibility and subgroup membership testing in XTR //
Proceedings of PKC 2001, LNCS 1992,l Springer-Verlag, 2001 – pp. 73-86
9. Бабенко М.Г., Бабенко Н.А.О выборе неприводимых многочленов для криптосистемы
XTR. Проблемы математики и радиофизики в области информационной безопасности: I
Всероссийская конференция, г. Ставрополь, 17-19 октября 2012 г. Северо-Кавказский
федеральный университет. – Ставрополь: Издательско-информационный центр «Фабула»,
2012. – С.
10. Menezes A., Okamoto T., Vanstone S., Reducing elliptic curve logarithms to logarithms in a
finite field // IEEE Transactions on Information Theory 39 – 1993. P. 1639-1660
11. Gordon M. D. A Survey of Fast Exponentiation Methods // Journal of Algorithms 27. –
1998. P. 129-146..
12. Червяков Н. И. Методы, алгоритмы и техническая реализация основных проблемных
операций, выполняемых в системе остаточных классов // Инфокоммуникационные
технологии. – №4, 2011. – С. 4-12.
Download