
- •Раздел 1. Программное обеспечение для защиты информации
- •1.1. Основные термины информационной безопасности
- •1.2 Организация защиты информации программными средствами
- •Подмена доверенного объекта или субъекта распределенной вс
- •Внедрение в распределенную вс ложного объекта путем использования недостатков алгоритмов удаленного поиска
- •Селекция потока информации и сохранение ее на ложном объекте рвс
- •Модификация информации
- •Подмена информации
- •1.3. Специальное программное обеспечение для защиты информации
- •Защита программ на жестком диске
- •Защита программ от трассировки
- •1.4. Анализ использования программного обеспечения в области безопасности информации
- •Глава 2. Построение информационной системы на основе анализа работы программ информационной безопасности
- •Начальная битовая перестановка (ip).
- •Конечная битовая перестановка (ip–1).
- •Расширение 32-битового блока до 48 бит (e).
Глава 2. Построение информационной системы на основе анализа работы программ информационной безопасности
В настоящее время проблема конфиденциальности телефонных переговоров приобретает особое значение в связи с необходимостью защиты бизнес-интересов и личной свободы граждан. Современные методы обеспечения конфиденциальности связи для телефонных сетей общего пользования реализуется на основе различных криптографических алгоритмов. Наиболее криптостойкими алгоритмами являются DES, IDEA, ГОСТ 28147-89 и ряд других, которых не так уж и много. Некоторые из этих алгоритмов как, например, ГОСТ 28147-89 и DES закреплены стандартами своих стран – Россией и США соответственно.
Однако, обратной стороной вопроса обеспечения проблемы криптостойкости является существенная сложность и трудность программно-аппаратной реализации этих алгоритмов. В этой связи представляется актуальным разработать такую модификацию алгоритма криптографического шифрования, которая позволила бы сохранить криптостойкость.
Современные криптостойкие алгоритмы строятся на основе так называемой сети Файстеля. Именно по этому принципу и был построен алгоритм криптографического шифрования, с учётом экономии реализации программно-аппаратного продукта.
Алгоритм представляет собой сбалансированную сеть Файстеля с начальной и конечной битовыми перестановками, конечная перестановка является обращением начальной. Схема преобразования данных при зашифровании блока изображена на рисунке 11, схема соответствующего алгоритма – на рисунке 12.
Зашифрование
64-битового блока данных T
(входной параметр алгоритма, рис.2, шаг
0) начинается с начальной перестановки
битов в нем (IP,
шаг 1). Затем шифруемый блок разделяется
на две 32-битовые части (шаг 2) (Эта процедура
необходима для обратимости сети Файстеля,
то есть для шифрования и дешифрования
потребуется один и тот же алгоритм), с
которыми выполняются 16 раундов
преобразования в соответствии с
архитектурными принципами сети Файстеля.
Через Hin(X)
и Lon(X)
обозначены функции, возвращающие в
качестве результата соответственно n
старших или младших битов своего
аргумента. На каждом раунде старшая
половина блока модифицируется путем
побитового прибавления к ней по модулю
2 (операция "")
результата вычисления функции
шифрования
(f),
зависящей от младшей половины блока
(Li–1)
и 48-битового ключевого
элемента (ki).
Между раундами старшая и младшая половины
блока меняются местами. Таким образом,
на каждом раунде кроме последнего
младшая половина блока становится
старшей, а модифицированная с помощью
функции шифрования старшая – младшей
половиной блока (шаг 3). На последнем
раунде происходит то же самое за
исключением обмена значениями половин
блока. Затем полублоки объединяются в
полный блок (шаг 4), в котором выполняется
конечная битовая перестановка (IP–1,
шаг 5), обратная начальной. Результат
последней операции и является выходным
значением цикла шифрования – зашифрованным
блоком T'
(шаг 6). Шестнадцать 48-битовых ключевых
элементов ki,
1
i
16,
используемых в цикле шифрования, являются
параметрами алгоритма и вырабатываются
из 56-битового ключа в ходе рассмотренной
ниже процедуры
генерации ключевой последовательности.
Процедура расшифрования блока данных
идентична процедуре зашифрования с тем
отличием, что ключевые элементы в ней
используются в порядке, обратном порядку
их использования при зашифровании.
Таким образом, если при зашифровании
ключевые элементы используются в
"естественном" порядке возрастания
номеров
Рис. 11. Цикл шифрования DES - схема преобразования данных. |
Рис. 12. Цикл шифрования DES - схема алгоритма. |
k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14, k15, k16,
то при расшифровании они должны использоваться в обратном порядке:
k16, k15, k14, k13, k12, k11, k10, k9, k8, k7, k6, k5, k4, k3, k2, k1.
Начальная и обратная ей конечная битовые перестановки алгоритма DES задаются в приведенных ниже таблицах. Каждая ячейка таблицы соответствует определенному биту блока данных, номер которого указан в ней мелкими цифрами более бледным по сравнению с основным текстом цветом. Каждая таблица приведена в двух вариантах, соответствующих двум используемым способам нумерации битов в блоках. В левой части приводится вариант нумерации битов, принятый в оригинале стандарта – начиная с единицы от старших битов к младшим. Учитывая распространенность архитектуры Intel x86, в правой части таблицы приводится принятый для нее вариант нумерации, – начиная с нуля от младших битов к старшим. При описании перестановки в ячейках указывается номер бита исходного блока, который при перестановке помещается на место бита, соответствующего ячейке. Например, согласно таблице начальной перестановки на место самого старшего бита результата (N1 в левой таблице и N63 в правой) помещается бит N58 (N6 в правой таблице) исходного блока, на место бита N2(N62) бит N50(N14), и т.д..