Комбинированные meтоды

Шифрование комбинированными методами основывается на результатах, полученных К.Шенноном. Наиболее часто применяются такие комбинации, как подстановка и гамма, перестановка и гамма , подстановка и перестановка, гамма и гамма.

В качестве примера рассмотрим шифр, предложенный Д.Френдбергом, который комбинирует многоалфавитную подстановку с генератором псевдослучайных чисел, суть алгоритма поясняется схемой, подставленной на рис.5.

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

  1. Установление начального состояния генератора псевдослучайных чисел
  2. Установление начального списка подстановки
  3. Все символы открытого текста зашифрованы?
  4. Если да - конец работы, если нет -продолжить
  5. Осуществление замены
  6. Генерация случайного числа
  7. Перестановка местами знаков в списке замены
  8. Переход на шаг 4
    Рисунок 5 Схема алгоритма Д. Френдберга

    Пример 1. Открытый текст: "АБРАКАДАБРА".
    Используем одноалфавитную замену согласно таблице 8.

    Таблица 8
    А Б Д К Р
    X V N R S
    Последовательность чисел, вырабатываемая датчиком: 31412543125.

    1. у1=Х. После перестановки символов исходного алфавита получаем таблицу 9 (h1=3).

    Таблица 9
    Д Б А К Р
    X V N R S

    2. у2=V. Таблица 9 после перестановки (h2=1) принимает вид, представленный в таблице 10.

    Таблица 10
    Б Д А К Р
    X V N R S

    Осуществляя дальнейшие преобразования в соответствии с алгоритмом Френдберга, получаем шифртекст: "XVSNSXXSSSN".

    Одной из разновидностей метода гаммирования является наиболее часто применяемый метод многократного наложения гамм. Необходимо отметить, что если уi=Гk(Гl(xi)), то

    Гk(Гl(xi))=Гl(Гk(xi)). (1*)

    Тождество (1*) называют основным свойством гаммы.

    Пример 2. Открытый текст: "ШИФРЫ"(25 09 21 17 28");
    Г1="ГАММА" ("04 01 13 13 01");
    Г2="ТЕКСТ" ("19 06 11 18 19"), согласно таблице 1.
    Используемая операция: сложение по mod 2.

    1. Y1i=xi ++ h1i
    11001 01001 10101 10001 11100
    ++
    00100 00001 01101 01101 00001
    =
    11101 01000 11000 11100 11101.

    2. У2i=y1i++ h2i
    11101 01000 11000 11100 11101
    ++
    10011 00110 01011 10010 10011
    =
    01110 01110 10011 01110 01110.

    Проведем операцию шифрования, поменяв порядок применения гамм.
    1. У1i =xi++h2i
    11001 01001 10101 10001 11100
    --
    10011 00110 01011 10010 10011
    =
    01010 01111 11110 00011 01111.

    2. У2i'=y1i'++h1i
    01010 01111 11110 00011 01111
    ++
    00100 00001 01101 01101 00001
    =
    01110 01110 10011 01110 01110.
    Таким образом, y2i=y2i', что является подтверждением основного свойства гаммы.

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

    Пример 3. Открытый текст: "ШИФРЫ"("25 09 21 17 28"); Г1=Г2="ГАММА" ("04 01 13 13 01"), согласно таблице 1.
    Используемая операция: сложение по mod 2:
    11001 01001 10101 10001 11100
    ++
    00100 00001 01101 01101 00001
    ++
    00100 00001 01101 01101 00001
    =
    11001 01001 10101 10001 11100.
    Таким образом, результат шифрования представляет собой открытый текст.

    Комбинация методов подстановки и перестановки была применена в 1974 году фирмой IBM при разработке системы ЛЮЦИФЕР.
    Система ЛЮЦИФЕР строится на базе блоков подстановки (S-блоков) и блоков перестановки (Р-блоков). Блок подстановки включает линейные и нелинейные преобразования.
    Первый преобразователь S-блока осуществляет развертку двоичного числа из n разрядов в число по основанию 2**n. Второй преобразователь осуществляет свертку этого числа.
    Блок перестановки осуществляет преобразование n разрядного входного числа в n разрядное число.
    Входные данные (открытый текст) последовательно проходят через чередующиеся слои 32-разрядных Р-блоков и 8-разрядных S-блоков.
    Реализация шифрования данных в системе ЛЮЦИФЕР программными средствами показала низкую производительность, поэтому P и S - блоки были реализованы аппаратно, это позволило достичь скорости шифрования до 100 Кбайт/с. Опыт, полученный при разработке и эксплуатации системы ЛЮЦИФЕР, позволил создать стандарт шифрования данных DES (Data Encryption Standard).

    УПРАЖНЕНИЯ.

    1. Расскажите о шифре Д.Френдберга, в чем его особенность?
    2. Придумайте свой пример по схеме Д.Френдберга (см. пример 1).
    3. Применяя метод многократного наложения гамм, зашифровать открытый текст: "Вести", Г1= "гамма", Г2="агава", операция: сложение по mod2.
    4. Расшифровать шифртекст: "ивбьа", Г1= "гамма", Г2="агава", операция: сложение по mod2.
    5. Придумайте пример, чтобы результат шифрования представлял собой открытый текст.
    6. Предложите алгоритм для реализации преобразователя в блоке подстановки системы ЛЮЦИФЕР.