Поточные шифры

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

Содержание

  1. Режим гаммирования для поточных шифров
  2. Классификация поточных шифров
    1. Синхронные поточные шифры
    2. Самосинхронизирующиеся поточные шифры
  3. Основные отличия поточных шифров от блочных
  4. Проектирование поточных шифров
  5. Криптоанализ. Атаки на поточные шифры
    1. Силовые (атака «грубой силой»)
    2. Статистические
    3. Аналитические методы

Режим гаммирования для поточных шифров

Режим гаммирования для поточных шифров


















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

Поток битов открытого текста:

Гамма шифра и поток битов открытого текста подвергаются операции XOR. Так получается поток битов шифротекста: , где

Расшифрование производится операцией XOR между той же самой гаммой и зашифрованным текстом:

Очевидно, что если последовательность битов гаммы не имеет периода и выбирается случайно, то взломать шифр невозможно. Но у данного режима шифрования есть и отрицательные особенности. Так ключи, сравнимые по длине с передаваемыми сообщениями, трудно использовать на практике. Поэтому обычно применяют ключ меньшей длины (например, 128 бит). С помощью него генерируется псевдослучайная гаммирующая последовательность ( она должна удовлетворять постулатам Голомба). Естественно, псевдослучайность гаммы может быть использована при атаке на поточный шифр.

Классификация поточных шифров

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

  1. Синхронные поточные шифры

    Определение:

    Синхронные поточные шифры (СПШ) — шифры, в которых поток ключей генерируется независимо от открытого текста и шифротекста.

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

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

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

    Плюсы СПШ:

    Минусы СПШ:

  2. Самосинхронизирующиеся поточные шифры

    Определение:

    Самосинхронизирующиеся поточные шифры (асинхронные поточные шифры (АПШ)) – шифры, в которых поток ключей создаётся функцией ключа и фиксированного числа знаков шифротекста.

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

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

    Плюсы АПШ:

    Минусы АПШ:

Основные отличия поточных шифров от блочных

Большинство существующих шифров с секретным ключом однозначно могут быть отнесены либо к поточным, либо к блочным шифрам. Но теоретическая граница между ними является довольно размытой. Например, используются алгоритмы блочного шифрования в режиме поточного шифрования (пример: для алгоритма DES режимы CFB и OFB). Рассмотрим основные различия между поточными и блочными шифрами не только в аспектах их безопасности и удобства, но и с точки зрения их изучения в мире:

Теперь о положении в мире:

Проектирование поточных шифров

Согласно Райнеру Рюппелю можно выделить четыре основных подхода к проектированию поточных шифров:

  1. Cистемно-теоретический подход основан на создании для криптоаналитика сложной, ранее неисследованной проблемы.
  2. Cложно-теоретический подход основан на сложной, но известной проблеме (например, факторизация чисел или дискретное логарифмирование).
  3. Информационно-технический подход основан на попытке утаить открытый текст от криптоаналитика – вне зависимости от того сколько времени потрачено на дешифрование, криптоаналитик не найдёт однозначного решения.
  4. Рандомизированный подход основан на создании объёмной задачи; криптограф тем самым пытается сделать решение задачи расшифрования физически невозможной. Например: криптограф может зашифровать некоторую статью, а ключом будут указания на то, какие части статьи были использованы при шифровании. Криптоаналитику придётся перебирать все случайные комбинации частей статьи, прежде чем ему повезёт, и он определит ключ.

Теперь приведём теоретические критерии Райнера Рюппеля для проектирования поточных систем:

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

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

Криптоанализ. Атаки на поточные шифры

Все методы криптоанализа поточных шифров обычно подразделяют на 3 класса:

  1. Силовые (атака «грубой силой»).

    Атаки путём полного перебора(перебор всех возможных вариантов). Сложность полного перебора зависит от количества всех возможных решений задачи (размера пространства ключей или пространства открытого текста). Этот вид атаки применим ко всем видам систем поточного шифрования. При разработке систем шифрования разработчики стремятся сделать так, чтобы этот вид атак был наиболее эффективным по сравнению с другими существующими методами взлома.

  2. Статистические.

    Делятся на два подкласса:

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

    Оба метода используют принцип линейной сложности.

  3. Аналитические методы.

    Этот вид атак рассматривается в предположении, что криптоаналитику известны описание генератора, открытый и соответствующий закрытый тексты. Задача криптоаналитика определить использованный ключ (начальное заполнение регистров).

    Виды аналитических атак, применяемые к синхронным поточным шифрам:

<< Предыдущая статья <<

>> Следующая статья >>

Hosted by uCoz