
- •Методические материалы
- •1. Основные понятия
- •2. Традиционные криптосистемы
- •2.1. Некоторые особенности криптосистем. Примеры традиционных криптосистем
- •2.2. Теоретическая стойкость криптосистем 2
- •2.2.1. Системы с совершенной секретностью
- •2.2.2. Шифр Вернама
- •2.2.3. Элементы теории информации
- •2.2.4. Расстояние единственности шифра с секретным ключом
- •2.3. Современные криптосистемы с секретным ключом 4
- •2.3.1. Основные положения
- •2.3.2. Блоковые шифры
- •2.3.2.1. Общие положения
- •2.3.2.2. Блоковый шифр гост 28147-89
- •2.3.2.3. Режимы функционирования блоковых шифров
- •2.3.3. Потоковые шифры
- •2.3.3.1. Общие положения
- •2.3.3.2. Режим ofb блокового шифра
- •2.3.3.3. Режим ctr блокового шифра
- •2.3.3.4. Алгоритм rc4 6
- •3. Криптосистемы с открытым ключом 7
- •3.1. Основные положения
- •3.2. Криптосистема Диффи-Хеллмана
- •3.3. Шифр Шамира
- •3.4. Шифр Эль-Гамаля
- •3.5. Шифр rsa. Односторонняя функция с "лазейкой"
- •3.6. Цифровая (электронная) подпись
- •3.6.1. Криптографические хеш-функции
- •3.6.2. Цифровая подпись rsa
- •3.6.3. Цифровая подпись на базе шифра Эль-Гамаля
- •3.6.4. Стандарты на цифровую подпись
- •3.7. Криптографические протоколы
- •3.7.1. Протокол для доказательства с нулевым знанием
- •3.7.2. Протокол для поддержки электронных денег
- •Рекомендуемая литература
2.2.2. Шифр Вернама
Этот шифр был предложен в 1918 г., однако доказательство его невскрываемости было получено позже К.Шенноном.
Рассмотрим этот шифр для случая двоичного алфавита.
Пусть множество М состоит из слов двоичного алфавита длины n, то есть всего сообщений не более 2n. В шифре Вернама множество ключей также состоит из двоичных слов той же длины n и каждый ключ используется с вероятностью 2n.
Пусть необходимо зашифровать сообщение М = m1 m2 … mn и пусть выбран ключ K = k1 k2 … kn. Зашифрованное сообщение С = с1 с2 … сn будем получать по формуле
сi = mi ki , i = 1, …, n (2.9)
где знак операции сложения по модулю 2 (побитовая операция xor). То есть сообщение шифруется по схеме:
m
k
1
k2
… kn
с1 с2 … сn
Соответственно, дешифровка осуществляется по формуле:
mi = ci ki , i = 1, …, n (2.10)
Теорема 2.2. Шифр Вернама является совершенно секретной криптосистемой.
Д о к а з а т е л ь с т в о.
Согласно теореме 2.1 достаточно доказать справедливость соотношения (2.8).
Для условий данной теоремы имеем:
P(Cj | Mi) P(c1 c2 … cn | m1 m2 … mn) =
= P(k1 = c1 m1, k2 = c2 m2, …, kn = cn mn) = P(K = k1 k2 … kn) = 2n. (*)
С учетом этого по формуле полной вероятности получим:
P(Cj)
=
= 2n
= 2n.
(**)
В последнем переходе учтено, что здесь мы имеем дело с полной группой событий. С учетом (*) и (**) приходим к соотношению (2.8).
Выше мы предполагали, что ключ K шифра Вернама не обладает никакими "регулярными свойствами" (это предположение фактически заложено в условие выбора ключа – см. выше). Однако в действительности первоначальный вариант шифра предполагал работу с периодическим ключом [5]: использовалась закольцованная лента с двоичным кодом. В этом случае, даже если лента очень длинна, последовательность двоичных букв в ключе периодически повторяется и, следовательно, можно взломать шифр, располагая достаточно длинным шифрованным сообщением.
Поэтому впоследствии Д.Моборн предложил улучшить схему шифрования, добившись требуемой структуры ключа за счет выработки последовательности k1 k2 … kn с помощью генератора равномерно распределенных случайных чисел.
Сложность применения шифра Вернама обусловлена большой величиной ключа – его длина должна быть равна длине максимально длинного сообщения, которое может оказаться актуальным в период действия ключа. В этом случае, при необходимости частой смены ключа (а это необходимо как средство защиты от "прямого воровства"), может резко возрасти стоимость секретного канала связи (см. рис. 1.1). Это обстоятельство приводит к тому, что на практике данный шифр редко применяют.
В то же время известно, что шифр Вернама использовался, например, при защите правительственной связи на "горячей линии" "Москва – Вашингтон". Его имеет смысл применять, например, для секретной связи между банком и его филиалами, если они находятся в одном городе. Тогда регулярное оперативное обновление секретного ключа возможно, например, с помощью соответствующей курьерской службой.