История криптографии


Человек - существо социальное, вот уже много тысячелетий он живет в обществе себе подобных. И вполне естественно, что одной из важнейших его способностей является умение общаться с другими людьми - передавать им сведения о том, что происходит в окружающем их мире, и о фактах своей субъективной реальности. Вторая сигнальная система - речь - по праву считается одним из важнейших отличительных признаков, качественно выделяющих человечество из животного мира. Характер информационного обмена между членами даже самого дикого племени многократно превышает по своей сложности все то, что можно увидеть у животных. Коммуникация в человеческом обществе имеет еще один отличительный признак - она узко избирательна. Мы разговариваем с разными людьми совершенно по-разному, и то, что сообщаем одним, стараемся скрыть от других.

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

Конечно, использование развитого "секретного" языка для защиты передаваемых данных обеспечивает гораздо большую свободу в коммуникации, чем несколько тайных знаков, о которых участники договорились накануне, однако этот путь имеет и гораздо большие издержки. За всеми посвященными уследить трудно, и рано или поздно такой язык станет понятным тем, от кого пытаются скрыть разговор. В этом случае возникнет необходимость его заменить другим, разработать же достаточно мощный язык и обучить ему нужное количество людей весьма затруднительно и накладно, а сделать это оперативно - невозможно. Поэтому подобный подход к проблеме проходит только в особых случаях, когда тому благоприятствуют обстоятельства. Так, он использовался американцами во время второй мировой войны: корабли ВМФ США осуществляли связь на языке малочисленного и компактно проживающего индейского племени. На каждом корабле было несколько индейцев-"шифровальщиков", у противника не было практически никаких шансов раздобыть себе такого "криптографа".

С возникновением письменности задача обеспечения секретности и подлинности передаваемых сообщений стала особенно актуальной. Действительно, сообщение, переданное словесно или показанное жестами, доступно для постороннего только в тот краткий промежуток времени, пока оно "в пути", а в его авторстве и подлинности у получателя никаких сомнений быть не может, потому что он видит своего собеседника. Иное дело, когда сообщение записано - оно уже живет отдельной жизнью и имеет свой путь, зачастую далеко расходящийся с путем человека, его создавшего. Записанное на бумаге сообщение существует в материальном мире гораздо более длительный промежуток времени, и у людей, желающих ознакомиться с его содержанием против воли отправителя и получателя, появляется гораздо больше шансов сделать это. Поэтому именно после возникновения письменности появилось искусство тайнописи, искусство "тайно писать" - набор методов, предназначенных для секретной передачи записанных сообщений от одного человека другому.

Данные о первых способах тайнописи весьма обрывочны. Предполагается, что она была известна в древнем Египте и Вавилоне. До нашего времени дошли указания на то, что искусство секретного письма использовалось в древней Греции. Первые действительно достоверные сведения с описанием метода шифрования относятся к периоду смены старой и новой эры и описывают шифр Цезаря - способ, которым Юлий Цезарь прятал свои записи от излишне любопытных глаз. С высоты достижений современной криптографии шифр Цезаря предельно примитивен: в нем каждая буква сообщения заменялась на следующую за ней по алфавиту. Однако для того времени, когда умение читать и писать было редким исключением, его криптостойкости вполне хватало. Использование шифра решало проблему секретности передаваемого сообщения, а проблема его подлинности решалась практически сама собой:
во-первых, для человека, не знавшего шифр, было невозможно внести осмысленные изменения в зашифрованные сообщения, носившие исключительно текстовый характер, а изменения, внесенные наобум приводили к тому, что после расшифрования получался бессмысленный набор букв;
во-вторых, практически до совсем еще недавних по историческим меркам времен отправляемые сообщения записывались от руки, а каждый человек имеет свой индивидуальный, присущий только ему почерк, который очень трудно воспроизвести другому человеку; запомнить почерк даже нескольких десятков наиболее важных своих корреспондентов, - а больше ни у кого и не было, - не составляет особого труда.

Человечество изобрело большое число способов секретного письма, многие из них были известны еще в древности. В некоторых способах тайного письма используются физические особенности носителей информации. Так симпатические чернила исчезают вскоре после написания ими текста или невидимы с самого начала. Но их можно снова сделать видимыми, обработав документ специальным химическим реактивом или осветив лучами определенной части спектра, обычно - ультрафиолетом. Стеганография предполагает, что передаваемый текст "растворяется" в сообщении большего размера с совершенно "посторонним" смыслом. Но если взять и извлечь из него некоторые символы по определенному закону, например - каждый второй, или третий, и т.д., получим вполне конкретное тайное сообщение. Шифрование является преобразованием сообщения по определенным правилам, что делает его бессмысленным набором знаков для непосвященного в тайну шифра человека.

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

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

В зависимости от ответа на второй из приведенных выше вопросов получаются различные классы способов засекречивания данных - стеганография и шифрование. Если рассматривать информацию отдельно от ее материального представления, то где же ее тогда можно спрятать? Ответ однозначен: только в еще большем массиве информации - как иголку в стоге сена. В этом и заключается принцип действия стеганографии. Например, мы отправляем нашему корреспонденту по электронной почте файл с растровой черно-белой картинкой, в котором наименее значащий бит в коде яркости каждой точки изображения будет элементом нашего тайного сообщения. Получатель письма извлечет все такие биты и составит из них "истинное" сообщение. Картинка, присутствующая здесь только для отвода глаз, так и останется для непосвященных простой картинкой. Стеганография бывает полезна, когда необходимо не просто передать секретное сообщение, а секретно передать секретное сообщение, то есть скрыть сам факт передачи секретного сообщения. Такой способ ведения тайной коммуникации, однако, имеет ряд недостатков:
во-первых, трудно обосновать его стойкость - вдруг злоумышленникам станет известен способ "подмешивания" секретных данных к "болванке" - массиву открытых данных;
во-вторых, при его использовании объем передаваемых или хранимых данных резко увеличивается, что отрицательно сказывается на производительности систем их обработки;

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

Вернемся к истории. Чем оживленнее велась переписка в обществе, тем большая ощущалась потребность в средствах ее засекречивания. Соответственно, возникали все более совершенные и хитроумные шифры. Сначала при заинтересованных лицах появились шифровальщики, потом группы из нескольких шифровальщиков, а затем и целые шифровальные отделы. Когда объемы подлежащей закрытию информации стали критическими, в помощь людям были созданы механические устройства для шифрования. Надо сказать, что основными потребителями криптографических услуг были дипломатические и шпионские миссии, тайные канцелярии правителей и штабы войсковых соединений. Для этого этапа развития криптографии характерно следующее:
защите подвергались исключительно текстовые сообщения, написанные на естественных языках - других типов дискретно представленных данных просто не существовало;
шифрование сначала осуществлялось вручную, позднее были изобретены сравнительно несложные механические приспособления, поэтому использовавшиеся тогда шифры были достаточно простыми и несложными;
криптография и криптоанализ были скорее искусством, чем наукой, научный подход к построению шифров и их раскрытию отсутствовал;
криптография использовалась в очень узких сферах - только для обслуживания высших правящих слоев и военной верхушки государств;
основной задачей криптографии была защита передаваемых сообщений от несанкционированного ознакомления с ними, поскольку шифровались исключительно текстовые сообщения, никаких дополнительных методов защиты от навязывания ложных данных не применялось - вероятность получить нечто осмысленное после расшифрования искаженного зашифрованного текста была ничтожно мала в силу огромной избыточности, характерной для естественных языков.

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

Перечисленные выше изменения привели к тому, что очень быстро после распространения компьютеров в деловой сфере практическая криптография сделала в своем развитии огромный скачок, причем сразу по нескольким направлениям:
во-первых, были разработаны стойкие блочные шифры с секретным ключом, предназначенные для решения классической задачи - обеспечения секретности и целостности передаваемых или хранимых данных, они до сих пор остаются "рабочей лошадкой" криптографии, наиболее часто используемыми средствами криптографической защиты;
во-вторых, были созданы методы решения новых, нетрадиционных задач сферы защиты информации, наиболее известными из которых являются задача подписи цифрового документа и открытого распределения ключей.
Как видим, термин "криптография" далеко ушел от своего первоначального значения - "тайнопись", "тайное письмо". Сегодня эта дисциплина объединяет методы защиты информационных взаимодействий совершенно различного характера, опирающиеся на преобразование данных по секретным алгоритмам, включая алгоритмы, использующие секретные параметры. Термин "информационное взаимодействие" или "процесс информационного взаимодействия" здесь обозначает такой процесс взаимодействия двух и более субъектов, основным содержанием которого является передача и/или обработка информации. По большому счету, криптографической может считаться любая функция преобразования данных, секретная сама по себе или зависящая от секретного параметра S:
T' = f(T), или
T' = f(T,S).

Обновлено: 11.03.2015