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

Шифрование, использующее современные шифры с симметричным ключом

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

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

Книги

[Sch99], [Sta06], [PHS03], [Sti06], [MOV97] и [KPS02] рассматривают режимы работы. [Vau06] и [Sta06] дают полные сведения о шифрах потока.

Сайты

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

11.5. Итоги

  • В реальных приложениях зашифрованный текст имеет переменные размеры и обычно намного большие, чем размер блока, определенный для современных блочных шифров. Режимы работы были изобретены, чтобы зашифровать текст любого размера, который обслуживается современными блочными шифрами. В этой лекции были рассмотрены пять режимов работы.
  • Самый простой режим работы называется режимом электронной кодовой книги (ECBELECTRONIC CODEBOOK). Исходный текст разделен на N блоков. Размер блока — n бит. Каждый блок использует для шифрования и дешифрования один и тот же ключ.
  • В режиме сцепления блоков шифротекста (CBCCipher Block Chaining) каждый блок исходного текста прежде чем зашифровывать, складывают по модулю два с предыдущим блоком зашифрованного текста. Когда блок зашифрован, его передают, но его копия сохраняется в памяти, чтобы ее можно было использовать для шифрования следующего блока. Передатчик и приемник согласуют заранее заданный вектор инициализации ( IV ), чтобы складывать его по модулю два с первым блоком зашифрованного текста.
  • Чтобы шифровать маленькие модули данных в реальном масштабе времени, применяется режим кодированной обратной связи (CFBCIPHER FEEDBACK), CFB применяет стандартные блочные шифры, такие как DES или AES, регистр сдвига, но использует операцию сложения по модулю два, чтобы зашифровать или расшифровывать модули данных. Режим CFB использует блочные шифры, но в результате — это шифр потока, потому что каждый модуль данных зашифровывается своим ключом.
  • Режим внешней обратной связи (OFB) очень похож на режим CFB, с одной разницей — каждый бит в зашифрованном тексте независим от предыдущего бита или битов. Это позволяет избежать распространения ошибки. Вместо того чтобы использовать предыдущий блок зашифрованного текста, OFB берет предыдущий ключ как информацию обратной связи.
  • В режиме счетчика (CTR) нет информации обратной связи. Псевдослучайность в потоке достигается с помощью счетчика. Счетчик на n битов инициализируется установкой заранее заданного значения ( IV ) и увеличивается по заранее заданному правилу.
  • Чтобы зашифровать маленькие единицы данных, такие как символы или биты, были разработаны для испытаний несколько шифров потока. Эти шифры потока более эффективны для обработки в реальном масштабе времени. В этой лекции рассматривались только два шифра потока — RC4 и A5/l.
  • RC4 — шифр потока, ориентированный на байт, в котором байт ( 8 битов) исходного текста надо сложить по модулю два с байтом ключа, чтобы создать байт зашифрованного текста. Секретный ключ, из которого генерируются однобайтовые ключи в ключевом потоке, может содержать от 1 до 256 байтов. Ключевой генератор потока базируется на перестановке 256 байтов.
  • A5/1 — шифр потока, используемый для мобильной телефонной связи. A5/1 создает поток бит из ключа на 64 бита, используя три линейных регистра сдвига.

11.7. Набор для практики

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

  1. Объясните, почему необходимы режимы работы, если для шифровки используются современные блочные шифры.
  2. Перечислите пять режимов работы, рассмотренных в этой лекции.
  3. Определите ECB ( ELECTRONIC CODEBOOK) и перечислите его преимущества и недостатки.
  4. Определите CBC (CIPHER BLOCK CHAINING) и перечислите ее преимущества и недостатки.
  5. Определите CFB (CIPHER FEEDBACK) и перечислите его преимущества и недостатки
  6. Определите OFB (OUTPUT FEEDBACK) и перечислите его преимущества и недостатки.
  7. Определите CTR и перечислите его преимущества и недостатки.
  8. Разделите пять режимов работы на две группы: те, которые используют функции шифрования и дешифрования, — основные шифры (например, DES или AES), и те, которые используют только функцию шифрования.
  9. Разделите пять режимов работы на две группы: те, которые требуют дополнение текста, и те, которые не требуют этого.
  10. Разделите пять режимов работы на две группы: те, которые используют один и тот же ключ для шифрования всех блоков, и те, которые используют ключевой поток для шифровки блоков.
  11. Объясните основные различия между RC4 и A5/1. Какой из них использует линейный регистр сдвига?
  12. Каков размер модуля данных в RC4? Каков размер модуля данных в A5/1?
  13. Перечислите режимы работы, которые могут быть ускорены параллельной обработкой.
  14. Перечислите режимы работы, которые могут использоваться для шифровки файлов произвольного доступа.

Упражнения

  1. Покажите, почему режим CFB создает несинхронный шифр потока, а режим OFB создает синхронный.
  2. Сколько блоков затрагивает единственный бит ошибки в передаче в режиме CFB?
  3. В режиме ECB бит 17 в зашифрованном тексте блока 8 разрушен в течение передачи. Найдите возможные разрушенные биты в исходном тексте.
  4. В режиме CBC биты 17 и 18 в зашифрованном тексте блока 9 в процессе передачи были разрушены. Найдите возможные разрушенные биты в исходном тексте.
  5. В режиме CFB биты 3-6 в зашифрованном тексте блока 11 разрушены ( r = 8 ). Найдите возможные разрушенные биты в исходном тексте.
  6. В режиме CTR блоки 3 и 4 полностью разрушены. Найдите возможные разрушенные биты в исходном тексте.
  7. В режиме OFB полный зашифрованный текст блока 11 разрушен ( r = 8 ). Найдите возможные разрушенные биты в исходном тексте.
  8. Докажите, что исходный текст, используемый Алисой, может быть восстановлен Бобом в режиме CFB.
  9. Докажите, что исходный текст, используемый Алисой, может быть восстановлен Бобом в режиме OFB.
  10. Докажите, что исходный текст, используемый Алисой, может быть восстановлен Бобом в режиме CTR.
  11. Покажите диаграмму для шифрования и дешифрования в режиме CFB, когда r = n.
  12. Покажите диаграмму для шифрования и дешифрования в режиме OFB, когда r = n.
  13. Покажите процесс, используемый для алгоритма дешифрования в режиме ECB, если применяется захват зашифрованного текста (CTS).
  14. Покажите диаграммы шифрования и дешифрования для режима ECB (только последние два блока), когда используется захват зашифрованного текста (CTS).
  15. Покажите процесс, используемый для алгоритма дешифрования в режиме CBC, если применяется захват зашифрованного текста (CTS).
  16. Покажите шифрование и диаграмму дешифрования для режима CBC (только последние два блока), когда используется захват зашифрованного текста (CTS).
  17. Объясните, почему нет потребности в захвате зашифрованного текста в режимах CFB, OFB и CTR (CIPHER FEEDBACK, OUTPUT FEEDBACK).
  18. Покажите эффект распространения ошибки, когда ECB (ELECTRONIC CODEBOOK) использует методику CTS.
  19. Покажите эффект распространения ошибки, когда CBC использует методику CTS.
  20. Режим Формирование цепочки блоков является вариантом, в котором все предыдущие блоки зашифрованного текста перед шифрованием складываются по модулю два с текущим исходным текстом. Выведите рисунок-диаграмму, которая показывает шифрование и дешифрование.
  21. Режим размножения Цепочка блоков шифротекста (PCBC) является вариантом CBC, в котором перед шифрованием предыдущий блок исходного текста и предыдущий блок зашифрованного текста складывается по модулю два с текущим блоком исходного текста. Нарисуйте диаграмму, которая показывает шифрование и дешифрование.
  22. Режим Цепочка блоков шифротекста с контрольной суммой (CBCC) является вариантом CBC, в котором все предыдущие блоки исходного текста перед шифрованием складываются по модулю два с текущим блоком исходного текста. Нарисуйте диаграмму, чтобы показать шифрование и дешифрование и проиллюстрировать процедуру.
  23. В RC4 покажите первые 20 элементов ключевого потока, если ключ засекречивания — 7 байтов со значениями 1, 2, 3, 4, 5, 6 и 7. Вы можете при желании написать маленькую программу.
  24. В RC4 найдите значение для ключа засекречивания, который не изменяет матрицу состояний после первого и второго шагов инициализации.
  25. Алиса обменивается сообщениями с Бобом, используя в RC4 для засекречивания 16 -байтовый ключ засекречивания. Ключ засекречивания изменяется каждый раз, используя рекурсивное определение K = (Ki-1+Ki-1 )mod 2128. Покажите, сколькими сообщениями они могут обменяться перед тем, как текст начнет повторяться.
  26. В A5/1 найдите максимальный период каждого линейного регистра сдвига.
  27. В A5/1 найдите значение следующих функций. В каждом случае показать, сколько синхронизируется линейных регистров сдвига.
    • Majority (1, 0, 0)
    • Majority (0, 1, 1)
    • Majority (0, 0, 0)
    • Majority (1, 1, 1)
  28. В A5/1 найдите выражение для мажоритарной функции.
  29. Напишите алгоритм дешифрования в псевдокоде для режима ECB.
  30. Напишите алгоритм дешифрования в псевдокоде для режима CBC.
  31. Напишите псевдокод алгоритма дешифрования для режима CFB.
  32. Напишите алгоритм дешифрования в псевдокоде для режима OFB.
  33. Напишите алгоритм дешифрования в псевдокоде для режима CTR.
  34. Напишите алгоритм для shiftleft -процедуры, используемой в алгоритме 11.4.
  35. Напишите алгоритм для selectleft -процедуры, используемой в алгоритме 11.4.
  36. Напишите алгоритм для процедуры конкатенации, используемой в алгоритме 11.4.
Евгений Виноградов
Евгений Виноградов

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

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

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

Р Алоев
Р Алоев
Россия
Татьяна Тренина
Татьяна Тренина
Россия, Челябинск