Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Опубликован: 19.01.2010 | Уровень: специалист | Доступ: свободно
Лекция 7:
Введение в основы современных шифров с симметричным ключом
7.3. Рекомендованная литература
Нижеследующие книги и сайты дают более детальные сведения по обсуждаемым вопросам, которые рассмотрены в этой лекции. Ссылки, помещенные в скобки, приведены в списке в конце книги.
Книги
[Sti06] и [PHS03] содержат полные сведения о P -блоках и S -блоках. Поточные шифры тщательно рассмотрены в [Sch99 ] и [Sal03]. [Sti06], [PHS03] и [Vau06] — полный и интересный анализ дифференциального и линейного криптоанализа.
Сайты
Нижеследующие сайты дают более подробную информацию о темах, обсужденных в этой лекции.
- http://en.wikipedia.org/wiki/FeisteL.cipher
- http://www.quadibloc.com/crypto/co040906.htm
- tigger.uic.edu/~jleon/mcs425-s05/handouts/feistal-diagram.pdf
7.4. Итоги
- Традиционные шифры с симметричным ключом — шифры, ориентированные на символ. С появлением компьютера стали нужны шифры, ориентированные на биты.
- Современный симметричный ключевой блочный шифр зашифровывает n -битный блок исходного текста или расшифровывает n -битовый блок зашифрованного текста. Алгоритмы шифрования или дешифрования используют k -битные ключи.
- Современный блочный шифр может быть спроектирован так, чтобы действовать как шифр подстановки или шифр транспозиции. Однако чтобы быть стойким к атаке исчерпывающего поиска, современный блочный шифр должен быть спроектирован как шифр подстановки.
- Современные блочные шифры — обычно ключевые шифры подстановки, в которых ключ практически позволяет отображение всех возможных входов во все возможные выходы.
- Современный блочный шифр состоит из комбинации P -блоков, модулей подстановки, S -блоков и некоторых других модулей.
- P -блок (блок перестановки) подобен традиционному шифру транспозиции для символов. Есть три типа P -блоков: прямые P -блоки, P -блоки расширения и P -блоки сжатия.
- S -блок (блок подстановки) можно представить себе как маленький блок шифра подстановки. Однако в S -блоке может быть различное число входов и выходов.
- Операция ИСКЛЮЧАЮЩЕЕ ИЛИ — важный компонент в большинстве блочных шифров: она представляет операции сложения или вычитания в поле GF (2).
- В современных блочных шифрах часто применяется операция циклического сдвига, в которой смещение может быть влево или вправо. Операция перестановки — специальный случай операции циклического сдвига, где k = n/2. Две других операции, применяемые в некоторых блочных шифрах, — разбиение и комбинирование.
- Шеннон ввел понятие составного шифра. Составной шифр — сложный шифр, объединяющий S -блоки, P -блоки и другие компоненты, чтобы достигнуть рассеивания и перемешивания. Рассеивание скрывает отношения между исходным текстом и зашифрованным текстом, перемешивание скрывает отношения между ключом шифра и зашифрованным текстом.
- Современные блочные шифры — все составные шифры, но они разделены на два класса: шифры не-Файстля и шифры Файстеля. Шифры Файстеля используют и обратимые, и необратимые компоненты. Шифры не-Файстля используют только обратимые компоненты.
- Некоторые новые атаки блочных шифров базируются на структуре современных шифров. Эти атаки используют дифференциальные и линейные методы криптоанализа
- В современном шифре потока каждое слово r -бита в потоке исходного текста зашифровано, для чего используется r -битовое слово в потоке ключей, чтобы создать соответствующее r -битовое слово в потоке зашифрованного текста. Современные шифры потока могут быть разделены на две обширные категории: синхронные шифры потока и несинхронный шифр потока в синхронном шифре потока. В первом случае ключевой поток независим от потока зашифрованного текста или исходного текста. В несинхронном шифре потока ключевой поток зависит от исходного текста или потока зашифрованного текста.
- Самый простой и самый безопасный тип синхронного шифра потока назван одноразовым блокнотом. Шифр одноразового блокнота использует ключевой поток ключей, который выбран беспорядочно для каждого шифрования. Алгоритмы шифрования и дешифрования используют операцию ИСКЛЮЧАЮЩЕЕ ИЛИ. Шифр одноразового блокнота не годится для практики, потому что ключ должен быть индивидуальным для каждого сеанса связи. Один из компромиссных вариантов одноразового блокнота — регистр сдвига с обратной связью (FSR), который может быть реализован в аппаратных средствах или программном обеспечении.
7.5. Вопросы и упражнения
Обзорные вопросы
- Укажите различия между современным и традиционным шифрами с симметричным ключом.
- Объясните, почему современные блочные шифры спроектированы как шифры подстановки вместо того, чтобы применять шифры транспозиции.
- Объясните, почему шифр подстановки можно представить себе как шифр транспозиции.
- Перечислите некоторые компоненты современного блочного шифра.
- Определите P -блок и перечислите его три варианта. Какой вариант является обратимым?
- Определите S -блок и покажите необходимое условие обратимости S -блока.
- Определите составной шифр и перечислите два класса составных шифров.
- Укажите различие между рассеиванием и перемешиванием
- Укажите различие между блочным шифром Файстеля и не-Файстеля.
- Укажите различие между дифференциальным и линейным криптоанализом. Какой из них использует атаку выборки исходного текста? Какой из них использует также атаку знания исходного текста?
- Укажите различие между синхронным и несинхронным шифрами потока.
- Определите регистр сдвига с обратной связью и перечислите два варианта, используемые в шифре потока.
Упражнения
- Блок транспозиции имеет 10 входов и 10 выходов. Каков порядок группы перестановки? Каков размер ключевой последовательности?
- Блок подстановки имеет 10 входов и 10 выходов. Каков порядок группы перестановки? Каков размер ключевой последовательности?
-
- Покажите результат циркулярного левого сдвига на 3 бита на слове (1001101l) 2.
- Покажите результат циркулярного правого сдвига на 3 бита на слове, полученном в пункте a.
- Сравните результат пункта b с первоначальным словом пункта a.
-
- Измените слово (10011011) 2 с помощью перестановки.
- Измените слово, полученное по пункту a, с помощью перестановки
- Сравните результаты пункта a и пункта b, чтобы показать, что перестановка — самообратимая операция.
- Найдите результат следующих операций:
-
- Расшифруйте слово 010, используя декодер .
- Зашифруйте слово 00100000, используя кодирующее устройство .
- Сообщение имеет 2000 символов. Оно будет зашифровано с использованием блочного шифра 64 битов. Найдите размер дополнения и номера блоков.
- Покажите таблицу перестановки для прямого P -блока на рис. 7.4
- Покажите таблицу перестановки для P -блока сжатия на рис. 7.4.
- Покажите таблицу перестановки для P -блока расширения на рис. 7.4.
- Покажите P -блок, определенный следующей таблицей:
- Определите, является ли P -блок со следующей таблицей перестановки прямым P -блоком, P -блоком сжатия или P -блоком расширения.
- Определите, является ли P -блок со следующей таблицей перестановки прямым P -блоком, P -блоком сжатия или P -блоком расширения.
- Определите, является ли P -блок со следующей таблицей перестановки прямым P -блоком, P -блоком сжатия или P -блоком расширения.
- Отношение вход-выход в S -блока показаны в следующей таблице для S -блока. Покажите таблицу для инверсного блока.
- Покажите LFSR с характеристическим полиномом x5 + x2 + 1. Каков период получаемой последовательности?
- Каков характеристический полином следующего LFSR? Каков максимальный период?
- Покажите ключевой поток на 20 битов, сгенерированный от LFSR на рис. 7.25, если начальное значение — 1110.
- Максимальная длина периода LFSR — 32. Сколько битов имеет регистр сдвига?
- 6 x 2 S -блок производит операцию ИСКЛЮЧАЮЩЕЕ ИЛИ с нечетными битами, чтобы получить левый бит выхода, и ИСКЛЮЧАЮЩЕЕ ИЛИ с четными битами, чтобы получить правый бит выхода. Если вход — 110010, что является выходом? Если вход — 101101, что является выходом?
- Крайний левый бит 4 x 3 S -блока определяет смещение других трех бит. Если крайний левый бит равен 0, то три других бита перемещаются вправо на один бит. Если крайний левый бит — 1, три других бита перемещаются влево на один бит. Если вход — 1011, какой результат будет на выходе? Если вход — 0110, какой результат будет на выходе?
- Напишите процедуру в псевдокоде для разбиения n -битового слова на два слова, каждое из которых состоит из n/2.
- Напишите процедуру в псевдокоде для объединения двух n/2 -битовых слов в n -битовое слово.
- Напишите процедуру в псевдокоде, которая переставляет левые и правые половины n -битового слова.
- Напишите процедуру в псевдокоде, которая циклически сдвигает в n -разрядном слове на k бит влево или вправо, в соответствии с процедурой по п. 24.
- Напишите процедуру в псевдокоде для P -блока, в котором перестановка определена таблицей.
- Напишите процедуру в псевдокоде для S -блока, в котором вход-выход определен таблицей.
- Напишите процедуру в псевдокоде, которая моделирует каждый раунд не-Файстеля, показанный на рис. 7.13.
- Напишите процедуру в псевдокоде, которая моделирует каждый раунд шифра, показанный на рис. 7.17.
- Напишите процедуру в псевдокоде, которая моделирует n -битовый LFSR.