Симметричное шифрование

Исторически криптография использовалась с одной единственной целью: сохранить секрет. Даже сама письменность была своего рода шифрованием (в Древнем Китае только высшие слои общества могли обучаться чтению и письму), а первый опыт применения криптографии в Египте относится примерно к 1900 году до н. э.: автор надписи пользовался необычными иероглифами. Есть и другие примеры: дощечки из Месопотамии, на которых зашифрована формула изготовления керамической глазури (1500 год до н. э.), еврейский шифр ATBASH (500–600 годы до н. э.), греческое «небесное письмо» (486 год до н. э.) и шифр простой подстановки Юлия Цезаря (50-60 год до н. э.). Кама Сутра Ватсьяяны даже помещает искусство тайнописи на 44-е, а искусство секретного разговора на 45-е место в списке 64 искусств (йог), которыми должны владеть мужчины и женщины.

Основная идея, лежащая в основе криптографии, такова: группа людей может секретным способом записывать послания так, что они будут непонятны всем остальным. Пусть имеются сообщения (их еще называют открытым текстом), которые кто-то хочет сохранить в секрете. Представим, что кто-то (назовем ее Алиса) хочет послать сообщение кому-то другому (например, Бобу); а может, она хочет сама перечитать его через несколько дней. Но она точно не хочет, чтобы кто-нибудь другой, кроме Боба, смог этот текст прочесть.

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

Такая схема более или менее работает. Алиса может при помощи изобретенного ею алгоритма зашифровать свой секрет глазури для керамики. Алиса и Боб могут договориться об алгоритме, чтобы поделиться друг с другом мыслями о Кама Сутре. Целый общественный класс – китайская знать (хотя, скорее всего, никого из них Бобом не звали) – использовал письменность, чтобы утаить от крестьян государственные тайны.

Но возникают определенные сложности. Во-первых, алгоритм должен быть надежным. Не надейтесь, что Ева посмотрит на зашифрованное сообщение, пожмет плечами и отступится. Она твердо намерена прочесть открытый текст. Если Ева – это правительство Великобритании времен Второй мировой войны, она наймет лучших математиков, лингвистов и шахматистов страны, запрет их и еще 10 000 человек в тайной резиденции в Блетчли Парк и создаст компьютер – только так она сможет взломать алгоритм и восстановить текст сообщения. Агентство национальной безопасности – единственный в своем роде крупнейший потребитель компьютерного оборудования и работодатель математиков. Алисе нужно быть очень ловким шифровальщиком, если ей предстоит перехитрить Еву такого уровня. Я еще расскажу об этом позже.

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