о 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: [email protected]
Тихонов Дмитрий Вячеславович, студент гр. ИСПР-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 раза.
Рис.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