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

Традиционные шифры с симметричным ключом

4.4. Шифры потока и блочные шифры

В литературе симметричные шифры разделяют на две категории: шифры потока и блочные шифры. Хотя эти категории применяются к современным шифрам, но они могут также работать в традиционных шифрах.

Шифры потока

В шифрах потока шифрование делается в один момент времени над одним символом (таким, как буква или бит). Мы имеем поток исходного текста, поток зашифрованного текста и поток ключей. Обозначим исходный поток P, поток зашифрованного текста — C и поток ключей — K.

P = P1P2P3,…             
C = C1C2C3,…           
K = (k1k2k3,…)
C1 = Ek1(P1)    
C2 = Ek2(P2) 
C3 = Ek3(P3)…

Рисунок 4.26 показывает идею указанного ранее шифра потока. Символы обычного текста принимаются алгоритмом шифрования по одному. Символы зашифрованного текста также создаются по одному в один и тот же момент времени. Ключевой поток может быть создан многими способами. Это может быть поток с заранее определенными значениями; это может быть только одно значение, используемое алгоритмом. Значения могут зависеть от исходного текста или символов зашифрованного текста. Значения могут также зависеть от предыдущих ключевых значений.

 Шифр потока

Рис. 4.26. Шифр потока

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

Пример 4.30

Аддитивные шифры могут быть отнесены к категории шифров потока, в которых ключевой поток является повторным значением ключа. Другими словами, ключевой поток рассматривают как заранее определенный поток ключей или K = (k,k,…k). В этом шифре, однако, каждый символ в зашифрованном тексте зависит только от соответствующего символа в исходном тексте, потому что ключевой поток генерировался независимо.

Пример 4.31

Моноалфавитные шифры подстановки, которые мы рассмотрели в этой лекции, — также шифры потока. Однако каждое значение ключевого потока в этом случае — отображение текущих исходных букв в соответствующие символы зашифрованного текста по таблице отображения.

Пример 4.32

Шифры Виженера — также шифры потока согласно определению. В этом случае ключ потока — повторение m значений, где m. — размер ключевого слова. Другими словами,

K = (k1,k2,….km,k1,k2,……km….)

Пример 4.33

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

  • Аддитивные шифры являются моноалфавитными, потому что ki в ключевом потоке — зафиксированный (постоянный), он не зависит от позиции символа в исходном тексте.
  • Моноалфавитные шифры подстановки являются явно моноалфавитными шифрами потока, потому что ki не зависит от позиции соответствующего символа в потоке исходного текста, а зависит лишь от значения символа в исходном тексте.
  • Шифры Виженера — многоалфавитные шифры, потому что ki явно зависит от позиции символа исходного текста. Однако зависимость является циклической. Одинаковый ключ для двух символов разделен m позициями.

Блочные шифры

В блочном шифре группа символов исходного текста размера m (m>1) зашифровывается, создавая вместе группу зашифрованного текста одного и того же размера. Основанный на этом определении блочный шифр использует единственный ключ, чтобы зашифровать целый блок, даже если ключ делает перемножение значений. Рисунок 4.27 показывает принципы блочного шифра.

 Блочный шифр

Рис. 4.27. Блочный шифр

В блочном шифре блок зашифрованного текста зависит от целого блока исходного текста.

Пример 4.34

Шифры Плейфера — блочные шифры. Размер блока — m = 2. Два символа зашифрованы вместе.

Пример 4.35

Шифры Хилла — блочные шифры. Блок исходного текста размера 2 или больше зашифрован, совместно используя единственный ключ (матрицу). В этих шифрах значение каждого символа в зашифрованном тексте зависит от всех значений символов в исходном тексте. Хотя ключ может быть получен из m \times m. значений, он рассматривается как единственный ключ.

Пример. 4.36

Из определения блочного шифра ясно, что каждый блочный шифр — это многоалфавитный шифр, потому что каждая буква шифрованного текста в случае блочного шифра зависит от всех букв исходного текста.

Комбинация

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

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

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

Книги

Несколько книг рассматривают классические шифры с симметричным ключом. [Kah96] и [Sin99] дают полную историю этих шифров. [Sti06], [Bar02], [Cou99], [Sta06], [Mao04] и [Garol] приводят хороший анализ технических деталей.

Сайты

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

4.6. Итоги

  • Шифрование симметричными ключами использует единственный ключ для шифрования и для дешифрования. Алгоритмы шифрования и дешифрования являются обратными друг друга.
  • Первоначальное сообщение называется исходным текстом. Сообщение, которое передаётся через канал, называется зашифрованным текстом. Чтобы создавать зашифрованный текст из исходного текста, алгоритм шифрования пользуется общедоступным ключом засекречивания. Чтобы создавать исходный текст из зашифрованного текста, используется алгоритм дешифрования тот же самый ключ засекречивания.
  • На основании принципа Керкгоффса, нужно всегда принимать, что противник знает алгоритм шифрования/дешифрования. Устойчивость шифра к атаке должна быть основана только на тайне ключа.
  • Криптоанализ — наука и искусство "взлома" шифров. Есть четыре общих типа атак криптоанализа: атака только на зашифрованный текст, атака по образцу, атака с выборкой исходного текста, атака с выборкой зашифрованного текста.
  • Традиционные шифры с симметричным ключом могут быть разделены на две обширных категории: шифры подстановки и шифры перестановки. Шифр подстановки заменяет один символ другим символом. Шифр перестановки переупорядочивает символы.
  • Шифры подстановки могут быть разделены на две обширных категории: моноалфавитные шифры и многоалфавитные шифры. В моноалфавитной подстановке отношения между символом в исходном тексте и символом в зашифрованном тексте являются непосредственными. В многоалфавитной подстановке отношения между символами в исходном тексте и символами в зашифрованном тексте — "один ко многим".
  • Моноалфавитные шифры включают в себя аддитивные, мультипликативные, аффинные и моноалфавитные шифры подстановки.
  • Многоалфавитные шифры включают в себя шифры: автоключевой, Плейфера, Виженера, Хилла, одноразового блокнота, ротора, и шифры "Энигмы".
  • Шифры перестановки включают в себя: бесключевой, ключевой шифры и шифры с двойной перестановкой.
  • Симметричные шифры могут также быть разделены на две обширных категории: шифры потока и блочные шифры. В шифре потока шифрование и дешифрование одного символа производятся в один момент времени. В блочном шифре символы в блоке зашифрованы вместе. Практически, блоки исходного текста зашифрованы индивидуально, но они используют поток ключей, чтобы зашифровать все сообщение блок за блоком.
Евгений Виноградов
Евгений Виноградов

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

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

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