24. Криптография с открытым ключом
Два старшекурсника тихо стояли у кафедры и слушали, как профессор представляет на конференции их работу. Такое было не принято. Обычно студенты сами купаются в лучах славы, и всего два дня назад они мечтали об этом. Но их отговорили родственники. Не стоило так рисковать.
За несколько недель до этого стэндфордские ученые получили неприятное письмо от одного мрачного государственного учреждения. Правительство США предупреждало, что публичное обсуждение открытий будет считаться юридически равнозначным передаче ядерного оружия враждебной иностранной державе. Университетский юрист сказал, что, по его мнению, отстоять свою позицию можно, ссылаясь на Первую поправку к Конституции, защищающую свободу слова. Однако затраты на защиту во время процесса могли покрыть только профессорам, и семьи убедили студентов не высовываться.
Интересно, какую же информацию американские спецслужбы сочли опасной для разглашения? Может быть, студенты расшифровали генетический код оспы или сорвали завесу тайны с шокирующего заговора с участием президента? Вовсе нет. Они планировали представить на Международном симпозиуме по теории информации новые данные, полученные в ходе работы над криптосистемами с открытым ключом.
Шел 1977 год. Если бы попытка правительства заткнуть рот ученым-криптографам увенчалась успехом, интернет в его современном виде мог не появиться. Строго говоря, исследователи об этом и не думали: до появления Всемирной паутины оставалось еще много лет. Глава ведомства, адмирал Бобби Рэй Инман, был искренне озадачен мотивами научного коллектива. По его опыту, криптография, или наука о передаче секретных сообщений, имела практическое значение только для шпионов и преступников. За три десятилетия до этого случая другие блестящие ученые-шифровальщики помогли выиграть войну. Они взломали код «Энигмы», позволив союзникам читать зашифрованные сообщения нацистов. А теперь стэнфордские исследователи решили свободно распространить информацию, которая могла помочь противнику в будущей войне кодировать сообщения так, что США не сможет дешифровать их. Инман считал это недопустимым.
Его опасения были обоснованны. Развитие криптографии действительно подталкивали военные конфликты. Две тысячи лет назад Юлий Цезарь отправлял зашифрованные сообщения на дальние рубежи Римской империи. Он заранее договорился, что получатель просто сдвинет алфавит на определенное число букв. Например, «бублфк Всйубойя», если заменить все буквы на предшествующие, читается как «атакуй Британию».
Люди, взломавшие код «Энигмы», такого рода шифры раскусили бы очень быстро, поэтому современная кодировка обычно числовая: сначала надо перевести буквы в числа, а затем произвести с ними сложные математические операции. Получателю сообщения при этом нужно знать, как декодировать числа, выполняя те же действия в обратном порядке. Такое шифрование называется симметричным: на сообщение как будто вешают замок, предварительно дав ключ получателю.
Стэнфордских ученых интересовало, может ли шифрование быть асимметричным. Есть ли способ отправить зашифрованное сообщение совершенно незнакомому человеку и быть уверенным, что он, и только он один, сможет его декодировать? Все это звучит невероятно, и до 1976 года большинство экспертов согласились бы с такой оценкой. Но затем вышла революционная статья Уитфилда Диффи и Мартина Хеллмана. Годом ранее Хеллман проигнорировал угрозу преследования и представил работу своих студентов. В том же году трое исследователей из Массачусетского технологического института, Рон Ривест, Ади Шамир и Леонард Адлеман, превратили теорию Диффи — Хеллмана в практическую методику. По фамилиям создателей ее назвали RSA-кодированием. Эти ученые поняли, что некоторые математические операции в одном направлении выполнять намного проще, чем в другом. Возьмите очень большое простое число (такие числа делятся только на себя и на единицу), потом еще одно, и перемножьте их. Сделать это достаточно легко, а в результате получается очень, очень большое «полупростое» число, которое делится только на два исходных простых числа и единицу. Затем попросите кого-нибудь определить, умножением каких простых чисел было получено это полупростое число. Оказывается, это невероятно сложная задача.
На этом принципе основана криптография с открытым ключом. Человек публикует полупростое число — открытый ключ, и все его видят. Алгоритм RSA позволяет другим людям шифровать сообщения с помощью этого ключа таким образом, что расшифровать их может только тот, кто знает два простых числа, которые его создали. Это словно раздать всем, кто желает отправить вам сообщение, замки, которые можете открыть только вы сами. Адресатам необязательно иметь ваш личный ключ, чтобы защитить сообщение перед отправкой; достаточно просто защелкнуть один из ваших замков.
Теоретически кто-то может вскрыть ваш замок, угадав правильное сочетание простых чисел, но на практике для этого требуются невероятные вычислительные мощности. В начале 2000-х годов RSA Laboratories опубликовала ряд полупростых чисел и предложила денежное вознаграждение каждому, кто угадает, из каких простых чисел они получены. Награда в 20 тысяч долларов все же была выплачена, но над решением пять месяцев без перерыва трудились 80 компьютеров. При этом более весомые призы за более длинные числа остались невостребованными.
Неудивительно, что адмирал Инман опасался того, что такое открытие может попасть в руки врагов Америки. Однако профессор Хеллман понимал то, чего не осознавал начальник разведки. Мир меняется, электронная связь становится в нем все важнее, а многие операции в частном секторе будут невозможны, если не обеспечить безопасность общения для обычных граждан.
Профессор Хеллман оказался прав, и вы демонстрируете его правоту всякий раз, когда отправляете конфиденциальное деловое письмо, делаете покупки в интернете, пользуетесь банковским приложением, посещаете любой сайт, адрес которого начинается с https. Без криптографии с открытым ключом кто угодно мог бы прочитать ваши сообщения, увидеть пароли и скопировать данные вашей кредитки. Кроме того, криптография с открытым кодом позволяет сайтам доказывать свою подлинность: без нее случаи фишинга значительно участились бы. Интернет был бы совсем другим, гораздо менее полезным для экономики. Безопасные сообщения в наши дни нужны не только секретным агентам, они стали частью повседневного обеспечения безопасности онлайн-шопинга.
К своей чести, адмирал Инман вскоре признал правоту профессора и не стал выполнять свои угрозы. Они даже подружились. Но и Инман был по-своему прав: криптография с открытым ключом действительно усложнила его работу. Для наркоторговцев, распространителей детской порнографии и террористов шифрование не менее полезно, чем для обычных людей, покупающих на eBay картридж для принтера. С точки зрения государственных органов, идеальным решением, наверное, была бы такая кодировка, которую службы взломать могут, а простые смертные и преступники — нет. Таким образом обеспечивались бы и экономические преимущества интернета, и контроль над всем происходящим. Учреждение, возглавляемое Инманом, называлось Агентством национальной безопасности (NSA).
В 2013 году Эдвард Сноуден раскрыл всем секретные документы, показывающие, каким образом NSA стремится к достижению этой цели. Начатые Сноуденом дебаты не утихают. Если нельзя гарантировать, что шифрованием пользуются только хорошие ребята, то в какие дела государство имеет право совать свой нос и с какими мерами предосторожности?
А тем временем появилась технология, которая может сделать криптографию открытого ключа совершенно бесполезной. Это квантовые вычисления. Квантовые компьютеры, в основе работы которых лежит странное поведение материи на квантовом уровне, в будущем могли бы производить некоторые вычисления на порядки быстрее обычных. Скажем, если мы сможем легко определять, какие два простых числа нужно перемножить, чтобы получить большое полупростое число, то интернет превратится в открытую книгу. Пока квантовые вычисления находятся на ранних этапах разработки, а криптографы спустя сорок лет после того, как Диффи и Хеллман заложили основы интернет-безопасности, стремятся ее сохранить.