Подумайте сами:
1. Поэкспериментируйте с шифрами Цезаря и Виженера.
2. Попробуйте найти способ вскрытия шифра «Сциталь» (не зная диаметра сциталя).
1.5. Что такое ключ?
Под ключом в криптографии понимают сменный элемент шифра, который применен для шифрования конкретного сообщения.
В древнейшем шифре «Сциталь», описанном в этюде 1.4, ключом является диаметр сциталя. При этом не меняя принцип построения шифра, можно для шифрования разных сообщений пользоваться сциталями разных диаметров.
В шифрах типа шифра Цезаря ключом является величина сдвига букв шифртекста относительно букв открытого текста.
Зачем же нужен ключ? Из предыдущего изложения понятно, что придумывание хорошего шифра — дело трудоемкое. Поэтому желательно увеличить «время жизни» хорошего шифра и использовать его для шифрования как можно большего количества сообщений. Но при этом возникает опасность, что противник уже разгадал (вскрыл) шифр и читает защищаемую информацию. Если же в шифре есть сменный ключ, то, заменив ключ, можно сделать так, что разработанные противником методы уже не дают эффекта. Этот принцип особенно полезен и важен в тех случаях, когда применимы дорогостоящие шифрующие машины(шифрмашины) в больших сетях связи.
Описанные соображения привели к тому, что безопасность защищаемой информации стала определяться в первую очередь ключом. Сам шифр, шифрмашина или принцип шифрования стали считать известными противнику и доступными для предварительного изучения. Но применяемые в шифрах преобразования информации стали сильно зависеть от ключа. А для противника появились новая задача — определить ключ, после чего можно легко прочитать зашифрованные на этом ключе сообщения. Законные пользователи, прежде чем обмениваться шифрованными сообщениями, должны тайно от противника обменяться ключами или установить одинаковый ключ на обоих концах канала связи.
Вернёмся к формальному описанию основного объекта криптографии (этюд 1.3). Теперь в него необходимо внести существенное изменение — добавить недоступный для противника секретный канал связи для обмена ключами:
Практическое построение таких сетей связи для большого обмена шифрованными сообщениями стало ещё более дорогостоящим мероприятием.
Подумайте сами:
1. Что является ключом в шифре Виженера.
1.6. Атака на шифр. Стойкость шифра
Под атакой на шифр понимают попытку вскрытия этого шифра.
Под стойкостью шифра понимают способность шифра противостоять всевозможным атакам на него.
Понятие стойкости шифра является центральным для криптографии. Хотя качественно понять его довольно легко, но получение строгих доказуемых оценок стойкости для каждого конкретного шифра — проблема нерешённая. Это объясняется тем, что до сих пор нет необходимых для решения такой проблемы математических результатов. (Мы вернемся к обсуждению этого вопроса в этюде 2.6.) Поэтому стойкость конкретного шифра оценивается только путем всевозможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Последнюю процедуру иногда называют проверкой стойкости.
Важным подготовительным этапом для проверки стойкости шифра является продумывание различных предполагаемых возможностей, с помощью которых противник может атаковать шифр. Появление таких возможностей у противника обычно не зависит от криптографии, это является некоторой внешней подсказкой и существенно влияет на стойкость шифра. Поэтому оценки стойкости шифра всегда содержат те предположения о противнике, в условиях которых эти оценки получены.
Прежде всего, как это уже отмечалось в этюде 1.5, обычно считается, что противник знает сам шифр и имеет возможности для его предварительного изучения. Противник также знает некоторые характеристики открытых текстов (защищаемой информации), например, общую тематику сообщений, их стиль, некоторые стандарты, форматы и т.д.
Из более специфических приведем еще три примера возможностей противника:
▪ противник может перехватывать все шифрованные сообщения, но не имеет соответствующих им открытых текстов;
▪ противник может перехватывать все шифрованные сообщения и добывать соответствующие им открытые тексты;
▪ противник имеет доступ к шифру (но не к ключам!) и поэтому может зашифровывать и дешифровывать любую информацию.
Рекомендуем самостоятельно придумать еще несколько возможностей противника. Подскажем, например, использование так называемого «вероятного слова» в открытом тексте: противнику из каких-либо соображений известно, что в открытом тексте встречается конкретное слово. Иногда такая информация облегчает процесс вскрытия шифра.
На протяжении многих веков среди специалистов не утихали споры о стойкости шифров и о возможности построения абсолютно стойкого шифра. Приведем два характерных высказывания на этот счет.
Английский математик Чарльз Беббидж (XIX в): «Всякий человек, даже если он не знаком с техникой вскрытия шифров, твердо считает, что сможет изобрести абсолютно стойкий шифр, и чем более умен и образован этот человек, тем более твердо это убеждение. Я сам разделял эту уверенность в течение многих лет».
«Отец кибернетики» Норберт Винер (XX в): «Любой шифр может быть вскрыт, если только в этом есть настоятельная необходимость и информация, которую предполагается получить, стоит затраченных средств, усилий и времени...»
Мы вернемся к этому вопросу в этюде 2.5 после рассказа о работах Клода Шеннона.
1.7. Криптография и криптология
Криптпология — наука, состоящая из двух ветвей: криптографии и криптоанализа.
Криптография — наука о способах преобразования (шифрования) информации с целью ее защиты от незаконных пользователей.
Криптоанализ — наука (и практика ее применения) о методах и способах вскрытия шифров.
В последнее время наряду со словом «криптография» часто встречается и слово «криптология», но соотношение между ними не всегда понимается правильно. Сейчас происходит окончательное формирование этих научных дисциплин, уточняются их предмет и задачи.
Соотношение криптографии и криптоанализа очевидно: криптография — защита, т.е. разработка шифров, а криптоанализ — нападение, т.е. атака на шифры. Однако эти две дисциплины связаны друг с другом, и не бывает хороших криптографов, не владеющих методами криптоанализа. Дело в том, что стойкость разработанного шифра можно доказать только с помощью проведения различных атак на шифр, становясь мысленно в положение противника (см. этюды 1.6, 2.6).
1.8. Почему нужно много разных шифрмашин
Потому что не существует единого, подходящего для всех случаев способа шифрования информации. Выбор криптографической системы зависит от особенностей информации, ее ценности и возможностей владельцев по защите своей информации.
Прежде всего подчеркнем большое разнообразие видов защищаемой информации: документальная, телефонная, телевизионная, компьютерная и т.д. Каждый вид информации имеет свои специфические особенности, и эти особенности сильно влияют на выбор методов шифрования информации. Большое значение имеют объемы и требуемая скорость передачи шифрованной информации. Выбор вида шифра, его параметров и его стойкости существенно зависит от характера защищаемых секретов или тайны. Некоторые тайны (например, государственные, военные и др.) должны сохраняться десятилетиями, а некоторые (например, биржевые) — уже через несколько часов можно разгласить. Необходимо учитывать также и возможности того противника, от которого защищается данная информация. Одно дело — противостоять одиночке или даже банде уголовников, а другое дело мощной государственной структуре.
Из-за такого разнообразия требований приходится разрабатывать различные шифры, которые реализуются в сотнях типов шифрующих машин и устройств. Вместе с тем в наиболее развитых в криптографическом отношении странах существуют стандартные шифры: например, DES — в США и СКЗД — в России.
1.9. Зависимость криптографии от уровня технологий
Результаты криптографии реализуются в виде шифрующих устройств, встроенных в современные сети связи. Поэтому криптографы ограничены в выборе средств тем уровнем техники и технологии, который достигнут на данный момент. Такая зависимость отражается и на выборе используемого в криптографии математического аппарата.
Условно можно выделить три принципиально разные этапа в развитии математического аппарата криптографии.
До 40-х годов XX века были только электромеханические шифрмашины, поэтому и спектр математических преобразовании был ограничен: применялись в основном методы комбинаторного анализа и теории вероятностей.
После появления электронной техники, а тем более компьютеров, сильно изменился и математический аппарат криптографии. Получили развитие прикладные идеи и методы теории информации, алгебры, теории конечных автоматов.
Работы Диффи и Хеллмэна (70-е годы) послужили толчком для бурного развития новых направлений математики: теории односторонних функций, доказательств с нулевым разглашением. Сейчас прогресс именно в этих направлениях определяет практические возможности криптографии.
Глава 2Математические основы криптографии
Большое влияние на развитие криптографии оказали появившиеся в середине нашего века работы американского математика Клода Шеннона. В этих работах были заложены основы теории информации, а также был разработан математический аппарат для исследований во многих областях науки, связанных с информацией. В данной главе мы кратко ознакомим вас с основополагающими математическими понятиями и идеями, без знания которых успешная работа в области криптографии невозможна.
2.1. Приведение любой информации к двоичному виду