Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Структура шифра Фейстеля и его практическая реализация, выбор значений параметров, конструктивных особенностей.
Многие современные блоковые шифры реализуются на основе так называемой структуры Файстеля. Для этого предварительно из секретного ключа = 0 при помощи заданного детерминированного преобразования, входящего в описание алгоритма шифрования, формируется последовательность текущих ключей i , i = 1, 2,..., d, где d – число итераций. Сама структура Файстеля предполагает следующий способ преобразования блоков. Сначала каждый блок сообщения, образованный последовательностью двоичных символов. длиною n, разбивается пополам на подблоки длиною n 0= n/ 2 (рис. 10). Для этого n должно быть четным Шифрование каждого блока выполняется отдельно с использованием рекуррентного соотношения
= ( d , d +1)
длиною n. Этот блок также составлен из последовательно записанных друг за другом подблоков, но теперь уже d и d +1 .Отметим, что примененное объединение подблоков в единый блок называется конкатенация. Преимущества структуры Файстеля состоят в том, что, во-первых, для нее выполняется принцип перемешивания подблоков и, во-вторых, хотя функция f (,) может и не иметь обратную f –1(,), весьма просто реализуется алгоритм дешифрования при ключе, известном законному пользователю. Имеется много различных блоковых шифров, основанных на структуре Файстеля, которые отличаются выбором функции f и способом формирования текущих ключевых элементов i, i = 1, 2,…, d, из секретного ключа .
64 Какова общая схема алгоритма DES? Что такое поразрядное суммирование? Как получить расширенный подблок? Как формируются двоичные векторы V 1 и V 2? Как выполняется операция подстановки? Алгоритм представляет собой сбалансированную сеть Файстеля с начальной и конечной битовыми перестановками, конечная перестановка является обращением начальной. Схема преобразования данных при зашифровании блока изображена на рисунке 1, схема соответствующего алгоритма – на рисунке 2.
Зашифрование 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-битового ключа в ходе рассмотренной ниже процедуры генерации ключевой последовательности. Процедура расшифрования блока данных идентична процедуре зашифрования с тем отличием, что ключевые элементы в ней используются в порядке, обратном порядку их использования при зашифровании. Таким образом, если при зашифровании ключевые элементы используются в "естественном" порядке возрастания номеров k 1, k 2, k 3, k 4, k 5, k 6, k 7, k 8, k 9, k 10, k 11, k 12, k 13, k 14, k 15, k 16, то при расшифровании они должны использоваться в обратном порядке: k 16, k 15, k 14, k 13, k 12, k 11, k 10, k 9, k 8, k 7, k 6, k 5, k 4, k 3, k 2, k 1.
Поразрядное сложение - заключается в сложении одноименных разрядов чисел по модулю 2 в соответствии с правилом 0 + 0 = 0, 1 + 0 =1, 0+ 1=1, 1 + 1= 0. Применяется для сравнения двух чисел на равенство
|
||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 254; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.93.73 (0.005 с.) |