- •Курсовая работа
- •1. Основные понятия и определения
- •2. Введение
- •3. Шифры простой замены
- •4. Шифры сложной замены
- •5.Расчетная часть.
- •Начальная битовая перестановка (ip).
- •Конечная битовая перестановка (ip–1).
- •Расширение 32-битового блока до 48 бит (e).
- •Замена в битовых группах(Si).
- •Выходная битовая перестановка функции шифрования (p).
- •Входная битовая выборка-перестановка (pc1).
- •Количество сдвигов на шагах выработки ключевых элементов ().
- •Выходная битовая выборка-перестановка (pc2).
- •6.Заключение
- •7.Список использованных источников
- •Оригинальные узлы замен.
- •Узлы замен для программной реализации.
5.Расчетная часть.
В настоящее время проблема конфиденциальности телефонных переговоров приобретает особое значение в связи с необходимостью защиты бизнес-интересов и личной свободы граждан. Современные методы обеспечения конфиденциальности связи для телефонных сетей общего пользования реализуется на основе различных криптографических алгоритмов. Наиболее криптостойкими алгоритмами являются DES, IDEA, ГОСТ 28147-89 и ряд других, которых не так уж и много. Некоторые из этих алгоритмов как, например, ГОСТ 28147-89 и DES закреплены стандартами своих стран – Россией и США соответственно.
Однако, обратной стороной вопроса обеспечения проблемы криптостойкости является существенная сложность и трудность программно-аппаратной реализации этих алгоритмов. В этой связи представляется актуальным разработать такую модификацию алгоритма криптографического шифрования, которая позволила бы сохранить криптостойкость.
Современные криптостойкие алгоритмы строятся на основе так называемой сети Файстеля. Именно по этому принципу и был построен алгоритм криптографического шифрования, с учётом экономии реализации программно-аппаратного продукта.
Алгоритм представляет собой сбалансированную сеть Файстеля с начальной и конечной битовыми перестановками, конечная перестановка является обращением начальной. Схема преобразования данных при зашифровании блока изображена на рисунке 11, схема соответствующего алгоритма – на рисунке 12.
Рис. 11. Цикл шифрования DES - схема преобразования данных. |
Рис. 12. Цикл шифрования DES - схема алгоритма. |
Зашифрование 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, 1i16, используемых в цикле шифрования, являются параметрами алгоритма и вырабатываются из 56-битового ключа в ходе рассмотренной ниже процедуры генерации ключевой последовательности. Процедура расшифрования блока данных идентична процедуре зашифрования с тем отличием, что ключевые элементы в ней используются в порядке, обратном порядку их использования при зашифровании. Таким образом, если при зашифровании ключевые элементы используются в "естественном" порядке возрастания номеров
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), и т.д..