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

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

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

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

Интерфейс

Библиотеки MFC/QT Дизассемблер

Анализатор бинарного кода 1 | | Полиморфный генератор |

Анализатор PE файла Модуль компиляции

Модуль сборки

Модуль генерации

Модуль интерпретации

и г

Дизассемблер длин

Информация об инструкциях

БД СУБД

Рис. 6. Структура программного средства

рое представляет собой анализатор программного кода, полиморфный генератор кода, СУБД и БД, содержащие соответствие инструкций их алгоритмам.

При использовании разработанного программного средства в защищаемом коде появляется избыточность: количество операций увеличивает-

ся с 12 до 46, выходных ресурсов - с 5 до 8. Поэтому для анализа защищенного кода злоумышленнику потребуется больше ресурсов (в большей степени временных).

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

Литература

1. Золотарев В.В. Метод исследования программных средств защиты информации на основе компонентной модели информационной среды // Изв. ЮФУ: Технич. науки. 2008. Вып. 8. С. 87-94.

2. Буинцев Д.Н. Метод защиты программных средств на основе запутывающих преобразований. Дис... канд. техн. наук. Томск, 2006.

3. Кукарцев А.М., Лубкин И.А. Методика защиты программного кода от несанкционированной модификации и исследования посредством его хеширования // Вестн. СибГАУ. 2008. Вып. 1. С. 56-60.

4. Hacker Disassembler Engine. URL: http://vx.netlux.org (дата обращения: 23.01.2012).

References

1. Zolotarev V.V., Izvestiya Yuzgnogo Federal Univ., 2008, Vol. 8, pp. 87-94.

2. Buintsev D.N., Ph.D. Thesis, Tomsk, 2006.

3. Kukartsev A.M., Vestnik of the Siberian State Space Univ., 2008, Vol. 1, pp. 56-60.

4. Hacker Disassembler Engine, availabele at: http://vx.net-lux.org (accessed 23 January 2012).

УДК 511.9+519.612

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

О.В. Кузьмин, д.ф.-м.н., профессор, зав. кафедрой (Институт математики, экономики и информатики Иркутского государственного университета, бульв. Гагарина, 20, г. Иркутск, 664003, Россия, quzminov@ mail.ru); В. С. Усатюк, аспирант (Братский государственный университет, ул. Волжская, 14а, г. Братск, 664000, Россия, L@ Lcrypto.com)

Описаны алгоритм Ленстры-Ленстры-Ловаса (LLL-алгоритм) и блочный алгоритм Коркина-Золотарева (BKZ-алгоритм) приведения базиса целочисленных решеток с произвольным фактором. Данные алгоритмы совместно с модулем генерации случайных решеток, сложных в смысле Гольдштейна-Майера, положены в основу программного комплекса LRT, предназначенного для решения задач криптографии, линейного программирования, управления, теории информации и кодирования. Результаты работы приложения апробированы на конкурсе алгоритмов поиска кратчайшего вектора целочисленных решеток. Были получены уточненные и точные решения с погрешностью менее 6,1 % от длины кратчайшего вектора целочисленных решеток (соответствующей верхней оценке Минковского) для размерностей 58, 62, 69, 71, 74, 81, занявшие соответственно 84, 77, 68, 65, 60, 49-е места на конкурсе алгоритмов. При 100-й размерности целочисленной решетки, 32-векторном размере блока и четырехкратной точности вычислений программный комплекс LRT эффективнее fpLLL и NTL на 17,2 % и 24,3 % соответственно. Реализованный программный комплекс LRT работает на платформе семейства ОС Windows и свободно распространяется в бинарном виде.

Ключевые слова: приведение базиса решетки, целочисленные решетки, поиск кратчайшего базиса, поиск кратчайшего вектора, блочный метод Коркина-Золотарева, метод Ленстры-Ленстры-Ловаса.

SOFTWARE PACKAGE FOR INTEGER LATTICES BASIS REDUCTION

Kuzmin O. V., Ph.D, Professor, Head of Chair (Institute of Mathematics, Economics and Informatics of Irkutsk State University, 20, GagarinaBlvd., Irkutsk, 664003, Russia, [email protected]); Usatyuk V.S., Postgraduate (BratskState University, 14а, Volzhskaya St., Bratsk, 664000, Russia, L@ Lcrypto.com) Abstract. This article presents short survey of LLL and BKZ lattice reduction algorithms. Paper contain presents LRT software package for solving SVP and SBP integer lattice problems and generating Goldstein-Mayer lattices. LRT was used to reduce basis of sample lattices for testing algorithms that solve the shortest vector problem (SVP) in euclidean lattices. Were obtained accurate solutions, with error less than 6,1 % of the length of the shortest vector integer lattices (corresponding of Minkowski upper bound) for dimensions 58, 62, 69, 71, 74, 81, solutions took 84, 77, 68, 65, 60, 49 places in the contest algorithms respectively. At 100th dimension of the integer lattice, 32 vectors block size and quadruple-precision floating-point format, software package LRT effective fpLLL and NTL by 17,2 %, 24,3 %, respectively. LRT is fully compatible with Windows OS and freeware.

Keywords: lattice basis reduction, integer lattices, shortest vector problem, SVP, shortest basis problem, SBP, Block Korkin-Zolotarev reduction, BKZ, LLL reduction.

Математический аппарат теории решеток тесно связан с абстрактной и геометрической алгеброй, теорией информации, оптимизацией и криптоанализом. Это обстоятельство позволяет использовать данный аппарат для решения задач линейного программирования, плотной упаковки тел (в частности для Евклидова пространства -сфер) [1], факторизации многочленов с рациональными коэффициентами [2], поиска диофанто-вых приближений [3], оптимизации кодирования с использованием адаптивных антенных решеток со слабо коррелированными антенными элементами (MIMO) [4], криптоанализа RSA- и DSA-систем и некоторых типов генераторов случайных чисел [2], синтеза криптографических примитивов и протоколов на основе теории решеток [5].

Решетка - дискретная аддитивная подгруппа, заданная на множестве Rn. Решетку L можно представить как множество целочисленных линейных

комбинаций L(bb ..., b2)= "_1xib¡ : x,...,хп е Z"} n линейно независимых базисных векторов {Ь1,...,bn}сRm в m-мерном евклидовом пространстве, где m и n - размерность и ранг решетки соответственно. Решетки, у которых размерность и ранг равны, называются полноразмерными.

Решетки Lb L2, заданные базисами B = {bl,..., bn}, B' = {b \,..., b 'n}, конгруэнтны, L1 (B) s L2 (B'), если объемы фундаментальных параллелепипедов, образованных их базисами,

VdetCBB)

равны det(L1) = det( Ь2), где det Ь =

или det Ь = |det Б\ для полноразмерных решеток. Множество таких базисов В, может быть получено в результате умножения приведенного базиса решетки Ь, на целочисленные унимодулярные матрицы.

Пусть имеется радиус сферы, заданный нормой р. Под /-м минимумом будем понимать

наименьший радиус сферы, содержащий / линейно

независимых базисных векторов решетки. Длине кратчайшего вектора в решетке Ь соответствует (Е). Из теоремы Минковского о последовательных минимумах следует верхняя оценка длины векторов п-мерной решетки Ь:

^ (Ь) <Л~п п, П ^ (ь) ^ ь),

I=1

где уп - константа Эрмита.

Дефектом ортогонализации решетки Ь, образованной базисом В = {Ь1,..., Ьп}, называют скаляр-

п:и м-

ную величину S(L(B)) = -

Путем унитар-

det L

ных преобразований исходного базиса можно получить ортогональный базис решетки, конгруэнтный исходной. Легко убедиться в том, что полученный ортогонализуемый базис B* = {Ь/Ь*} дает нижнюю оценку длины кратчайшего вектора

исходной n-мерной решетки L: X (L) > min b* ,

n II II

bel, ..., n. Ортогональный базис решетки может быть получен QR-методами разложения матрицы базиса решетки: Грама-Шмидта, Гивенса, Хаус-холдера [6].

Задача приближенного поиска кратчайшего вектора (y-approximate shortest vector problem, SVPp (n) ): пусть даны m-мерная решетка L ранга

n и вещественный у>0. Найти ненулевой вектор, в у раз больший кратчайшего вектора b g LZ "\{0}:||b|| <Y-A,f (L).

Задача приближенного поиска кратчайшего базиса (Y-approximate shortest basis problem, SBPyp (n)) : пусть дана m-мерная решетка L ранга n. Найти базис

___ n n

В = {b,,..., bn}: \b\\p < y• min|b,'||p, L(B) = L(B').

Для решения ЖРур (п) с экспоненциальной

и-1

точностью у = 2 2 достаточно привести базис к

б-КЬК-редуцированному базису, применив полиномиальный по временной сложности алгоритм Ленстры-Ленстры-Ловаса (ЬКЬ) [7]. Для реше-

ния SBFyp (n) с точностью y e

n-1

2 2 -е,1

доста-

точно привести подмножество базиса решетки, состоящее из Р<и-векторов, к базису Коркина-Золотарева, применив блочный алгоритм Корки-на-Золотарева (ВК2), чья временная сложность зависит от размера блока, изменяясь от полиномиальной до экспоненциальной.

ЬЬЬ-алгоритм приведения базиса решетки [8]. Вход: базис решетки Ь(Б), Ь^п и 8е(0,25, 1), Д. Выход: приведенный КЬК-базис.

1. Ортогонализация Грама-Шмидта, Ь еБ -ортогональный вектор базиса.

2. Редукция векторов базиса: V/,/: 2</<т,

i-1>j>1. bt = bt-Vi bj, ^ =

b, b*

b;.b;

3. Перестановка векторов Ь, и Ь,+1 и возврат к

шагу 1, если НКТ > ||ь+и ■ к + сц2.

BKZ-алгоритм приведения базиса решетки

[8]. Вход: базис решетки ЦБ), Ьс.1п и р<и (ЦБ'),

образованный р-векторами из ЦБ)), Д. Выход: приведенный ВК2-базис решетки.

1. Применение КЬК-алгоритма для предварительного приведения базиса решетки.

2. Выполнять в цикле к=1, ..., т-р+1:

- перечислительным методом (Е№иМ) решаем SVPpу (п) -задачи для ЦБ')сЦБ) подрешетки, образованной базисом текущего блока [8]: М = (Д(Ь®)]^): / < т;

- если S • b*

> >

вставка найденного век-

тора в начало текущего блока и удаление линейной зависимости векторов в нем

b

(i) =

= bj - Z k <¿vb* ;

- иначе LLL-приведение следующего блока векторов.

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

Модифицированный алгоритм Грама-Шмидта (MGS) [9]. Вход: базис решетки L(B)eZnxm. Выход: Q=(qi, q2, ..., qm) - ортогональный базис, R [r j ] - верхняя треугольная матрица.

1<i, j <m

1. Выполнить в цикле i=1, ..., m: b = b .

2. Выполнить в цикле i=1, ..., m:

r ,i bi Ii ' qi

Il 112 r

1,1

- выполнить в цикле j=i+1, ..., m:

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

r . = (q., b* ), b* = b* - r q. .

i,j ' i / ' i i i,j^i

В приложении LRT были реализованы оба алгоритма приведения базиса решеток, что позволяет осуществлять приведение базиса с произвольной точностью y [10]. Для ортогонализации применяется вычислительно устойчивый модифицированный алгоритм ортогонализации MGS. Последнее обстоятельство обусловливает последовательный характер работы приложения LRT. Приложение написано на языке Си с применением глубокой оптимизации посредством среды интерактивной разработки Microsoft Visual C++ 2010 Express Version 10.0.40219.1 SPlRel. Ввод-вывод данных осуществляется на основе работы с текстовыми файлами базиса решетки и отчета о результате работы приложения. В приложении доступно изменение параметров Д - точности промежуточных результатов, S для алгоритма LLL и размера блока ß для алгоритма BKZ. Для реализации произвольной точности вычислений применяется библиотека MIRACL, переданная авторам статьи Майклом Скоттом для некоммерческого использования в 2006 году. Применение этой библиотеки позволяет изменять точность промежуточных результатов Д от однократной float (7 знаков), двукратной double (15 знаков), четырехкратной quad (34 знака) до 1,7■ 10б десятичных знаков. С целью повышения устойчивости работы приложения при высокой точности вычислений и большой размерности приводимых целочисленных решеток был реализован собственный планировщик памяти, лишенный проблемы отказа функции realloc, уменьшающий число обращений к менеджеру памяти ОС. Результаты работы программы апробированы на 40 задачах конкурса алгоритмов поиска коротких векторов с фактором y=1,05 на решетках с размерностью 50-90 и приведение базиса 512-, 1024-, 2048-мерных целочисленных решеток с экспоненциальной точностью [11].

Для задач шифрования и кодирования возникает необходимость построения решеток, сложных по Гольдштейну-Майеру, то есть случайных плотных решеток, построенных на основе некоторого заранее известного короткого базиса [12]. Для решения задач такого класса в приложение LRT был добавлен входной параметр, позволяющий генерировать решетки заданной размерности, сложные по Гольдштейну-Майеру.

На основе приведения базиса решеток, сложных по Гольдштейну-Майеру, было осуществлено сравнение программного комплекса LRT (ver. 1.0) с библиотеками NTL (ver. 5.2.2), fpLLL (ver. 3.1.1). Сравнение осуществлялось на ПК Phenom X4 965/ 8 Gb DDR2 800, ОС Microsoft Windows 7 x64 SP1.

*

Для сравнения применялся BKZ-алгоритм приведения базиса целочисленных решеток, размерность которых n=50, ..., 100, с шагом 10, длина представления координатного компонента в десятичных знаках была равна 15, Р=32, Д равна четырехкратной точности числа с плавающей запятой (34 десятичных знака). Результаты сравнения приведены на рисунке. С ростом размерности базиса целочисленной решетки растет эффективность комплекса LRT. При размерности n=100 LRT эффективнее fpLLL и NTL на 17,2 % и 24,3 % соответственно.

Комплекс LRT является эффективным средством в классе последовательных реализаций для решения означенных выше задач. Он обеспечивает высокую числовую устойчивость результатов и возможность работы с целочисленными решетками больших размерностей. Следующим шагом в развитии программного комплекса LRT станет применение в нем параллельных алгоритмов орто-гонализации на основе OpenCL, NVIDIA CUDA, AMD Core Math Library и Intel Math Kernel Library.

Литература

1. Conway J.H., Sloane N.J.A. Sphere Packings, Lattices and Groups. Springer. 3rd edition, 1999, 703 p.

2. Dwork C. Lattices and their Application to cryptography [Lecture Notes] Stanford University. 1998, 116 p.

3. Grotschel M., Lovasz L., Schrijver A. Geometric Algorithms and Combinatorial Optimization. Springer-Verlag, 1993, 564 p.

4. Mobasher A. Applications of Lattice Codes in Communication Systems. Canadian theses. University of Waterloo. Dept. of Electrical and Computer Engineering, 2008, 147 p.

5. Bernstein D.J., Buchmann J., Dahmen E. (eds.). Post Quantum Cryptography. Springer, 2009, pp. 147-191.

6. Press W.H., Teukolsky S.A., Vetterling W.T. Numerical Recipes: The Art of Scientific Computing. New York: Cambridge University Press. 2007. 1262 p.

7. Lenstra A.K., Lenstra H.W., Lovasz L . Factoring polynomials with rational coefficients. Math. Ann., 1982. Vol. 261, no. 4, pp. 515-534.

8. Schnorr C.P., Euchner M. Lattice basis reduction: Improved practical algorithms and solving subset Sum Problems. Fundamentals of Computation Theory, 1991, pp. 68-85.

9. Higham N.J. Accuracy and Stability of Numerical Algorithms Society for Industrial and Applied Mathematics, 2002, 711 p.

10. Комплекс LRT. URL: http://www.lcrypto.com/lsolv/ (дата обращения: 1.06.2012).

11. Lattice challenge. URL: http://www.latticechallenge.org/ (дата обращения: 1.06.2012).

12. Goldstein D., Mayer A. On the equidistribution of Hecke points. Forum Mathematicum. 2003. Vol. 15, no. 2, pp. 165-189.

References

1. Conway J.H., Sloane N.J.A., Sphere Packings, Lattices and Groups, Springer, 1999, 703 p.

2. Dwork C., Lattices and their Application to cryptography, Stanford Univ., 1998, 116 p.

3. Grotschel M., Lovasz L., Schrijver A., Geometric Algorithms and Combinatorial Optimization, Springer-Verlag, 1993, 564 p.

4. Mobasher A., Canadian theses, Univ. of Waterloo, 2008, 147 p.

5. Bernstein D.J., Buchmann J., Dahmen E., Post Quantum Cryptography, Springer, 2009, pp. 147-191.

6. Press W.H., Teukolsky S.A., Vetterling W.T., Numerical Recipes: The Art of Scien. Comput., N.Y., Cambridge University Press, 2007, 1262 p.

7. Lenstra A.K., Lenstra H.W., Lovasz L ., Factoring polynomials with rational coefficients, Math. Ann., 1982, Vol. 261, no. 4, pp. 515-534.

8. Schnorr C.P., Euchner M., Lattice basis reduction: Improved practical algorithms and solving subset Sum Problems. Fundamentals of Computation Theory, 1991, pp. 68-85.

9. Higham N.J., Accuracy and Stability of Numerical Algorithms Society for Industrial and Applied Math., 2002, 711 p.

10. Software package LRT, Available at: http://www.lcrypto. com/lsolv (accessed 1 June 2012).

11. Lattice challenge, Available at: http://www.latticecha-llenge.org/ (accessed 1 June 2012).

12. Goldstein D., Mayer A., On the equidistribution of Hecke points. Forum Math., 2003, Vol. 15, no. 2, pp. 165-189.

УДК 004.42

ОЦЕНКИ ВРЕМЕНИ В МОДЕЛИ ПАРАЛЛЕЛЬНОГО ВЫПОЛНЕНИЯ ПРОГРАММ

В.А. Биллиг, к.т.н., профессор, с.н.с. (Тверской государственный технический университет, наб. Аф. Никитина, 22, г. Тверь, 170026, Россия, [email protected])

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

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