Как на самом деле работает криптография с открытым ключом, используя только простую математику

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

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

Чтобы понять, как это работает, проще представить себе «ключи» не как предметы, которые вставляются в замок, а как два взаимодополняющих ингредиента в невидимых чернилах. Первый ингредиент заставляет сообщения исчезать, а второй — появляться вновь. Если шпион по имени Борис хочет отправить своей коллеге Наташе секретное послание, он пишет сообщение, а затем использует первый ингредиент, чтобы сделать его невидимым на странице. (Это легко сделать: Наташа опубликовала простую и известную формулу исчезающих чернил). Когда Наташа получает бумагу по почте, она применяет второй ингредиент, который заставляет сообщение Бориса появиться вновь.

В этой схеме любой может сделать сообщение невидимым, но только Наташа может сделать его снова видимым. И поскольку она никогда не делится формулой второго ингредиента ни с кем — даже с Борисом, — она может быть уверена, что сообщение не было расшифровано по пути. Когда Борис хочет получать секретные сообщения, он просто использует ту же процедуру: Он публикует простой рецепт исчезновения сообщений (которым может воспользоваться Наташа или любой другой человек), а для себя оставляет другой, по которому они появляются вновь.

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

Одна из распространенных функций-ловушек включает в себя умножение двух больших простых чисел, что является простой операцией. Но обратное перемножение, то есть начало с произведения и нахождение каждого простого множителя, нецелесообразно с вычислительной точки зрения. Чтобы создать открытый ключ, начните с двух больших простых чисел. Это ваши «ловушки». Умножьте эти два числа вместе, а затем выполните несколько дополнительных математических операций. Теперь этот открытый ключ может шифровать сообщения. Чтобы расшифровать их, вам понадобится соответствующий закрытый ключ, который содержит простые коэффициенты — необходимые ловушки. С помощью этих чисел расшифровать сообщение не составит труда. Держите эти два простых фактора в секрете, и сообщение останется тайной.

Как на самом деле работает криптография с открытым ключом, используя только простую математику
(иллюстрация: Mark Belan/Quanta Magazine).

Основы криптографии с открытым ключом были впервые открыты в 1970-1974 годах британскими математиками, работавшими в Штабе правительственной связи Великобритании — том самом правительственном агентстве, которое взломало нацистский код «Энигма» во время Второй мировой войны. Их работа (которая оставалась засекреченной до 1997 года) была передана Агентству национальной безопасности США, но из-за ограниченности и дороговизны вычислительных мощностей ни одно из правительств не внедрило эту систему. В 1976 году американские исследователи Уитфилд Диффи и Мартин Хеллман открыли первую публично известную схему криптографии с открытым ключом, на которую повлиял криптограф Ральф Меркл. Всего год спустя алгоритм RSA, названный в честь его изобретателей Рона Ривеста, Ади Шамира и Леонарда Адлемана, стал практическим способом использования криптографии с открытым ключом. Он широко используется и сегодня, являясь основополагающим элементом современного Интернета, позволяя делать все — от покупок до веб-почты.

Эта двухключевая система также делает возможными «цифровые подписи» — математическое доказательство того, что сообщение было создано владельцем закрытого ключа. Это работает потому, что закрытые ключи можно использовать и для шифрования сообщений, а не только для их расшифровки. Конечно, это бесполезно для сохранения тайны сообщений: если вы использовали свой закрытый ключ для шифрования сообщения, любой может использовать соответствующий открытый ключ для его расшифровки. Но это доказывает, что вы, и только вы, создали сообщение, поскольку, будучи владельцем закрытого ключа, только вы могли его зашифровать. Криптовалюты, такие как биткоин, не могли бы существовать без этой идеи.

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

«Это вопрос технологии», — сказал он. «Человек в XIX веке представлял себе шифрование как взаимодействие между отдельными агентами с военной разведкой в полевых условиях — буквально, в поле со стрельбой. Поэтому если первым шагом будет «выбрать два 100-значных простых числа для перемножения», то битва закончится раньше, чем вы это сделаете». Если вы сведете проблему к тому, что человек может сделать быстро, она не будет очень надежной».

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

Фундаментом криптографии с открытым ключом являются математические функции-ловушки. Эти функции легко вычислить в одном направлении, но сложно в обратном, за исключением случаев, когда известна определенная «лазейка». Одним из примеров является умножение больших простых чисел, обратная операция которого – факторизация – крайне сложна для вычисления.

Идея криптографии с открытым ключом была впервые разработана британскими математиками в 1970-х годах, но оставалась засекреченной до 1997 года. Независимо от них, в 1976 году Уитфилд Диффи и Мартин Хеллман представили первую публично известную схему криптографии с открытым ключом. Вскоре после этого, в 1977 году, Рональд Ривест, Ади Шамир и Леонард Адлеман разработали алгоритм RSA, ставший практическим способом реализации криптографии с открытым ключом.

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

  • Похожие статьи

    Синдром Леша-Нихана: генетическая загадка с тяжелыми последствиями

    Причины заболевания: сбой в переработке пуринов Синдром Леша-Нихана — редкое генетическое заболевание, вызванное мутациями в гене HPRT1, расположенном на Х-хромосоме. Этот ген отвечает за выработку фермента, необходимого для переработки пуринов — важных компонентов ДНК…

    Rete ovarii: забытый ключ к женской фертильности?

    Долгое время считавшийся бесполезным рудиментом, крошечный орган rete ovarii (РО) может играть важнейшую роль в работе яичников и фертильности, выяснили ученые. Новое исследование, опубликованное 19 марта в журнале eLife, опровергает вековое представление о том,…

    Добавить комментарий