Next: 1.4. Новые направления
Up: 1. Основные понятия криптографии
Previous: 1.2. Предмет криптографии
Contents: Содержание
Большое влияние на развитие криптографии оказали появившиеся в середине
XX века работы американского математика Клода Шеннона. В этих работах были
заложены основы теории информации,
а также был разработан математический аппарат
для исследований во многих областях науки, связанных
с информацией. Более того,
принято считать, что теория информации как наука
родилась в 1948 году после публикации
работы К. Шеннона ``Математическая теория
связи''1).
В своей работе ``Теория связи в секретных системах'' Клод Шеннон
обобщил накопленный до него опыт разработки
шифров (см. Приложение ). Оказалось, что даже в очень
сложных шифрах в качестве типичных компонентов можно выделить
такие простые шифры как
шифры замены,
шифры перестановки или их сочетания.
Шифр замены является простейшим, наиболее популярным
шифром. Типичными примерами являются шифр Цезаря, ``цифирная азбука''
Петра Великого и ``пляшущие
человечки'' А.Конан Дойла. Как видно из самого
названия, шифр замены осуществляет преобразование замены
букв или других ``частей'' открытого текста на
аналогичные ``части'' шифрованного текста. Легко дать
математическое описание шифра замены. Пусть и -
два алфавита (открытого и шифрованного
текстов соответственно),
состоящие из одинакового числа символов. Пусть
также
- взаимнооднозначное
отображение в . Тогда шифр замены действует так:
открытый текст
преобразуется в
шифрованный текст
.
Шифр перестановки,
как видно из названия, осуществляет преобразование
перестановки букв в открытом
тексте. Типичным примером шифра перестановки является шифр
``Сцитала''. Обычно открытый текст разбивается на отрезки равной
длины и каждый отрезок шифруется
независимо. Пусть, например, длина отрезков равна и -
взаимнооднозначное отображение множества
в
себя. Тогда шифр перестановки действует так: отрезок открытого текста
преобразуется в отрезок шифрованного текста
.
Важнейшим для развития криптографии был результат К. Шеннона
о существовании
и единственности абсолютно стойкого шифра.
Единственным таким шифром является какая-нибудь форма так
называемой ленты
однократного использования,
в которой открытый текст ``объединяется'' с полностью случайным ключом
такой же длины.
Этот результат был доказан К.Шенноном с помощью разработанного им
теоретико-информационного метода исследования шифров. Мы не будем
здесь останавливаться на этом подробно, заинтересованному читателю
рекомендуем изучить работу К.Шеннона (cм. Приложение .).
Обсудим особенности строения абсолютно стойкого шифра и возможности его
практического использования. Типичным и наиболее простым примером реализации
абсолютно стойкого шифра является шифр Вернама, который осуществляет
побитовое сложение -битового открытого текста и -битового ключа:
Здесь
- открытый текст,
- ключ,
- шифрованный текст.
Подчеркнем, что для абсолютной стойкости существенным является каждое
из следующих требований к ленте однократного использования:
1) полная случайность (равновероятность) ключа (это, в частности,
означает, что ключ нельзя вырабатывать с помощью какого-либо
детерминированного устройства);
2) равенство длины ключа и длины открытого текста;
3) однократность использования ключа.
В случае нарушения хотя бы одного из этих условий шифр перестает быть
абсолютно стойким и появляются принципиальные возможности для его
вскрытия (хотя они могут быть трудно реализуемыми).
Но, оказывается, именно эти условия и делают абсолютно стойкий шифр очень
дорогим и непрактичным. Прежде чем пользоваться таким шифром, мы должны
обеспечить всех абонентов достаточным запасом случайных ключей и исключить
возможность их повторного применения. А это сделать необычайно трудно и
дорого.
Как отмечал Д.Кан: ``Проблема создания, регистрации,
распространения и отмены ключей может показаться не слишком сложной тому,
кто не имеет опыта передачи сообщений по каналам военной связи, но в
военное время объем передаваемых сообщений ставит в тупик даже
профессиональных связистов. За сутки могут быть зашифрованы сотни тысяч
слов. Создание миллионов ключевых знаков потребовало бы огромных
финансовых издержек и было бы сопряжено с большими затратами времени. Так
как каждый текст должен иметь свой собственный, единственный и
неповторимый ключ, применение идеальной системы потребовало бы передачи по
крайней мере такого количества знаков, которое эквивалентно всему объему
передаваемой военной информации.''
В силу указанных причин абсолютно стойкие шифры применяются только в сетях
связи с небольшим объемом передаваемой информации, обычно это сети для
передачи особо важной государственной информации.
Теперь уже понятно, что чаще всего для защиты
своей информации законные пользователи вынуждены применять неабсолютно
стойкие шифры. Такие
шифры, по крайней мере теоретически, могут быть вскрыты. Вопрос только
в том, хватит ли у противника сил, средств и времени для разработки и
реализации соответствующих алгоритмов. Обычно эту мысль выражают так:
противник с неограниченными ресурсами может вскрыть любой неабсолютно
стойкий шифр.
Как же должен действовать в этой ситуации законный пользователь, выбирая
для себя шифр? Лучше всего, конечно, было бы доказать, что никакой противник не
может вскрыть выбранный шифр, скажем, за 10 лет и тем самым получить
теоретическую оценку стойкости. К сожалению, математическая теория еще
не дает нужных теорем - они относятся к нерешенной
проблеме нижних оценок вычислительной сложности задач.
Поэтому у пользователя остается единственный путь- получение
практических оценок стойкости. Этот путь состоит из следующих этапов:
- понять и четко сформулировать, от какого противника мы собираемся защищать
информацию; необходимо уяснить, что именно противник знает или сможет узнать о
системе шифра, а также какие силы и средства он сможет применить для его
вскрытия;
- мысленно стать в положение противника и пытаться с его позиций
атаковать шифр, т.е. разрабатывать различные алгоритмы вскрытия
шифра;
при этом необходимо в максимальной мере обеспечить моделирование
сил, средств и возможностей противника;
- наилучший из разработанных алгоритмов использовать для
практической оценки стойкости шифра.
Здесь полезно для иллюстрации упомянуть о двух простейших методах
вскрытия шифра: случайное
угадывание ключа (он срабатывает с маленькой
вероятностью, зато имеет маленькую сложность) и
перебор всех подряд
ключей вплоть до нахождения истинного (он срабатывает всегда, зато имеет
очень большую сложность).
Отметим также, что не всегда нужна атака на ключ:
для некоторых шифров можно сразу, даже не зная ключа,
восстанавливать открытый текст по шифрованному.
Next: 1.4. Новые направления
Up: 1. Основные понятия криптографии
Previous: 1.2. Предмет криптографии
Contents: Содержание