Опубликован: 19.01.2010 | Уровень: специалист | Доступ: свободно
Лекция 7:

Введение в основы современных шифров с симметричным ключом

7.3. Рекомендованная литература

Нижеследующие книги и сайты дают более детальные сведения по обсуждаемым вопросам, которые рассмотрены в этой лекции. Ссылки, помещенные в скобки, приведены в списке в конце книги.

Книги

[Sti06] и [PHS03] содержат полные сведения о P -блоках и S -блоках. Поточные шифры тщательно рассмотрены в [Sch99 ] и [Sal03]. [Sti06], [PHS03] и [Vau06] — полный и интересный анализ дифференциального и линейного криптоанализа.

Сайты

Нижеследующие сайты дают более подробную информацию о темах, обсужденных в этой лекции.

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. Вопросы и упражнения

Обзорные вопросы

  1. Укажите различия между современным и традиционным шифрами с симметричным ключом.
  2. Объясните, почему современные блочные шифры спроектированы как шифры подстановки вместо того, чтобы применять шифры транспозиции.
  3. Объясните, почему шифр подстановки можно представить себе как шифр транспозиции.
  4. Перечислите некоторые компоненты современного блочного шифра.
  5. Определите P -блок и перечислите его три варианта. Какой вариант является обратимым?
  6. Определите S -блок и покажите необходимое условие обратимости S -блока.
  7. Определите составной шифр и перечислите два класса составных шифров.
  8. Укажите различие между рассеиванием и перемешиванием
  9. Укажите различие между блочным шифром Файстеля и не-Файстеля.
  10. Укажите различие между дифференциальным и линейным криптоанализом. Какой из них использует атаку выборки исходного текста? Какой из них использует также атаку знания исходного текста?
  11. Укажите различие между синхронным и несинхронным шифрами потока.
  12. Определите регистр сдвига с обратной связью и перечислите два варианта, используемые в шифре потока.

Упражнения

  1. Блок транспозиции имеет 10 входов и 10 выходов. Каков порядок группы перестановки? Каков размер ключевой последовательности?
  2. Блок подстановки имеет 10 входов и 10 выходов. Каков порядок группы перестановки? Каков размер ключевой последовательности?
    • Покажите результат циркулярного левого сдвига на 3 бита на слове (1001101l) 2.
    • Покажите результат циркулярного правого сдвига на 3 бита на слове, полученном в пункте a.
    • Сравните результат пункта b с первоначальным словом пункта a.
    • Измените слово (10011011) 2 с помощью перестановки.
    • Измените слово, полученное по пункту a, с помощью перестановки
    • Сравните результаты пункта a и пункта b, чтобы показать, что перестановка — самообратимая операция.
  3. Найдите результат следующих операций:
    • (01001101) \oplus  (01001101)
    • (01001101) \oplus  (10110010)
    • (01001101) \oplus  (00000000)
    • (01001101) \oplus  (11111111)
    • Расшифруйте слово 010, используя декодер 3 \times 8.
    • Зашифруйте слово 00100000, используя кодирующее устройство 8 \times 3.
  4. Сообщение имеет 2000 символов. Оно будет зашифровано с использованием блочного шифра 64 битов. Найдите размер дополнения и номера блоков.
  5. Покажите таблицу перестановки для прямого P -блока на рис. 7.4
  6. Покажите таблицу перестановки для P -блока сжатия на рис. 7.4.
  7. Покажите таблицу перестановки для P -блока расширения на рис. 7.4.
  8. Покажите P -блок, определенный следующей таблицей:
    8 1 2 3 4 5 6 7
  9. Определите, является ли P -блок со следующей таблицей перестановки прямым P -блоком, P -блоком сжатия или P -блоком расширения.
    1 1 2 3 4 4
  10. Определите, является ли P -блок со следующей таблицей перестановки прямым P -блоком, P -блоком сжатия или P -блоком расширения.
    1 3 5 6 7
  11. Определите, является ли P -блок со следующей таблицей перестановки прямым P -блоком, P -блоком сжатия или P -блоком расширения.
    1 2 3 4 5 6
  12. Отношение вход-выход в 2 \times 2 S -блока показаны в следующей таблице для S -блока. Покажите таблицу для инверсного блока.

  13. Покажите LFSR с характеристическим полиномом x5 + x2 + 1. Каков период получаемой последовательности?
  14. Каков характеристический полином следующего LFSR? Каков максимальный период?

  15. Покажите ключевой поток на 20 битов, сгенерированный от LFSR на рис. 7.25, если начальное значение — 1110.
  16. Максимальная длина периода LFSR32. Сколько битов имеет регистр сдвига?
  17. 6 x 2 S -блок производит операцию ИСКЛЮЧАЮЩЕЕ ИЛИ с нечетными битами, чтобы получить левый бит выхода, и ИСКЛЮЧАЮЩЕЕ ИЛИ с четными битами, чтобы получить правый бит выхода. Если вход — 110010, что является выходом? Если вход — 101101, что является выходом?
  18. Крайний левый бит 4 x 3 S -блока определяет смещение других трех бит. Если крайний левый бит равен 0, то три других бита перемещаются вправо на один бит. Если крайний левый бит — 1, три других бита перемещаются влево на один бит. Если вход — 1011, какой результат будет на выходе? Если вход — 0110, какой результат будет на выходе?
  19. Напишите процедуру в псевдокоде для разбиения n -битового слова на два слова, каждое из которых состоит из n/2.
  20. Напишите процедуру в псевдокоде для объединения двух n/2 -битовых слов в n -битовое слово.
  21. Напишите процедуру в псевдокоде, которая переставляет левые и правые половины n -битового слова.
  22. Напишите процедуру в псевдокоде, которая циклически сдвигает в n -разрядном слове на k бит влево или вправо, в соответствии с процедурой по п. 24.
  23. Напишите процедуру в псевдокоде для P -блока, в котором перестановка определена таблицей.
  24. Напишите процедуру в псевдокоде для S -блока, в котором вход-выход определен таблицей.
  25. Напишите процедуру в псевдокоде, которая моделирует каждый раунд не-Файстеля, показанный на рис. 7.13.
  26. Напишите процедуру в псевдокоде, которая моделирует каждый раунд шифра, показанный на рис. 7.17.
  27. Напишите процедуру в псевдокоде, которая моделирует n -битовый LFSR.
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????