Криптография. Краткая история от симметрии до Биткоина

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

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

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

Протокол Диффи – Хеллмана.

На протяжении почти всей истории криптографии основными движущими силами являлись лингвистика, язык и пытливые умы. Однако с середины прошлого века на передний план вышла математика.

В 1970-х годах в Стэнфордском университете Уитфилд Диффи, Мартин Хеллман и Ральф Меркл нашли математическое решение проблемы распределения ключей. В своем решении они использовали модульную арифметику и односторонние функции. (Среди других достижений, Ральф Меркл внес огромный вклад в развитие криптовалют как изобретатель дерева Меркла – хэш-дерева.)

Модульная арифметика даёт возможность работать с остатками и числами, которые «зацикливаются» после достижения определенного значения. То есть, 7 mod 3 равно 1, потому что 1 — это то, что остается после деления 7 на 3. 12-часовой формат исчисления времени является наиболее распространенным примером цикличной природы модульной арифметики. Если сейчас 8:00 утра, через 6 часов будет не 14 часов, а 2:00 вечера. Главное помнить, что модульная арифметика не поддается интуитивному пониманию и дает неожиданные результаты.

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

В алгоритме Уитфилда Диффи собеседники делятся частью общедоступной информации для ключа, но сохраняют конфиденциальную информацию, которая не дает внешнему наблюдателю воспроизвести этот ключ. Свое решение команда представила публике в июне 1976 года на Национальной компьютерной конференции.

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

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

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

Шифрование для остальных

В те дни использование алгоритма RSA бросало вызов ресурсам компьютеров. Шифрование целиком и полностью принадлежало богатым и могущественным, то есть военным, правительствам и большим корпорациям. Филипп Циммерманн сформировал концепцию шифрования, доступ к которому может получить каждый, необходим лишь персональный компьютер. Он создал программу PGP (Pretty Good Privacy) и бесплатно выпустил ее в июне 1991 года.

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

Здравствуй, Хал Финни

Хал Финни был первым работником, которого Циммерман нанял для работы над PGP. Хэл Финни станет первым человеком, который проявит интерес к открытию неизвестного человека, который назвал себя Сатоши Накамото, и, появившись на сцене в 2008 году, предложил нечто под названием Биткоин.

Множество попыток создания частных цифровых денег, защищенных асимметричным шифрованием, провалились в 1990-ых годах. В Амстердаме Дэвид Шаум создал DigiCash, но потребовал, чтобы все транзакции проверялись централизованной компанией. Когда в 1998 году компания Шаума обанкротилась, провалился и проект DigiCash. В 1997 году британский исследователь Адам Бек создал HashCash, который использовал метод Proof of Work для создания новых монет. HashCash провалился из-за того, что монета могла использоваться только один раз. Пользователям приходилось создавать новые монеты каждый раз, когда они хотели что-то купить. Хэл Финни решил проблему HashCash, создав первый многоразовую систему PoW (RPOW). Свой пробный проект он назвал CRASH.

Здравствуй, Биткоин

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

«Вообрази, что биткоин успешен, он становится главной платежной системой, которой пользуются во всем мире. Тогда суммарная цена валюты должна быть равна общей стоимости всего богатства в мире … Даже если у биткоина мало шансов взлететь так высоко, действительно ли это один шанс к ста миллионам? Тут есть о чем подумать».

Позднее, Халу Финни поставили смертельный диагноз – амиотрофический склероз. 19 марта 2013 года он опубликовал прощальное послание к сообществу:

«Через несколько дней биткоин работал довольно стабильно. Так что я оставил его запущенным. Это было время, когда сложность равнялась единице, вы могли найти блок с помощью CPU, даже не GPU. В течение следующих нескольких дней я намайнил несколько блоков. Но я отключил процесс, так как из-за него мой компьютер стал горячим, а шум вентилятора беспокоил меня … В следующий раз я услышал о биткоине в 2010 году. Тогда я был удивлен, обнаружив, что он не только все еще существует, но и имеет денежную стоимость. Я вспомнил свой старый кошелек и с облегчением обнаружил, что мои биткоины все еще там. Когда цена поднялась до реальных денег, я перевел монеты на автономный кошелек, где они, надеюсь, когда-нибудь пригодятся моим наследникам».

Криптография не остановилась на открытии Диффи, не остановится она и на Биткоине, продолжив развиваться дальше. Фундаментом этого развития является математика. Современная математика открывает возможности, которые невозможно было вообразить до середины двадцатого века. Математические исследования продолжаются, когда квантовые вычисления станут масштабнее, возникнут и новые математические возможности.

Помимо математики, историю современной криптографии вершит децентрализация (Почему децентрализация так важна?). Каждый человек заслуживает конфиденциальности. Когда Ривест, Шамир и Адельман создали шифрование с открытым ключом, мгновенную выгоду получили только мощные и централизованные организации. «Pretty Good Privacy» Фила Циммермана расширила рынок, включив в него всех, кто хочет использовать криптографию на персональном компьютере. С Биткоином каждый, кто использует криптовалюту, получает конфиденциальность шифрования с открытым ключом как неотъемлемую часть системы.

Дополнительное чтение:

Саймон Сингх. «Книга шифров. Тайная история шифров и их расшифровки». Научно-популярное повествование об истории развития различных способов шифрования.

Натаниэль Поппер. «Цифровое Золото. Невероятная история Биткойна или о том, как идеалисты и бизнесмены изобретают деньги заново». Рассказывает о ранней истории криптовалют.