Разработка алгоритмов защиты информации в сетях АТМ
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
определяется как:
, (4.2.2)
где , - операция конкатенации, а - побитовое исключающее ИЛИ. Структура итерации сети Фейстела представлена на рисунке 4.2.1. Сеть Фейстела состоит из некоторого фиксированного числа итераций, определяемого соображениями стойкости разрабатываемого шифра, при этом на последней итерации перестановка местами половин блока текста не производится, так как это не влияет на стойкость шифра.
Рисунок 4.2.1 - Структура итерации сети Фейстела
Данная структура шифров обладает рядом достоинств, а именно:
процедуры шифрования и расшифрования совпадают, с тем исключением, что ключевая информация при расшифровании используется в обратном порядке;
для построения алгоритмов шифрования можно использовать одинаковые блоки в процедурах шифрования и расшифрования.
Недостатком является то, что на каждой итерации изменяется только половина блока обрабатываемого текста, что приводит к необходимости увеличения числа итераций для достижения требуемой стойкости.
В отношении выбора F-функции никаких чётких стандартов не существует, но, как правило, эта функция представляет собой последовательность зависящих от ключа нелинейных замен, перемешивающих перестановок и сдвигов.
При построении алгоритма введём ассоциативную операцию конкатенации, используя для неё мультипликативную запись. Кроме того, используем следующие операции сложения:
- - побитовое сложение по модулю 2;
- сложение по модулю 232;
- сложение по модулю 232-1.
Алгоритм криптопреобразования предусматривает несколько режимов работы. Во всех режимах используется ключ длиной 256 бит, представляемый в виде восьми 32-разрядных чисел .
(4.2.3)
Для расшифрования используется тот же ключ, но процесс расшифрования является инверсным по отношению к исходному.
Используем режим гаммирования с обратной связью, схема которого представлена на рисунке 4.2.2 и математически описывается формулами:
. (4.2.4)
Рисунок 4.2.2 - Схема режима гаммирования с обратной связью
Открытые данные, разбитые на 64-разрядные блоки , , где определяется объёмом шифруемых данных, зашифровываются в режиме гаммирования путём поразрядного сложения по модулю 2 с гаммой шифра , которая вырабатывается блоками по 64 бита:
. (4.2.5)
Уравнения шифрования данных в режиме гаммирования с обратной связью выглядят следующим образом:
, (4.2.6)
. (4.2.7)
В этих уравнениях обозначает 64-разрядный блок зашифрованного текста, - функцию шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядных числа).
-разрядная последовательность , называемая синхроссылкой (начальным вектором), не является секретным элементом шифра, но её наличие необходимо как на передающей, так и на приёмной стороне.
В данном случае стойкость режима равна стойкости шифра, лежащего в его основе и структура исходного текста скрывается за счёт использования операции сложения по модулю 2. Манипулирование исходным текстом путём удаления блоков из начала или конца шифрованного текста становится невозможным.
4.3 Алгоритм цифровой подписи
При описании данного алгоритма будут использоваться следующие обозначения:
- - множество всех конечных слов в алфавите ;
- длина слова ;
- множество всех двоичных слов длины ;
- конкатенация слов и , также обозначается как ;
- конкатенация экземпляров слова ;
- слово длины , содержащее запись , где - неотрицательное целое;
- побитовое сложение слов по модулю 2;
- сложение по правилу ;
- передаваемое сообщение;
- полученное сообщение;
- хэш-функция, отображающая последовательность в слово ;
- простое число, , либо ;
- простое число, и является делителем для ;
- целое число, , при этом ;
- целое число, ;
- секретный ключ пользователя для формирования подписи, ;
- открытый ключ для проверки подписи, .
Система ЭЦП включает в себя процедуры выработки и проверки подписи под данным сообщением.
Цифровая подпись, состоящая из двух целых чисел, вычисляется с помощью определённого набора правил.
Числа , и , являющиеся параметрами системы, не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое число , которое генерируется в процедуре подписи сообщения, должно быть секретным и должно быть уничтожено сразу после выработки подписи. Число снимается с физического датчика случайных чисел или вырабатывается псевдослучайным методом с использованием секретных параметров.
Процедура выработки подписи включает в себя следующие шаги:
вычисление - значения хэш-функции от сообщения . Если
, (4.3.1)
то присваивается значение ;
выбор целого числа , ;
вычисление двух значений:
и . (4.3.2)
Если , то необходимо выбрать другое значение числа ;
вычисление значения
(4.3.3)
с использованием секретного ключа пользователя . Если , то необходимо выбрать другое значение числа , в противном случае необходимо закончить работу алгоритма.
При этом, сообщение, дающее нулевое значение хэш-функции, не подписывается. В противном случае уравнение подписи упростилось бы до
(4.3.4)
и злоумышленник легко мог бы вычислить секретный ключ .
Проверка цифровой подписи возможна при наличии у получателя открытого ключа отправи