- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «воронежский государственный университет» ( фгбоу впо вгу)
- •Содержание
- •Список основных сокращений
- •Введение
- •Постановка задачи
- •Гпсп в системах защиты информации
- •1.1. Гпсп и шифрование мультимедийных данных [8]
- •1.2. Гпсп и хэширование
- •1.3. Гпсп и криптографические протоколы
- •1.4. Вероятностное шифрование и алгоритм эль-гамаля [1, 2]
- •Принципы построения и классификация гпсп
- •2.1. Два варианта построения гпсп
- •2.2. Криптографические гпсп
- •2.3. Линейные гпсп
- •2.4. Нелинейные гпсп [7]
- •Конечные поля и гпсп
- •3.1. Основные понятия теории конечных полей
- •3.2. Стохастические гпсп [3, 8]
- •Описание программы
- •4.1. Основные сведения
- •Инструкция по работе с программой
- •Графические тесты.
- •Оценочные тесты.
- •Заключение
- •Список использованных источников
- •Приложение
Описание программы
4.1. Основные сведения
Общие сведения:
Наименование программы: «Cryptographically Strong Key Algorithm and Analysis (CSKA)» (алгоритм и анализ криптографически стойкой ключевой последовательности) может применяться для генерации ключевой последовательности используя криптографически стойкий алгоритм нелинейного (стохастического) преобразования для решения различных задач, связанных с защитой информации.
Языки программирования: Delphi Enterprise Version 7.0 с использованием стандартных библиотек, а также библиотеки Math.
Программное обеспечение: Windows 98, 2000, XP, Vista, Windows 7.
Функциональное назначение:
Программа может быть использована для генерации ключевых последовательностей при кодировании информации, а так же для анализа и демонстрации самого алгоритма генерации криптографически стойкой псевдослучайной последовательности.
Описание логической структуры:
Модули.
unit urfsr; {Главный модуль}
unit uGistogramm; {Модуль отображения результата теста построения гистограммы}
unit uRaspredelenie; {Модуль отображения результата теста распределения на плоскости}
unit uMonotonnost; {Модуль отображения результата теста на монотонность}
unit uSeries; {Модуль отображения результата теста проверки серий}
unit uKnyt; {Модуль отображения результата теста Д. Кнута}
Процедуры.
procedure Fill; {формирование ключевой последовательности из 16 чисел разрядности 9}
procedure GetStirlingNumbers(n_max, m_max: Integer; var StirlingNumbers: TTwoDimArray); {вычисление таблицы значений Стирлинга}
procedure Run; {построение блока R стохастического преобразования(Random)}
Кнопки на форме.
procedure bClearClick(Sender: TObject); {очистка формы отображения ключевой последовательности}
procedure bCloseClick(Sender: TObject); {закрытие программы}
procedure bDotClick(Sender: TObject); {процедура тестирования зависимости между элементами исследуемой последовательности}
procedure bGistoClick(Sender: TObject); {процедура тестирования равномерности распределения символов в исследуемой последовательности}
procedure bKnytClick(Sender: TObject); {процедура тестирования статистических свойств исследуемой последовательности, автор Д. Кнут}
procedure bMonotClick(Sender: TObject); {процедура тестирования равномерности распределения символов в исследуемой последовательности на основании участков неубывания и невозрастания}
procedure bRunClick(Sender: TObject); {выполнение операции формирования ключевой последовательности по нажатию кнопки на форме}
procedure bRunNClick(Sender: TObject); {выполнение операции формирования заданного количества ключевых последовательностей по нажатию кнопки на форме}
procedure bSeriesClick(Sender: TObject); {процедура тестирования равномерности распределения символов в исследуемой последовательности на основании появления серий единиц и нулей}
Элементы меню.
procedure AboutClick(Sender: TObject); {о программе}
procedure Open1Click(Sender: TObject); {открытие файла сохраненной ключевой последовательности}
procedure SaveAsClick(Sender: TObject); {сохранение сформированной ключевой последовательности в файл}
procedure SaveClick(Sender: TObject); {сохранение сформированной ключевой последовательности в файл}
procedure SaveKeyClick(Sender: TObject); {сохранение кодированной в двойчную систему исчисления сформированной ключевой последовательности в файл}
В качестве алгоритма
программы используется генерация
ключевой последовательности по формуле
,
гдеma
– таблица случайных чисел, сгенерированных
с помощью Random,
B
– константа смещения, заданная
пользователем на форме. Далее у
пользователя есть возможность провести
тестирование создано ключевой
последовательности/последовательностей,
которые используют анализ либо
сформированной последовательности
либо в оригинальном виду, либо кодированном
в двоичный код.
Используемые технические средства:
Процессор: Intel Pentium II и выше (могут использоваться мобильные устройства). Оперативная память: при работе использует около 6 МБ. Пространство на жестком диске: 600 Кб. Монитор: VGA или выше.
Вызов и загрузка:
Вызов программы осуществляется с жесткого диска или флеш-накопителя путем запуска исполнительного файла «CryptoSKA.exe».
Входные данные:
Входными данными являются как параметры для генерации программой ключевой информации, так и файлы, содержащие уже сгенерированные ключевые последовательности для дальнейшего анализа статистической безопасности их алгоритмов генерации. [7]
Выходные данные:
Выходными данными являются текстовые файлы, содержащие сформированные или отредактированные ключевые последовательности, графические, а так же текстовые результаты проведенных анализов и тестов ключевых последовательностей.
Интерфейс программы:
На рис 4.1 приведено главное окно для работы с программой.

Рис. 4.1. Главное окно программы «Cryptographically Strong Key Algorithm and Analysis (CryptoSKA)»
