Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5ballov-25671.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
245 Кб
Скачать
☆

II. Симметричные шифры.

Q: А что значит блочное/потоковое шифрование?

A: Блочная криптосистема (блочный шифр) разбивает открытый текст M на

последовательные блоки M1, M2, ..., Mn и применяет криптографическое

преобразование к каждому блоку. Поточная криптосистема (поточный шифр)

разбивает открытый текст M на буквы или биты m1, m2,..., mn и применяет

криптографическое преобразование к каждому знаку mi в соответствии со знаком

ключевого потока ki. Потоковое шифрование часто называют гаммированием.

Потоковый шифр может быть легко получен из блочного путем применения

специального режима (см. ниже).

Q: Что такое ECB, CBC, OFB, CFB?

A: Это режимы работы блочных шифров. ANSI X3.106 (1983)

ECB

Electronic Code Book Mode (режим электронной кодовой книги, режим простой

замены). В этом режиме все блоки текста шифруются независимо, на одном и том же

ключе, в соответствии с алгоритмом.

SM

Stream Mode (поточный режим, режим гаммирования). В этом режиме открытый текст

складывается по модулю 2 с гаммой шифра. Гамма получается следующим образом:

при помощи генератора формируется предварительная гамма (начальное заполнение

этого генератора - так называемая синхропосылка - не является секретом и

передается по каналу в открытом виде). Предварительная гамма подвергается

зашифрованию в режиме ECB, в результате чего и получается основная гамма, с

которой складывается открытый текст. Если последний блок неполный (его длина

меньше стандартного для данного алгоритма размера блока), берется только

необходимое количество бит гаммы.

CFB

Cipher Feedback Mode (гаммирование с обратной связью). В этом режиме открытый

текст также складывается по модулю 2 с гаммой шифра. Гамма получается следующим

образом: сначала шифруется (в режиме ECB) синхропосылка (она также передается

по каналу в открытом виде). Результат шифрования складывается по модулю 2 с

первым блоком открытого текста (получается первый блок шифртекста) и снова

подвергается зашифрованию. Полученный результат складывается со вторым блоком

открытого текста и т.д. Обработка последнего блока - аналогично предыдущему

режиму.

OFB

Output Feedback Mode (гаммирование с обратной связью по выходу). Как и в

предыдущем режиме, сначала зашифрованию подвергается синхропосылка. Результат

складывается по модулю 2 с первым блоком открытого текста - получается первый

блок шифртекста. Далее, результат шифрования с предыдущего шага (до сложения!)

шифруется еще раз и складывается со следующим блоком открытого текста. Таким

образом, гамма шифра получается путем многократного шифрования синхропосылки в

режиме ECB. Обработка последнего блока - аналогично предыдущему режиму.

Легко видеть, что приведённое определение OFB полностью совпадает с

определением SM. И это соотвествует криптографической практике в частности в

[1.2, p 203] просто нет SM, а OFB определяется так:

Ci = Pi ^ Si ; Si = Ek(Si-1) - шифрование

Pi = Ci ^ Si ; Si = Ek(Si-1) - расшифрование

В тоже время можно встретить другое определение OFB, на пример,

http://msdn.microsoft.com/library/psdk/crypto/aboutcrypto_9omd.htm.

Там же рекомендовано установить размер сдвига равный размеру блока

блочного шифра по причинам стойкости. Однако, такая установка приводит

к полному совпадению с режимом SM. В частности для DES, всегда применяют

ofb64bit.

CBC

Cipher Block Chaining Mode (режим сцепления блоков). В этом режиме очередной

блок открытого текста складывается по модулю 2 с предыдущим блоком шифртекста,

после чего подвергается зашифрованию в режиме ECB. Для самого первого блока

"предыдущим блоком шифртекста" является синхропосылка. Если последний блок

открытого текста неполный - он дополняется до необходимой длины.

Q: Что такое "гамма" и "гаммирование"?

A: Гамма - это псевдослучайная числовая последовательность, вырабатываемая по

заданному алгоритму и используемая для зашифрования открытых данных и

расшифрования зашифрованных. Гаммированием принято называть процесс наложения

по определенному закону гаммы шифра на открытые данные для их зашифрования.

Q: А у поточного шифрования какие бывают режимы?

A: Шифрование последовательности с обратной связью (заворачивает

криптотекст на вход ГСП (генератор случайной последовательности, роль которого

играет алгоритм шифрования) шифрование ключей с обратной связью. См. режим CFB

для блочных шифров.

Q: Что такое архитектура "Квадрат" (SQUARE)?

A. Это архитектура построения блочных шифров с секретным ключом, она имеет

следующие особенности:

- она является вариантом общих SP-сетей (за один раунд шифруемый блок

преобразуется целиком), построенным по схеме KASLT (Key Addition -

Substitution - Linear Transformation);

- архитектура байт-ориентирована, шифруемый блок представляется в виде

матрицы байтов, замена также выполняется побайтно, на каждом раунде может

использоваться один, максимум-два узла замен, больше втиснуть сложнее;

- линейное преобразование (третий шаг раунда) двухфазное, состоит из

перестановки байтов в матрице и независимого линейного комбинирования

отдельных столбцов (или строк) матрицы. Смысл этой двухфазности - диффузия

изменений в двух направлениях - по строкам и по столбцам;

В данной архитектуре замена приводит к диффузии изменений внутри байта,

линейное преобразование - в двух измерениях матрицы, в итоге получаем, что

любое изменение в данных диффундирует на весь блок всего за 2 раунда.

В архитектуре "квадрат" выполнены шифры AES(Rijndael), Square ("квадрат",

его название дало имя всей архитектуре), Crypton (один из кандидатов на

AES). Второе место в конкурсе AES занял другой KASLT-шифр, Serpent. Дело

идет к тому, что KASLT-сети и, в частности, архитектура SQUARE, в ближайшем

будущем станут безраздельно доминировать.

Q: А какие есть симметричные алгоритмы шифрования?

A: Да их немеряно! ;) Приведем наиболее известные:

Шифр Цезаря

Великий император, с целью сокрытия содержания написанного заменял каждую

букву на третью следующую за ней по счету букву алфавита. Цезарь применял

сдвиг на три буквы; в общем случае это может быть любое число, меньшее, чем

длина алфавита. Это число и является ключом в данном шифре:

А Б В Г Д Е Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я

Г Д Е Е Ж 3 И И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я А Б В

КРИПТОГРАФИЯ -> НУЛТХСЕУГЧЛВ

Шифр Виженера

Является модификацией шифра Цезаря, в котором величина сдвига является

переменной и зависит от ключевого слова. Например, если в качестве ключевого

слова использовать слово "ТАЙНА", то это будет означать, что первую букву

сообщения необходимо сдвинуть на 20 (порядковый номер буквы "Т"), вторую -

на 1 (порядковый номер буквы "А"), третью - на 11, четвертую - на 15,

пятую - на 1, шестую - снова на 20 (ключевое слово начинаем использовать

с начала) и т.д. Таким образом, ключевое слово "накладывается" на защищаемый

текст.

Шифр Вернама

Алгоритм был изобретен в 1917 г. сотрудником компании AT&T по фамилии

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]