Научная статья на тему 'Реализация генератора Blum-Blum-Shub и исследование его основных характеристик'

Реализация генератора Blum-Blum-Shub и исследование его основных характеристик Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1047
134
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ / ГЕНЕРАТОР БИНАРНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ / БОЛЬШИЕ ЧИСЛА / СКОРОСТЬ АЛГОРИТМА / ПОТРЕБЛЕНИЕ ПАМЯТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Выборнова Ю.Д.

Объектом исследования является криптографически стойкий генератор псевдослучайных последовательностей Blum-Blum-Shub. Цель работы реализация генератора псевдослучайных последовательностей с помощью двух различных прикладных криптографических библиотек языка программирования C++ и сравнение основных характеристик полученных программных модулей. В работе проведен анализ основных характеристик полученного генератора: производительности и потребления оперативной памяти при генерации последовательностей большой длины. Сформированы выводы о границах применения полученных реализаций генератора.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Выборнова Ю.Д.

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

Текст научной работы на тему «Реализация генератора Blum-Blum-Shub и исследование его основных характеристик»

НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №4/2015 ISSN 2411-7161

требованиям систем технического обслуживания по техническому состоянию (СТОТС). Её применение и распространение заметно снизит материальные и временные затраты на проведение ТО при достаточно высоком уровне эксплуатационной надёжности средств обработки информации.

Таким образом, использование современных цифровых и информационных технологий в СТОТС позволит применять её как основную систему ТО для АСОИ. Список использованной литературы:

1. Мачульский Е.В., Микрюков А.А. Задача распределения информационных нагрузок в организационных структурах. Труды XXI Всероссийской научно-методической конференции «Телематика 2014». РАН. г. Санкт-Петербург. 2014г. С.191-194.

2. Мачульский Е.В., Микрюков А.А. Проблемы совершенствования систем технического обслуживания средств связи и автоматизированных систем управления. Национальный исследовательский университет «Высшая школа экономики». XII международная научно-практическая конференция ИНФО-2015, г. Сочи, С.206-208.

© Беркетов Г.А., 2015

Выборнова Ю. Д.

аспирантка СГАУ им. Королева г. Самара, РФ Email: vybornovamail@gmail.com

РЕАЛИЗАЦИЯ ГЕНЕРАТОРА BLUM-BLUM-SHUB И ИССЛЕДОВАНИЕ ЕГО ОСНОВНЫХ

ХАРАКТЕРИСТИК

Аннотация

Объектом исследования является криптографически стойкий генератор псевдослучайных последовательностей Blum-Blum-Shub. Цель работы - реализация генератора псевдослучайных последовательностей с помощью двух различных прикладных криптографических библиотек языка программирования C++ и сравнение основных характеристик полученных программных модулей. В работе проведен анализ основных характеристик полученного генератора: производительности и потребления оперативной памяти при генерации последовательностей большой длины. Сформированы выводы о границах применения полученных реализаций генератора.

Ключевые слова

псевдослучайные последовательности, генератор бинарных последовательностей, большие числа, скорость

алгоритма, потребление памяти

Реализация генератора.

Генераторы псевдослучайных последовательностей - это алгоритмы, которые используют математические формулы или предварительно вычисленные таблицы, чтобы порождать последовательности псевдослучайных чисел [1, с. 815-816].

В 1986 году Ленор Блюм, Мануель Блюм и Майкл Шуб опубликовали алгоритм, который впоследствии получил название генератора Blum-Blum-Shub. Генератор основан на операции возведения в квадрат в кольце вычетов по модулю большого числа N, где N = P х Q, при условии, что P и Q - простые числа равной длины, сравнимые с 3 по модулю 4 [2, с. 367-368].

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

_НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №4/2015 ISSN 2411-7161_

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

Для реализации первой версии программного генератора Blum-Blum-Shub было решено использовать библиотеку Crypto++ [3].

Для реализации второй версии программного генератора Blum-Blum-Shub использовалась библиотека MPIR (The Multiple Precision Integers and Rationals Library) [4].

Также для детального рассмотрения была выбрана одна из существующих реализаций исследуемого генератора - реализация Ника Галбрета 2005 года [5]. Реализация представляет собой библиотеку на языке программирования Java.

Исследование характеристик генератора Blum-Blum-Shub

Три реализации исследуемого генератора были протестированы на трех различных операционных системах семейства Windows: Windows 7 Home Basic (64-битная), Windows 8 Professional (32-битная), Windows Vista Ultimate (32-битная). Windows 7 является основной операционной системой персонального компьютера, на котором проводилось исследование, а Windows 8 и Windows Vista запускались с помощью виртуальной машины Oracle VM VirtualBox. Основные характеристики персонального компьютера: двухядерный процессор Intel Pentium P6100, тактовая частота каждого ядра 2 ГГц, объем оперативной памяти 3 Гб.

Результаты представлены в таблицах 1 - 3.

Таблица 1

Среднее время выполнения программы при генерации 1 миллиона бит псевдослучайной

последовательности, [с]

"""" Реализация Операционная система Java C++, Crypto++ C++, MPIR

Windows 7 5,656 87,442 35,642

Windows 8 27,437 151,862 47,264

Windows Vista 21,374 94,424 38,399

Таблица 2

Средняя скорость потока при генерации 1 миллиона бит псевдослучайной последовательности, [бит/с]

"""""" Реализация Операционная система Java C++, Crypto++ C++, MPIR

Windows 7 188279,631 11461,812 28226,993

Windows 8 37118,510 6594,147 21251,284

Windows Vista 47831,430 10615,840 26182,505

Таблица 3

Средний объем потребляемой оперативной памяти при генерации 1 миллиона бит псевдослучайной

последовательности, [Кбайт]

Реализация Операционная — система Java C++, Crypto++ C++, MPIR

Windows 7 42149,6 3298,0 51313,6

Windows 8 1461,8 2412,0 50728,0

Windows Vista 1195,6 352,8 47595,2

_НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №4/2015 ISSN 2411-7161_

Исходя из результатов тестирования двух рассмотренных генераторов, можно сделать вывод, что самой быстрой является реализация генератора Blum-Blum-Shub на языке программирования Java. Однако следует обратить внимание на наличие внешней зависимости и ненормированное потребление памяти. В данном случае преимущество по скорости не играет роли, так как для того чтобы изменить границы применения генератора, необходимо увеличить его скорость в 1000 раз и более, а в данном случае реализация на языке программирования Java быстрее других реализаций не более, чем в 16 раз.

Реализация на основе библиотеки MPIR также обладает высокой скоростью, но как и реализация на языке программирования Java имеет ненормированное потребление памяти, поэтому трудно предсказать поведение данной программы при генерации очень больших последовательностей (1 гигабайт и более). Для запуска данной реализации требуется наличие динамической библиотеки mpir.dll. Данная библиотека не требует установки и почти не занимает места на диске, поэтому такая зависимость не является недостатком.

Реализация на основе библиотеки Crypto++ является самой медленной и для генерации очень больших последовательностей потребуется колоссальное количество времени. Но зато данная программа отличается стабильным потреблением памяти и отсутствием каких-либо внешних зависимостей.

Средняя скорость работы всех перечисленных выше реализаций генератора Blum-Blum-Shub во много раз ниже средней скорости современных симметричных алгоритмов блочного шифрования. Из этого следует, что исследуемый генератор неприменим для генерации гаммы в шифрах гаммирования, но может использоваться для генерации данных в системах и протоколах, где скорость генерации не играет роли. Например, для генерации ключей в асимметричных системах, в качестве генератора ключей для имитовставки, а также в реализациях криптографических протоколов аутентификации и шифрования. Заключение.

Таким образом, если стоит вопрос об экономии времени, необходимо применять программную реализацию на основе теоретико-числовой библиотеки MPIR. Если же приоритетным требованием является экономия памяти, то следует выбрать программную реализацию на основе криптографической библиотеки Crypto++.

Список использованных источников

1. Neil J. Salkind. Encyclopedia of Measurement and Statistics. Sage Publications, 2007.

2. L. Blum, M. Blum and M. Shub. A Simple Unpredictable Pseudo-Random Number Generator. Proceedings, SIAM Journal on Computing, May 1986.

3. Crypto++. [Электронный ресурс]. URL: http://www.cryptopp.com/

4. The Multiple Precision Integers and Rationals Library. [Электронный ресурс]. URL: http://mpir.org/

5. A collection of random number generators in java. [Электронный ресурс]. URL: https://code .google. com/p/j avarng/

© Выборнова Ю.Д., 2015

Иванов Геннадий Павлович

канд. техн. наук, доцент ИТС КГАСУ

г. Казань, РФ E-mail: ivanovgpi@mail.ru

ПРЕДВАРИТЕЛЬНО-НАПРЯЖЕННЫЕ ЖЕЛЕЗОБЕТОННЫЕ БРУСКИ ДЛЯ АРМИРОВАНИЯ МОНОЛИТНЫХ ПЛИТ НЕРАЗРЕЗНЫХ ПРОЛЕТНЫХ СТРОЕНИЙ СТАЛЕЖЕЛЕЗОБЕТОННЫХ

МОСТОВ

Аннотация

Данная статья посвящена разработке конструкций предварительно-напряженных железобетонных брусков для их применения в конструкциях монолитных плит сталежелезобетонных пролетных строений

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