Криптография от Средних веков до Нового времени
Криптография от Средних веков до Нового времени
В Средние века криптография — в основном, моноалфавитные шифры — начинают широко использоваться дипломатами, купцами и даже простыми гражданами. Постепенно, по мере распространения техники частотного криптоанализа, шифры усложняются, что приводит к появлению шифров омофонической замены, а затем и полиалфавитных шифров. Развитие криптографии в арабских странах
Первая страница манускрипта Ал-Кинди — самое раннее известное упоминание о частотном криптоанализе
С VIII века н. э. развитие криптографии происходит в основном в арабских странах. Считается, что арабский филолог Халиль аль-Фарахиди первым обратил внимание на возможность использования стандартных фраз открытого текста для дешифрования. Он предположил, что первыми словами в письме на греческом языке византийскому императору будут «Во имя Аллаха», что позволило ему прочитать оставшуюся часть сообщения. Позже он написал книгу с описанием данного метода — «Китаб аль-Маумма» («Книга тайного языка»).[29][30]
В 855 году выходит «Книга о большом стремлении человека разгадать загадки древней письменности» арабского учёного Абу Бакр Ахмед бен-Али бен-Вахшия ан-Набати, одна из первых книг о криптографии с описаниями нескольких шифров, в том числе с применением нескольких алфавитов. Также к IX веку относится первое известное упоминание о частотном криптоанализе — в книге Ал-Кинди «Манускрипт о дешифровке криптографических сообщений».[31]
В книге X века «Адаб аль-Куттаб» («Руководство для секретарей») ал-Сули есть инструкции по шифрованию записей о налогах, что подтверждает распространение криптографии в обычной, гражданской жизни.[31]
В 1412 году выходит 14-томная энциклопедия Шехаба ал-Кашканди «Шауба ал-Аша», один из разделов которой «Относительно сокрытия в буквах тайных сообщений» содержал описание семи шифров замены и перестановки, частотного метода криптоанализа, а также таблицы частотности букв в арабском языке на основе текста Корана.[1][19][29]
В словарь криптологии арабы внесли такие понятия как алгоритм и шифр[32][33].
Криптография эпохи Возрождения
Роджер Бэкон
Первой европейской книгой, описывающей использование криптографии, считается труд Роджера Бэкона XIII века «Послание брата Рогериса Бакониса о тайных действиях искусства и природы и ничтожестве магии» (лат. «Epistola Fratris Rog. Baconis, de secretis operibus artis et naturae et nullitate magiae»)[34], описывающий, в числе прочего, применение 7 методов скрытия текста.[35]
В XIV веке сотрудник тайной канцелярии папской курии Чикко Симонети пишет книгу о системах тайнописи, а в XV веке секретарь папы Климентия XII Габриэль де Левинда, родом из города Пармы, заканчивает работу над «Трактатом о шифрах».[1]
Симеоне де Крема (Simeone de Crema) был первым (1401), кто использовал таблицы омофонов для сокрытия каждого гласного в тексте при помощи более чем одного эквивалента. Спустя более чем сто лет эти таблицы для успешной защиты от криптоаналитических атак использовал Эрнан Кортес.
Первая организация, посвятившая себя целиком криптографии, была создана в Венеции (Италия) в 1452 году. Три секретаря этой организации занимались взломом и созданием шифров по заданиям правительства.[18] В 1469 году появляется шифр пропорциональной замены «Миланский ключ».[1]
Статуя Альберти во дворе Уффици
Отцом западной криптографии называют учёного эпохи Возрождения Леона Баттисты Альберти. Изучив методы вскрытия использовавшихся в Европе моноалфавитных шифров, он попытался создать шифр, который был бы устойчив к частотному криптоанализу. Трактат о новом шифре был представлен им в папскую канцелярию в 1466 году. Альберти предложил вместо единственного секретного алфавита, как в моноалфавитных шифрах, использовать два или более, переключаясь между ними по какому-либо правилу. Однако флорентийский учёный так и не смог оформить своё открытие в полную работающую систему, что было сделано уже его последователями.[36] Также Альберти предложил устройство из двух скреплённых в центре дисков, каждый из которых имел алфавит, написанный по краю, и мог поворачиваться относительного другого диска. Пока диски не двигаются, они позволяют шифровать с использованием шифра Цезаря, однако через несколько слов диски поворачиваются, и меняется ключ cдвига.[18]
Фрагмент оформления гробницы Иоганна Тритемия Очередной известный результат принадлежит перу германского аббата Иоганна Тритемия, которого многие историки считают вторым отцом современной криптологии.[18][37] В пятой книге серии «Polygraphia», изданной в 1518 году, он описал шифр, в которой каждая следующая буква шифруется своим собственным шифром сдвига. Его подход был улучшен Джованом Баттистой Белласо (итал. Giovan Battista Bellaso), который предложил выбирать некоторое ключевое слово и записывать его над каждым словом открытого текста. Каждая буква ключевого слова используется для выбора конкретного шифра сдвига из полного набора шифров для шифрования конкретной буквы, тогда как в работе Тритемия шифры выбираются просто по циклу. Для следующего слова открытого текста ключ начинал использоваться снова, так, что одинаковые слова оказывались зашифрованы одинаково.[18] Данный способ в настоящий момент известен как шифр Виженера (см. ниже). Кроме этого, Тритемий первым заметил, что шифровать можно и по две буквы за раз — биграммами (хотя первый биграммный шифр — Playfair — был предложен лишь в XIX веке).[37] Позже, в XVII веке, член ордена иезуитов Атанасиус Кирхер провёл исследования лингвистических аспектов работ Тритемия, результаты которых опубликовал в своей Polygraphia nova в 1663 году. Одним из результатов стало создание «полиглотического кода на пяти языках», который мог использоваться для шифрования и передачи сообщений на латинском, итальянском, французском, испанском и немецком языках, при этом декодирование могло производиться на любом из указанных языков.[38] Джероламо Кардано В 1550 году итальянский математик Джероламо Кардано, состоящий на службе у папы римского[37][39], предложил новую технику шифрования — решётку Кардано. Этот способ сочетал в себе как стеганографию (искусство скрытого письма), так и криптографию. Затруднение составляло даже понять, что сообщение содержит зашифрованный текст, а расшифровать его, не имея ключа (решётки) в то время было практически невозможно. Решётку Кардано считают первым транспозиционным шифром, или, как ещё называют, геометрическим шифром, основанным на положении букв в шифротексте.[40] Другой транспозиционный шифр, намного более лёгкий, использовался в XVII веке при побеге Джона Треваньона от сил Кромвеля, а также во время Второй мировой войны для попыток передачи сведений офицерами захваченной немецкой подводной лодки в письмах домой.[41]
Фрэнсис Бэкон
Фрэнсис Бэкон в своей первой работе 1580 года предложил двоичный способ кодирования латинского алфавита, по принципу аналогичный тому, что сейчас используется в компьютерах.[6] Используя этот принцип, а также имея два разных способа начертания для каждой из букв, отправитель мог «спрятать» в тексте одного длинного сообщения короткое секретное.[42] Данный способ получил название «шифр Бэкона», хотя относится больше к стеганографии.
Блез де Виженер (англ.)
Самым известным криптографом XVI века можно назвать Блеза де Виженера (фр. Blaise de Vigenère). В своём трактате 1585 года он описал шифр, подобный шифру Тритемия, однако изменил систему выбора конкретного шифра замены для каждой буквы. Одной из предложенных техник было использование букв другого открытого текста для выбора ключа каждой буквы исходного текста. Описанный шифр известен как шифр Виженера и, при длине случайного ключа равной длине открытого текста, является абсолютно стойким шифром, что было математически доказано много позже (в XX веке в работах Шеннона). Другая техника использовала результат шифрования для выбора следующего ключа — то, что впоследствии использует Фейстель и компания IBM при разработке шифра DES в 1970-х годах.[18]
Шифровка Марии Стюарт
В процессе над Марией Стюарт в качестве доказательств приводились письма к заговорщикам, которые удалось расшифровать. Использовался шифр подстановки, с добавкой ещё несколько особых знаков, чтобы затруднить расшифровку. Некоторые знаки означали слова, другие не означали ничего, ещё один знак означал, что последующая буква — двойная.[43]
К 1639 году относится первое упоминание[44] о рукописи Войнича — книге, написанной неизвестным автором на неизвестном языке. Расшифровать её пытались многие известные криптографы, но, не исключено, что рукопись является всего лишь мистификацией.
Криптоаналитик Этьен Базери (англ. Étienne Bazeries) (1846—1931) смог, проработав три года, расшифровать архивы Людовика XIV, зашифрованные «Великом шифром (англ. Great Cipher)» по системе Россиньолей (англ. Rossignols) в XVII веке. В бумагах нашёлся приказа короля поместить в заключение узника с тем, чтобы днём он появлялся только в маске. Им окaзался генерал Вивьен де Булонд (фр. Vivien de Bulonde), покрывший позором себя и французскую армию во время Девятилетней войны. Судя по всему, это и есть знаменитая «Железная маска». Королевский шифр продержался 200 лет![45].
Испанская империя и колонии в Америке. «Индейская криптография»
В XVI веке при дипломатической переписке императора Карла I становится популярным метод nomenclator — указатель географических названий[46]. 11 марта 1532 года Родриго Ниньо, посол в Венеции, использовал его для того, чтобы напомнить императору о некоторых средствах защиты на тот случай, если турецкий султан захочет захватить крепость Клиса в Далмации (около Сплита, Хорватия)[47]. Почти 25 лет спустя то же самое сделал маркиз де Мондехар, вице-король Неаполя, чтобы известить Филиппа II о возможных переговорах относительно перемирия между христианами и турками, что стало причиной кризиса имперской разведки в Средиземноморье. Бернардино де Мендоса (1541—1604), посол Испании в Англии и Франции во многих своих письмах использовал метод nomenclator, где особую роль играла замена букв цифрами и шифр из биграмм (например, BL = 23, BR = 24, y TR = 34)[48].
Закодированное письмо Эрнана Кортеса с использованием комбинированного шифра с подстановкой омофонов и метода nomenclator.
Термин «индейская криптография» («criptografía indiana»), внедрённый исследователем Гильермо Ломанн Вильена (исп. Guillermo Lohmann Villena), применяется для обозначения зашифрованных документов в испанских колониях Америки. Первым известным документом на территории Америки, в котором использовался шифр («caracteres ignotos») была депеша Христофора Колумба, адресованная Диего Колумбу в 1500 году, и перехваченная губернатором Санто-Доминго, Франсиско де Бобадилья[49].
Письма зашифровывали не только вице-короли и высшие сановники, но и представители католических орденов и отдельные личности[50]: свой шифр имел завоеватель Мексики Эрнан Кортес (использовал: комбинированный шифр с подстановкой омофонов и кодирования; а также метод nomenclator)[51] и вице-короли Перу Педро де ла Гаска[52], Франсиско де Толедо[53], адмирал Антонио де Агуайо[54]. es (Шаблон:Lang-Consejo de Estado de España) снабдил графа де Чинчон, губернатора Перу с 1629 по 1639 годы, новым изобретением в криптографии начала XVII века — указателем индейских географических названий («nomenclator indiano»); одновременно с этим была внедрена новая система — буквы замещались двумя цифрами (например, AL — 86, BA — 31, BE — 32, BI — 33)[55], использовались также триграммы.
Уникальный слоговой шифр иезуитов использован в Тетради Бласа Валера (Куско, 1616); одновременно в документе содержится дешифровка инкских кипу, юпаны, знаков токапу и секес, во многом и послуживших основой для создания шифра[56]; поскольку ключевое значение в кипу и в шифре имел цвет, то он послужил поводом для изобретения в 1749 году итальянцем Раймондо де Сангро метода цветного книгопечатания.
Чёрные кабинеты
Антуан Россиньоль
Джон Валлис
В 1626 году, при осаде города Реальмон, а позже и в 1628 году при осаде Ла-Рошели, французский подданный Антуан Россиньоль (фр. Antoine Rossignol, 1600—1682) расшифровал перехваченные сообщения, и тем самым помог победить армию гугенотов. После победы правительство Франции несколько раз привлекали его к расшифровке шифров. После его смерти его сын (фр. Bonaventure Rossignol), а позже и внук (фр. Antoine-Bonaventure Rossignol), продолжили дело отца. В то время правительство Франции привлекало к работе множество криптографов, которые вместе образовывали так называемый «Чёрный кабинет» (фр. Cabinet Noir).[18]
Антуану Россиньолю принадлежит доктрина, согласно которой стойкость шифра должна определяться видом зашифрованной информации. Для военного времени достаточной будет являться стойкость, если сообщение с приказом армейскому подразделению не будет расшифровано противником хотя бы до момента исполнения получателем, а для дипломатической почты шифр должен обеспечивать сохранность на десятки лет.[1]
В России датой учреждения первой государственной шифровальной службы можно считать 1549 год — образование «посольского приказа» с «циферным отделением». А как минимум с 1702 года Петра сопровождала походная посольская канцелярия под руководством первого министра Ф. А. Головина, которая с 1710 года приобрела статус постоянного учреждения. В нём сосредоточилась криптографическая работа с перепиской между Петром, его приближёнными и различными получателями, а также по созданию новых шифров.[19][57]
Впоследствии над дешифрованием сообщений в России трудились в том числе такие математики как Кристиан Гольдбах, Леонард Эйлер и Франц Эпинус. При этом во время Семилетней войны (1756—1763) Эйлер, находясь в Пруссии, хотя и продолжал переписываться с высшими лицами Российской империи, также занимался дешифровкой перехваченных писем русских офицеров.[19][37][58]
К началу XVIII века подобные кабинеты были по всей Европе, в том числе «Die Geheime Kabinettskanzlei» в Вене, первое дешифровальное отделение в Германии под начальством графа Гронсфельда[1], группа Джона Валлиса в Англии. До, во время и после войны за независимость США они оказались способны вскрыть большую часть колониальных шифров. Большинство из них было закрыто к середине XIX века, в том числе, по одной из версий — из-за отсутствия вооружённого противостояния с США.[18]
Криптография в британских колониях и США
Бенедикт Арнольд
Однако в британских колониях, чаще всего, централизованных организаций не было — перехват и дешифрования выполнялись обычными служащими, при возможности. Известен случай дешифровки письма 1775 года главного хирурга армии США (англ. Surgeon General of the United States Army) Бенджамина Чёрча (англ. Benjamin Church), адресованное британцам, в котором он ставил командование врага в известность об армии США около Бостона. Хотя в письме не содержалось действительно секретных данных, его попросили приостановить подобную переписку. Бенедикт Арнольд, генерал армии США, известен в том числе из-за использования «кодовой книги», копия которой должна быть у каждого отправителя и получателя сообщений. Шифр состоял в указании позиции слова в книге, в том числе страницы, строки и номера в строке.[18] Данный метод получил название книжного шифра.
Отцом криптографии США называют учителя и государственного деятеля Джеймса Ловелля (англ. James Lovell). Во время войны за независимость США он дешифровал множество британских сообщений, одно из которых заложило основу для окончательной победы в войне.[59] В будущем Ловелль стал членом комитета по секретной корреспонденции, четвёртым, после Бенджамина Франклина (Пенсильвания), Бенджамина Харрисона (Виргиния) и Томаса Джонсона (англ. Thomas Johnson) (Мэриленд). Именно там Джеймс заслужил своё признание эксперта конгресса по криптографии и стал называться отцом американской криптографии.[60]
Томас Джефферсон В 1790-х годах[61] будущий президент США Томас Джефферсон построил одну из первых механических роторных машин, упрощавшей использование полиалфавитных шифров[62]. Среди других авторов-изобретателей стоит отметить полковника Десиуса Вадсворта (англ. Decius Wadsworth), изобретателя машины с вращательными шифровальными дисками с различным количеством букв. Хотя он изобрёл её в 1817 году, вся слава досталась Чарлзу Уитстону за аналогичную машину, представленную на Всемирной выставке 1867 года в Париже.[18][63] Однако распространение роторные машины получили лишь в начале XX века.[62] Значительный толчок криптографии дало изобретение телеграфа. Сама передача данных перестала быть секретной, и сообщение, в теории, мог перехватить кто угодно. Интерес к криптографии возрос в том числе и среди простого населения, в результате чего многие попытались создать индивидуальные системы шифрования. Преимущество телеграфа было явным и на поле боя, где командующий должен был отдавать немедленные приказания по всей линии фронта или хотя бы на всём поле сражения, а также получать информацию с мест событий. Это послужило толчком к развитию полевых шифров. Сначала армия США использовала шифр Виженера с коротким ключевым словом, однако, после открытия метода Касиски в 1863 году, он был заменён.[18]
Дальнейший прогресс был связан как с индивидуальными, так и с государственными исследованиями. В 1854 году Чарлз Уитстон описал, а Лион Плейфер (англ. Lyon Playfair) добился применения британскими вооружёнными силами нового шифра, как его позже назовут — шифра Плейфера. Его особенностью была относительная простота использования, хотя этот шифр являлся одним из первых, в котором применялась замена биграмм вместо отдельных букв. Поэтому его использовали для шифрования важной, но не очень секретной информации во время боя — через то время, которое противник потратит на взлом шифра, информация станет уже неактуальной.[64] Шифр использовался вплоть до Второй мировой войны.[18]
Во время Гражданской войны в США (1861—1865) шифры были не очень сложными. В то время как Союзные силы имели централизованные правила шифрования, командование Конфедерации оставляло эти вопросы на усмотрение полевых командиров. В результате на местах использовались настолько простые схемы, что иногда противник расшифровывал сообщения быстрее, чем его номинальный получатель. Одной из проблем было использование стандартных ключевых фраз для довольно хорошего шифра Виженера. Три самых известных были фразы «Manchester Bluff», «Complete Victory», и «Come Retribution». Их довольно быстро «открыли» криптоаналитики союзных сил.[18] Проблема выбора сильных паролей и ключевых фраз является довольно острой и до сих пор (среди современных — «123456», «password» и «12345678»).[65]
На пути к математической криптографии
В 1824 году выходит книга Жана-Франсуа Шампольона «Précis du système hiérogl. d. anciens Egyptiens ou recherches sur les élèments de cette écriture» («Краткий очерк иероглифической системы древних египтян или исследования элементов этого письма»), содержавшая расшифровку египетских иероглифов, скрывавших свои тайны более трёх тысяч лет.[66]
Огюст Керкгоффс
В 1863 году Фридрих Касиски (англ. Friedrich Kasiski) опубликовал метод, впоследствии названный его именем, позволявшим быстро и эффективно вскрывать практически любые шифры того времени. Метод состоял из двух частей — определение периода шифра и дешифровка текста с использованием частотного криптоанализа.[18]
В 1883 году Огюст Керкгоффс опубликовал труд под названием «Военная криптография» (фр. La Cryptographie Militaire). В нём он описал шесть требований, которым должна удовлетворять защищённая система. Хотя к некоторым из них стоит относиться с подозрением[18], стоит отметить труд за саму попытку:
1. шифр должен быть физически, если не математически, невскрываемым;
2. система не должна требовать секретности, на случай, если она попадёт в руки врага;
3. ключ должен быть простым, храниться в памяти без записи на бумаге, а также легко изменяемым по желанию корреспондентов;
4. зашифрованный текст должен [без проблем] передаваться по телеграфу;
5. аппарат для шифрования должен быть легко переносимым, работа с ним не должна требовать помощи нескольких лиц;
6. аппарат для шифрования должен быть относительно прост в использовании, не требовать значительных умственных усилий или соблюдения большого количества правил.
Оригинальный текст (фр.)
1. Le système doit être matériellement, sinon mathématiquement, indéchiffrable ;
2. Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénient tomber entre les mains de l’ennemi ;
3. La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites, et être changée ou modifiée au gré des correspondants ;
4. Il faut qu’il soit applicable à la correspondance télégraphique ;
5. Il faut qu’il soit portatif, et que son maniement ou son fonctionnement n’exige pas le concours de plusieurs personnes ;
6. Enfin, il est nécessaire, vu les circonstances qui en commandent l’application, que le système soit d’un usage facile, ne demandant ni tension d’esprit, ni la connaissance d’une longue série de règles à observer.
— Auguste Kerckhoffs. La Cryptographie Militaire
В настоящее время второе из этих правил известно как принцип Керкгоффса.
В конце XIX — начале XX века правительства стран вновь бросили значительные силы на шифрование и криптоанализ. В 1914 году Британия открыла «Комнату 40», в 1917 году США — MI-8, ставшую предшественницей современного АНБ.[18]
Уильям Фридман
В 1918 году вышла монография американского криптографа российского происхождения[67] Уильяма Ф. Фридмана «Индекс совпадения и его применение в криптографии» (англ. «Index of Coincidence and Its Applications in Cryptography»). Работа вышла в открытой печати, несмотря на то, что была выполнена в рамках военного заказа.[68] Двумя годами позже Фридман ввёл в научный обиход термины криптология и криптоанализ.[69]
В начале 1920-х годов практически одновременно в разных странах появляются патенты и электромеханические машины, использующие принципы криптографического диска (ротора) и автоматизирующие процесс шифрования. В США это был Эдвард Геберн (англ. Edward Hebern)[70], после него — Хьюго Кох (англ. Hugo Koch) из Нидерландов и его «Энигма» (позже патент был куплен Артуром Шербиусом (англ. Arthur Scherbius)), Арвид Герхард Дамм из Швеции и его машина «B-1» — разработки последнего были продолжены Борисом Хагелиным[70].
В 1928—1929 годах польское «Biuro Szyfrów» организовало курсы для 20 математиков со знанием немецкого языка — будущих криптоаналитиков, трое из которых известны работой по взлому «Энигмы». До этого на работу принимали в основном лингвистов.[71]
В 1929 году Лестер Хилл (англ. Lester S. Hill) опубликовал в журнале «The American Mathematical Monthly» статью «Cryptography in an Algebraic Alphabet». В ней он описал подход к конструированию криптографических систем, для которых математически была доказана их неуязвимость к частотным атакам, в том числе к методу Касиски. Для представления текста он перевёл его в цифровой вид, а для описания шифрования использовал полиномиальные уравнения. С целью упрощения вычисления были представлены в виде операций над матрицами, отдельные элементы которых складывались и умножались по модулю 26 (по числу букв в латинском алфавите). Так как система оказалась слишком сложна в использовании, он собрал механическую шифровальную машину, которая упрощала эти операции. К сожалению, машина могла использовать лишь ограниченное множество ключей, и даже с машиной шифр использовался очень редко — лишь для шифрования некоторых государственных радиопередач. Тем не менее, его основной вклад — математический подход к конструированию надёжных криптосистем.[18]
Криптография в литературе
Криптография оказала влияние и на литературу. Упоминания о криптографии встречаются ещё во времена Гомера и Геродота, хотя они описывали искусство шифрования в контексте различных исторических событий. Первым вымышленным упоминанием о криптографии можно считать роман «Гаргантюа и Пантагрюэль» французского писателя XVI века Франсуа Рабле, в одной из глав которого описываются попытки чтения зашифрованных сообщений. Упоминание встречается и в «Генрихе V» Шекспира.[72]
Впервые как центральный элемент художественного произведения криптография используется в рассказе «Золотой жук» Эдгара Аллана По 1843 года. В нём писатель не только показывает способ раскрытия шифра, но и результат, к которому может привести подобная деятельность — нахождение спрятанного сокровища.[72]
Однако, по мнению Дэвида Кана, лучшим описанием применения криптографии является рассказ 1903 года Артура Конан Дойля «Пляшущие человечки». В рассказе великий сыщик Шерлок Холмс сталкивается с разновидностью шифра, который не только прячет смысл написанного, но, используя символы, похожие на детские картинки, скрывает сам факт передачи секретного сообщения. В рассказе герой успешно применяет частотный анализ, а также предположения о структуре и содержании открытых сообщений для разгадывания шифра.[72]
…величайший подвиг вымышленного криптоанализа был совершён, естественно, величайшим из вымышленных детективов.
Оригинальный текст (англ.)
…the greatest feat of fictional cryptanalysis was performed, naturally enough, by the greatest of fictional detectives.
— David Kahn. The Codebreakers — The Story of Secret Writing (англ.).[72]