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

Описание задачи

В наше время Internet становится все более обыденным и хорошо известным. Многие пользователи, компании подключаются к глобальной сети Internet для того, чтобы воспользоваться ее ресурсами и преимуществами для получения или обмена любого рода информации. Во многих случаях понятием «информация» обозначают специальный товар, который можно приобрести, продать, обменять на что-то другое и т.п. При помощи средств, предоставляемых Internet любой пользователь, подключенный к ее сети, становится малой ячейкой во всемирной “паутине”, объединившей мир. В связи с этим возникает острая необходимость в разработке эффективных аппаратных или программных средств для обеспечения защиты компьютерных систем обработки и хранения информации от несанкционированного доступа извне. Одним из таких средств безопасности передаваемых данных является аутентификация автора электронного документа и самого электронного документа, т.е. установление подлинности автора и отсутствия изменений в полученном документе. В настоящее время, в компьютерных сетях для аутентификации текстов, передаваемых по телекоммуникационным каналам, используется электронная цифровая подпись, которая в принципе аналогична обычной рукописной подписи и следовательно обладает ее основными достоинствами:

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

- не дает самому этому лицу возможности отказаться от обязательств, связанных с подписанным текстом;

- гарантирует целостность подписанного текста.

Цифровая электронная подпись представляется в виде относительно небольшого количества дополнительной цифровой информации, передаваемой вместе с подписываемым текстом.

Система электронной цифровой подписи включает в себя две процедуры:

1) процедуру постановки подписи, в которой отправитель прежде всего вычисляет хэш-функцию h(M) подписываемого текста M. Вычисленное значение хэш-функции h(M) представляет собой один короткий блок информации m, характеризующий весь текст M в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой электронную цифровую подпись для данного текста M.

2) процедуру проверки подписи, при которой получатель сообщения снова вычисляет хэш-функцию m = h(M) принятого по каналу текста M, после чего при помощи открытого ключа отправителя проверяет, соответствут ли полученная подпись вычисленному значению m хэш-функции.

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

- хэш-функция должна быть чувствительна к всевозможным изменениям в тексте M, таким как вставки, выбросы, перестановки и т.п.;

- хэш-функция должна обладать свойством необратимости, то есть задача подбора документа M’, который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;

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

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

Шаг 1. Представим текстовую информацию исходного текста M в виде множества отдельных букв I, т.е. в виде:

I = {i1, i2,…, ik} (1)

и сопоставим в строгое соответствие каждой букве ik определенную цифру ak, т.е. вместо буквенного множества (1) в результате получим цифровой ряд вида:

A = {a1,.. ,ak} (2)

Шаг 2. Сформируем определенным образом из ряда (2) матрицу A размерности (s x q).

Шаг 3. Сгенерируем случайным образом набор цифр bk. В качестве примера возьмем формулу генератора случайных чисел вида: bk = (p+k)2/100, т.е. получим цифровой ряд вида:

B = {b1, …., bk}. (3)

Шаг 4. Сформируем из ряда (3) матрицу B одинаковой с матрицей A размерности (s x q).

Шаг 5. Осуществим сингулярное разложение матрицы А, т.е. определим множества сингулярных чисел, правых и левых сингулярных векторов:

{s1, s2, sd}, {U1, U2,…Ud}, {V1, V2,….,Vd}.

Шаг 6. Вычислим значение энергии связи w. Результатом хэширования будет величина l равная w.

После применения вышеуказанного алгоритма, следуя процедуре постановки подписи, автор электронного документа передает получателю тройку (M, l, p), где l представляет собой электронную цифровую подпись, а p - открытый ключ.

Пусть, к примеру, текстовый документ M представлен в виде сообщения: «Петров Л.П. вылетел 17 января в Москву. Прошу встретить. Иванов.». Сопоставляя в строгое соответствие каждой букве указанного сообщения цифру, получим ряд вида (2), элементы которого отражены в таб. 3.

Таблица 3 Цифровое соответствие букв сообщения M

П е т р о в Л . П . в ы л е
т е л я н в а р я в
М о с к в у . П р о ш у в с
т р е т и т ь . И в а н о в .

На основе исходных данных, сформируем матрицу A размерности (8 x 8) вида:

алгоритм формирования электронной цифровой подписи - student2.ru . (4)

Подразумевая, что p = 5 сгенерируем ряд (3). Матрица B размерности (8 x 8) будет иметь вид:

алгоритм формирования электронной цифровой подписи - student2.ru . (5)

Применяя (1), получим: l = 1656,77.

Согласно процедуре проверки подписи получатель электронного документа, в свою очередь, по заранее согласованной с автором и переданной по защищенному каналу, формуле генератора случайных чисел (3), а также алгоритму хэш-функции вида восстанавливает матрицы A и B, которые, в случае достоверной передачи, должны совпадать с (4) и (5). Затем вычисляет численное значение хэш-функции l. В том случае если выполнится равенство вида:

l = l'', (6)

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

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

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

Лабораторная работа № 9

Целью работыявляется реализация программной системы безопасного хэширования сообщения алгоритм формирования электронной цифровой подписи - student2.ru произвольной длины на основе средств универсальных систем MATLAB.

Порядок выполнения работы

1. Открыть универсальную систему MATLAB.

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

3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3).

4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4).

5. Представить результаты реализации алгоритма формирования электронной цифровой подписи.

6. Оформить тематическую заглавную страницу лабораторной работы № 9.

7. Сохранить все результаты выполнения работы в файле на диске.

9.2.2. Порядок оформления отчета

Отчетом о лабораторной работе № 10 является файл с именем, совпадающим с фамилией студента с результатами работы в папке Мои документы/номер группы.

9.2.3. Контрольные вопросы

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

ОГЛАВЛЕНИЕ

ПРЕДИСЛОВИЕ............................................................................... 2

1. МАТРИЧНЫЕ ВЫЧИСЛЕНИЯ НА ОСНОВЕ УНИВЕРСАЛЬНОЙ СИСТЕМЫ MATLAB............................................................................................ 5

1.1. Задание матриц..................................................................... 5

1.2. Матричные вычисления....................................................... 6

1.2.1. Функции описания матриц......................................... 6

1.2.2. Знаки операций............................................................ 6

1.2.3. Матричные характеристики...................................... 6

1.2.4. Команды линейной алгебры...................................... 6

1.2.5. Команды факторизации.............................................. 7

1.2.6. Команды вычисления спектра................................... 7

1.3. Интегрирование MATLAB и Excel...................................... 8

1.3.1. Конфигурирование Excel............................................. 8

1.3.2. Обмен данными между MATLAB и Excel................. 9

1.4. Программирование............................................................ 10

1.4.1. М-файлы...................................................................... 10

1.4.2. Файл-программа........................................................ 11

1.4.3. Файл-функция............................................................ 13

1.4.4. Создание графика...................................................... 14

1.4.5. Печать графиков........................................................ 16

1.5. Лабораторная работа № 1................................................. 17

1.5.1. Порядок выполнения работы.................................. 17

1.5.2. Оформление отчета.................................................... 17

1.5.3. Контрольные вопросы............................................... 17

2. ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА СИНГУЛЯРНОГО РАЗЛОЖЕНИЯ МАТРИЦ 18

2.1. Математический аппарат................................................... 18

2.2. Лабораторная работа № 2................................................. 20

2.2.1. Порядок выполнения работы.................................. 20

2.2.2. Пример выполнения лабораторной работы №2... 20

2.2.3. Порядок оформления отчета.................................... 25

2.2.4. Контрольные вопросы............................................... 25

3. ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА ОБУЧЕНИЯ С ЭКСПЕРТОМ 25

3.1. Математический аппарат................................................... 25

3.2. Лабораторная работа № 3................................................. 28

3.2.1. Порядок выполнения работы.................................. 28

3.2.2. Порядок оформления отчета.................................... 28

3.2.3. Пример выполнения лабораторной работы №3... 28

3.2.4. Контрольные вопросы............................................... 30

4. ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА ОБУЧЕНИЯ С ЭКСПЕРТОМ 31

4.1. Математическая формализация задачи............................. 31

4.2. Обучение............................................................................. 33

4.3. Распознавание..................................................................... 33

4.4. Замечания........................................................................... 34

4.5. Лабораторная работа № 4................................................. 35

4.5.1. Порядок выполнения работы.................................. 35

4.5.2. Порядок оформления отчета.................................... 36

4.5.3. Пример выполнения лабораторной работы №4... 36

4.5.4. Контрольные вопросы............................................... 38

5. ФОРМИРОВАНИЕ ИНДЕКСОВ РИСКА........................... 39

5.1. Описание задачи формирования индексов........................ 39

5.2. Базовый алгоритм вычисления индекса............................ 39

Ниже представлены частные случаи процедуры формирования индекса с использованием компонент сингулярного разложения матрицы М. 44

5.3. Одномерный линейный случай.......................................... 44

5.4. Лабораторная работа № 5................................................. 44

5.4.1. Порядок выполнения работы.................................. 47

5.4.2. Порядок оформления отчета.................................... 47

5.4.3. Контрольные вопросы............................................... 47

6. ТЕСТИРОВАНИЕ ПОЛУПРОВОДНИКОВЫХ ЛАЗЕРНЫХ ДИОДОВ НА ОСНОВЕ ИНСТРУМЕНТАРИЯ УНИВЕРСАЛЬНЫХ СИСТЕМ MATLAB 48

6.1. Описание задачи................................................................. 48

6.2. Тестовые данные................................................................. 49

6.3. Лабораторная работа № 6................................................. 50

6.3.1. Порядок выполнения работы.................................. 51

6.3.2. Порядок оформления отчета.................................... 51

6.3.3. Контрольные вопросы............................................... 51

7. ПРОВЕДЕНИЕ ЭКСПЕРТИЗЫ НАУЧНО-ТЕХНИЧЕСКИХ ПРОЕКТОВ 51

7.1. Описание задачи................................................................. 51

7.2. Лабораторная работа № 7................................................. 54

7.2.1. Порядок выполнения работы.................................. 54

7.2.2. Порядок оформления отчета.................................... 54

7.2.3. Контрольные вопросы............................................... 55

8. КОМПЛЕКСНАЯ ЭКСПЕРТИЗА ВНУТРИВУЗОВСКИХ СИСТЕМ УПРАВЛЕНИЯ КАЧЕСТВОМ ОБРАЗОВАНИЯ..................................................... 55

8.1. Описание задачи................................................................. 55

8.2. Лабораторная работа № 8................................................. 57

8.2.1. Порядок выполнения работы.................................. 57

8.2.2. Порядок оформления отчета.................................... 59

8.2.3. Контрольные вопросы............................................... 59

9. АЛГОРИТМ ФОРМИРОВАНИЯ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ 59

9.1. Описание задачи................................................................. 59

9.2. Лабораторная работа № 10............................................... 63

9.2.1. Порядок выполнения работы.................................. 63

9.2.2. Порядок оформления отчета.................................... 64

9.2.3. Контрольные вопросы............................................... 64

Наши рекомендации