Научная статья на тему 'Эффективная реализация операции возведения в степень больших целых чисел в криптографических системах методом предвычислений по фиксированному основанию'

Эффективная реализация операции возведения в степень больших целых чисел в криптографических системах методом предвычислений по фиксированному основанию Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Горбенко Иван Дмитриевич, Лавриненко Дмитрий Иванович

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

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

Effective implementation of large integers exponentation in cryptographic systems by a precomputation method on the fixed basis

The algorithms of modular exponentation of large integers are considered. The algorithms of exponentation with the use of precomputations on the fixed basis are circumscribed. The outcomes of application of data of algorithms for generation and check of a digital subscript by ElGamal and generation of session keys by the Diffie-Hellman scheme are reduced. The unsolved problems and paths of further researches in a developed direction are formulated.

Текст научной работы на тему «Эффективная реализация операции возведения в степень больших целых чисел в криптографических системах методом предвычислений по фиксированному основанию»

о 10 20 ЗО 40 F

Af = 5 ; Afi = 5 ; f = 30 . Значения рассчитанных коэффициентов АР формирующих фильтров составляли:

Ф 31 = 0,326; Ф 32 = -0,280; Ф

3,3

0,624.

Анализ графиков показывает, что отклонения между задаваемой СПМ и его оценкой незначительны. Данные показатели являются приемлемыми для большинства инженерных приложений. Предложенный метод генерации имитационных коррелированных случайных процессов превосходит существующие аналоги [4].

Литература: 1.Бокс Дж., Дженкинс Г. Анализ временных рядов: Пер.с англ. М.: Мир. 1974. Выл. 1. 406 с. 2. Марпл.мл. С.Л. Цифровой спектральный анализ и его приложения: Пер. с англ.М.: Мир, 1990. 584 с. 3. Кармалита В.А. Цифровая обработка случайных колебаний. М: Маши-носроение,1986. 80 с. 4. Быков В.В. Цифровое моделиро-

УДК 519.713

ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ ОПЕРАЦИИ ВОЗВЕДЕНИЯ В СТЕПЕНЬ БОЛЬШИХ ЦЕЛЫХ ЧИСЕЛ В КРИПТОГРАФИЧЕСКИХ СИСТЕМАХ МЕТОДОМ ПРЕДВЫЧИСЛЕНИЙ ПО ФИКСИРОВАННОМУ ОСНОВАНИЮ

ГОРБЕНКО И.Д., ЛАВРИНЕНКО Д.И. 1

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

1. Введение

В ряде несимметричных криптографических алгоритмов [ 1], а также в алгоритмах и средствах криптоанализа такого класса [2] арифметические операции выполняются над числами х, разрядность которых Lx значительно превышает разрядную сетку Lp современных вычислительных средств. Такие числа

вание в статистической радиотехнике. М: Сов. радио, 1971. 326 с.

Поступила в редколлегию 11.10.99

Рецензент: д-р техн. наук Кравченко Н.И.

Тихонов Вячеслав Анатольевич, канд. техн. наук, доцент кафедры РТС ХТУРЭ. Научные интересы: радиолокация, распознавание образов, статистические модели. Адрес: Украина, 61078, Харьков, ул. Каразина, 7/9, кв. 9, тел. 40-95-87, 47-03-91.

Русановский Дмитрий Евгеньевич, студент гр. АРТ-95-1

ХТУРЭ. Научные интересы: цифровая обработка речи — кодирование, сжатие речи, статистическое моделирование. Хобби: программирование, Web-дизайн. Адрес: Украина, 61118, г.Южный, ул. Освобождения-2.

e-mail: d_rusanovsky@aport.ru

Тихонов Дмитрий Вячеславович, студент гр. ИСПР-98-1

ХТУРЭ. Научные интересы: искусственный интеллект, распознавание речи, программирование. Адрес: Украина, 61078, Харьков, ул. Каразина 7/9, кв. 9, тел. 47-03-91.

известны как числа многократной точности. Основные операции, которые выполняются над ними, это сложение, вычитание, умножение, деление и возведение в степень по модулю N. Проведенные исследования показали, что наиболее часто в криптопреобразованиях используется операция возведения в степень по модулю. Вычислительная сложность данной операции носит полиномиальный характер, причём порядок и коэффициенты полиномов, описывающих вычислительную сложность, зависят от применяемых математических методов и алгоритмов умножения, деления и возведения в степень по модулю. Достаточно подробно методы и алгоритмы возведения в степень по модулю рассмотрены в [3].

Применение при выполнении операции умножения по модулю преобразования Монтгомери или преобразования Барретта [3], а также использование при возведении в степень по модулю блочного метода [4] позволили уменьшить вычислительную сложность этих операций. Такое уменьшение эквивалентно повышению скорости преобразований. Несмотря на определённое уменьшение вычислительной сложности операции возведения в степень, её величина остаётся всё ещё значительной, а выполнение требований по увеличению скорости криптографических преобразований — проблематичным. В связи с этим дальнейшее уменьшение вычислительной сложности операции возведения в степень по модулю чисел большой разрядности остаётся актуальной задачей.

РИ, 1999, № 4

85

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

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

2. Анализ основных методов

В общей постановке задачу формируем следующим образом. Пусть g — элемент группы Z/qZ, где q — большое целое. Необходимо вычислить g"(modA), где n — также большое и равномерно распределено на {0,.. .,N}, с минимальной вычислительной сложностью, применяя для этого методы пространственновременной минимизации вычислительной сложности операции возведения в степень по модулю.

Рассмотрим и проанализируем основные методы выполнения таких вычислений.

Применяя схему квадрата и умножения, использующую двоичное представление n, gn(mod N) можно вычислить в среднем за 3/2 • |"log2 и] умножений и в худшем случае — за 2 -|"log2 и] - 2 умножений [3].

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

Гlog2 и] -1 + (2k -1) +Гlog2 n/k~\

умножений. Здесь к — длина блока (окна) в битах. Минимум выражения достигается для Lx=512 битов при к=5, для Lx=1024 битов при к=6. Порядок расчёта оптимального значения к изложен в [4].

Рассмотренные выше методы являются универсальными в том смысле, что не предъявляют требований к своим входным данным. Показано [3, 7], что наложение определённых ограничений снижает количество степеней свободы и, как следствие, уменьшает вычислительную сложность операции возведения в степень по модулю. В качестве такого ограничения примем требование фиксированного основания g.

Относительно простым методом такого уменьшения вычислительной сложности является вычисление g посредством представления n в виде 21,

i = 1,|" log2 п\ - 1 [3]. Вычислив члены ряда

jg2 Iі = 1,...,|"log2 П\ -1|

и перемножив те его элементы, разряды которых в двоичном представлении n равны 1, получим значение gn. Данный метод позволяет вычислить gn(mod N) за v(n)-1 умножений, где v(n) — число единиц в двоичном представлении n, используя память |"log2 и] значений [3].

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

г 0 гт 4

и сохранять значения g g , где х — основание

системы счисления представления n, а m равно |"logг и]. Если найти разложение

т—1

и аіГ1

і=1

где 0<аг- <х-1 для 0<i<m, то можно также определить

h 1

g" = П cd , где cd = П gr . (1)

d=1 ai = d

Анализ этого алгоритма показывает, что вычисление g”(mod N можно выполнить за т + O(h ■ log h) умножений. При этом за счёт пространственной сложности временную сложность метода можно уменьшить. Одним из алгоритмов решения этой задачи является следующий [7]:

b = 1;

r = 1;

for (d = h; d і 1; d—)

{

for (г'Ц- = d )

b = b • gx1; r = r ■ b ;

}

return r.

После выполнения цикла i раз получим b = ch ■ ch-1 •.. •ch-i+1 и r = ch ■ ch_11". •ch-i+1. П°сёе вып°л-

hd

нения цикла h раз вычислим r = П cd [7].

d=1

Определим временную вычислительную сложность алгоритма (для случая n^0). Так как в показателе степени m цифр по основанию х, то вычисление

i

b = b • gr выполняется самое большое m раз. Учиты-

вая то, что эта строка выполняется только для аг-^0,

получим среднее количество умножений в этой

h г -1

строке как — • т или -

• I"logг и] . Строка r = r • b

выполняется точно h или г -1 раз. Таким образом, суммарная временная вычислительная сложность этого алгоритма составит

Ifge = г -1 + -\!°gг А (2)

модульных умножений. Оценка пространственной вычислительной сложности этого алгоритма определяется легко—она составляет mили flogг и] значений.

86

РИ, 1999, № 4

В операции возведения в степень по модулю используются модульные вычисления. Наименьшей вычислительной сложностью, как правило, обладают методы Монтгомери и Барретта [3]. Выбор метода модульного приведения определяется проектировщиком криптосистемы, поскольку на разных ЭВМ эти приведения могут иметь различную вычислительную сложность. Следует лишь заметить, что для варианта с применением метода Барретта первые

І

умножения в строках b = b ■ gx и r = r ■ b можно заменить на операции присваивания, поскольку первоначальные значения r и b равны 1.

Операнды криптографических преобразований имеют, как правило, фиксированную длину 512 или 1024 бит [3]. Из выражения (2) следует, что вычислительная сложность зависит от основания х. Определим наиболее выгодное основание х для представления n. Для этого найдём минимум функции

/О ) = x -1 + Х-І •[logx n]

для Ln=512 бит и Ln=1024 бит, где x є N . Результаты исследований представлены на рис. 1 и 2. Как следует из рис. 1, для Ln=512 функция достигает минимума при х=26, а для Ln=1024 — при х=42. Приведенные кривые позволяют оценить проигрыш, если х выбирается без учёта требований минимизации вычислительной сложности.

Из приведенного выше вытекает необходимость решения задачи получения представления n по базе х. Для большого и равномерно распределенного на {0,...,Л} n и произвольного х можно использовать операции деления “длинного” числа на “короткое”. Для вычисления представления n по базе х потребуется не менее m операций [3]. Учитывая то, что операция деления имеет большую вычислительную сложность, чем операция модульного умножения [3 ], нахождение представления n по базе х будет вносить заметную долю в общую временную вычислительную сложность алгоритма. Но если х=2‘, то для определения представления n можно воспользоваться операциями сдвига, имеющими заметно меньшую вычислительную сложность. При Ln=512 бит, для которого оптимальным является х=26, значение х близко к 32=25. Поэтому можно принять х=32. Проведенный вычислительный эксперимент (табл.

Рис.1. Временная вычислительная сложность операции модульного возведения в степень в зависимости от основания представления экспоненты для Ln=512 бит

1) подтвердил обоснованность такого подхода (здесь и далее по тексту для тестирования использовался ПК с процессором Pentium-MMX 200MHz). При х=32 выигрыш по сравнению с х=26 достигается из-за применения операций сдвига, хотя х=32 и не является оптимальным значением.

Таблица 1

Основание представления n Время выполнения операции, с Количество предвычисленных значений

х = 26 0,0069 109

х = 32 0,0067 103

Результаты вычислительного эксперимента для Ln=1024 представлены в табл. 2. Минимальное время выполнения операции достигается также при х=32. При х=64 выигрыша по сравнению с х=42 почти нет.

Таблица 2

Основание представления n Время выполнения Количество предвычисленных значений

операции, с

х = 42 0,0446 190

х = 32 0,0429 205

х = 64 0,0444 171

Анализ результатов эксперимента показывает, что варианты с х=2‘ имеют меньшую временную вычислительную сложность. Но окончательный выбор варианта можно предоставить проектировщику криптоалгоритма. Это объясняется тем, что для варианта х=32 достигается минимальная временная вычислительная сложность, а для х=64 — пространственная вычислительная сложность.

3. Сравнение метода предвычислений с известными методами

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

Из табл. 3 следует, что метод с предвычислениями при Ln=512 даёт выигрыш в «3,8 раза, а при Ln=1024 — в «4,3 раза.

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

Рис.2. Временная вычислительная сложность операции модульного возведения в степень в зависимости от основания представления экспоненты для Ln=1024 бит

РИ, 1999, № 4

87

Таблица 3

Время выполнения операции, с

512 бит 1024 бит

Блочный метод по Монтгомери 0,0262 0,192

Метод с предвычислениями 0,0069 0,0446

В проверке цифровой подписи Эль-Гамаля [5] используется следующая схема вычислений:

а”1 • g2”2(modM). (3)

Она вычисляется за три операции: два модульных возведения в степень и модульное умножение. Эти операции можно совместить путем параллельного выполнения возведения в степень, используя следующий алгоритм:

b = 1;

r = 1;

for (d = h; d > 1; d—)

{

for (і\ац = d )

і

b = b ■ gix ;

for (a = d)

і

b = b ■ g2x ; r = r ■ b

}

return r.

Здесь

m — 1 m—1

”1 = E ацх1 , n2 =2 а2іХг . і=1 i=1

В данном алгоритме, в отличие от приведенного выше алгоритма возведения в степень по фиксированному основанию, для каждого основания g накопление компонент Сі (1) происходит в одной переменной b, что позволяет использовать в цикле только одну строку r = Г ■ b .

Пространственная вычислительная сложность для приведенного алгоритма будет вдвое больше по сравнению с нераспараллеленным и составит

П°ёх ”{] + ГlogХ ”2І

значений. Определим число умножений, выполняемых в алгоритме (для случая ”1 *0 и ”2 *0). Получим, что суммарное количество умножений в нем равно

х -1+2 • ^х^ Тlogx”|, (4)

где по сравнению с (2) в (4) удвоение второго члена сделано в связи с двумя возведениями в степень.

Применяя данную схему вместо классической для вычисления (3), получаем выигрыш в x операций модульного умножения. Это соответствует выигрышу в «20% для Ln=512 бит и «18,5% для Ln=1024 бит. Пространственная вычислительная сложность для

обоих вариантов алгоритма проверки цифровой подписи эквивалентна и равна

n°gх ”Л + ГlogХ ”2~|

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

Таблица 4

Время выполнения операции, с

512 бит 1024 бит

"Классическая" схема 0,010 0,033

Параллельный алгоритм 0,008 0,026

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

4. Заключение

Полученные результаты позволяют утверждать, что применение метода с предвычислениями по фиксированному основанию способно существенно (в 3-4 раза) уменьшить временную вычислительную сложность выработки и проверки цифровой подписи по Эль-Гамалю, а также выработки сеансовых ключей по схеме Диффи-Хеллмана. Однако данные методы не подходят для алгоритмов и схем, базирующихся на шифровании по RSA из-за невозможности наложить требование фиксированного основания при выполнении возведения в степень. Одним из решений данной проблемы является применение так называемых аддитивных цепочек [8]. Но и здесь, чтобы добиться эффективной реализации, существует множество задач, подлежащих решению.

Литература: 1.Диффи У. Первые десять лет криптографии с открытым ключом // ТИИЭР. 1998. Т.76, №5. С.54-74. 2. Lenstra A.K., Manasse M.S. Factoring with two large primes / / Advances in cryptology — Eurocrypt’ 90. Berlin, 1991. P. 72-82. 3.MenezesA., OorschotP., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1996. 816p. 4. Горбенко И.Д., Качко ЕГ, СвинаревА.В. Оптимизация алгоритмов арифметики многократной точности // Тр. 2 межд. конф. “Теория и техника передачи, приема и обработки информации” — Туапсе, 1996. 5. ElGamal T. A public-key cryptosystem and a signature scheme based on discrete logarithms // IEEE trans. on Information Theory. 1985. Vol.IT-31. №4. Р. 469-472. 6.Diffie W, Heilman M.E. New directions in cryptography // IEEE trans. on Information Theory. 1976. Vol.IT-22. №6. Р. 644-654. 7.ErnestF.Brickell, Daniel M. Gordon, KevinS. Mc Curley and DavidB. Wilson. Fast Exponentiation with Precomputation (Extended Abstract) 8.J. Bos and M.Coster. Addition Chain Heuristics, in Advances in Cryptology, 1990.

Поступила в редколлегию 02.10.99

Рецензент: д-р техн. наук Долгов В.И.

Горбенко Иван Дмитриевич, д-р техн. наук, профессор, проректор по научной работе ХТУРЭ. Научные интересы: защита информации в компьютерных системах и сетях. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 30-24-50, 37-56-39.

Лавриненко Дмитрий Иванович, аспирант кафедры ЭВМ ХТУРЭ. Научные интересы: криптографические методы защиты информации в компьютерных системах. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел.40-94-25.

88

РИ, 1999, № 4

УДК 681.513

Цель управления задается одношаговым критерием вида

УПРАВЛЕНИЕ ДИНАМИЧЕСКИМИ СТОХАСТИЧЕСКИМИ НЕСТАЦИОНАРНЫМИ ОБЪЕКТАМИ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ С АКТИВНЫМ НАКОПЛЕНИЕМ ИНФОРМАЦИИ

I. ДОСТОВЕРНО-ЭКВИВАЛЕНТНЫЙ ПОДХОД

АДОНИН О.В., БОДЯНСКИЙЕ.В., КОТЛЯРЕВСКИЙ С.В.

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

1. Постановка задачи

Пусть управляемый динамический объект описывается системой уравнений в пространстве состояний

[ x(t +1) = A(9)x(t) + B( 9)u(t) + w(t),

jy(t) = C(0)x(t) + v(t), * (1)

где x(t) - (n x 1) — вектор состояний объекта в дискретный момент времени t (t = 0,1, 2,...); u(t) — скалярное управляющее воздействие; y(t) - (p х 1) — вектор наблюдаемых сигналов объекта; A(9), B(9), C(9) - (n x n),(n x 1), (p x n) - матрицы коэффициентов объекта, зависящие в общем случае от неизвестного и нестационарного вектора параметров 0 ; w(t), v(t) - (n х 1),(p x 1) — векторы случайных возмущений (помех) такие, что M{v(t)|Ft} = 0,

M{w(t)wT(t)|Ft} = Pw(9) > 0,

M

jv(t)vT(t)Ftj

Pv(Q) > 0,

M

jw(t)vT(t)Ftj

Pwv(6) > 0,

if = m||| x(t + 1)||Q + ru2(t)Ft J, (2)

где Q = diag(qpq2,...,qn) - положительно определенная весовая матрица управления; r - неотрицательный весовой множитель.

Задача состоит в нахождении на каждом такте управления t управляющего сигнала u(t), доставляющего минимум критерию оптимизации (2).

2. Преобразование структуры модели

Традиционный подход к синтезу управляющего устройства базируется на принципе стохастической эквивалентности. При этом задача решается в два этапа: оценивание состояния с помощью фильтра Калмана:

x(t +1,0) = A(0)x(t, 0) + B(0)u(t) + K(t, 0) *

* (y(t) - C(0)x(t, 0)), y(t, 0) = C(0)x(t, 0),

K(t, 0) = (A(0)Px(t, 0)CT(0) + Pwv(0)) *

* (C(0)Px(t, 0)CT(0) + Pv(0))_1,

' Px(t +1,0) = A(0)Px (t, 0)AT (0) + Pw(0) -- K(t, 0)(C(0)Px(t, 0)CT(0) + Pv(0))KT(t, 0) = (3)

= A(0)Px(t, 0)AT(0) + Pw(0) - (A(0)P(t, 0) *

* CT(0) + Pwv(0))(C(0)Px(t, 0)CT(0) +

+ Pv (0))_1 (A(0)Px (t, 0)CT (0) + Pwv (0))T и оптимизации критерия

ice = Mj*(t + 1)||Q + ru2(t)Ft} (4)

вместо целевой функции (2).

Использование такого подхода возможно только в случае, когда вектор параметров 0 априорно известен. Если же это не так, то наряду с оцениванием состояний необходимо идентифицировать в реальном времени вектор параметров 0 , что значительно усложняет задачу.

Введем в рассмотрение обновляющую последовательность

e(t) = y(t) - C(0)S(t, 0) = C(0)(x(t) - x(t, 0)) + v(t) (5) и запишем соотношения (3) в обновляющей:

Ft -ст -алгебра согласования с процессом

{x(0),x(1),...,x(t),u(0),...,u(t)}; вектор 0 в общем слу-2 1 1

чае имеет n + n + np +—n(n +1) + -p(p +1) + np =

3 2 1 2 3 1 2 2

= — n +—p + -^n +—p + 2np неизвестных параметров.

x(t +1,0) = A(0)x(t, 0) + B(0)u(t) + K(t, 0)e(t), y(t) = c(0)x(t, 0) + e(t),

Me(t)eT(t)Ft }= Pe(t,0) = C(0)Px(t,0)cT(0) + (6)

+ Py(0)

и прогнозирующей формах:

РИ, 1999, № 4

89

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