Криптография – это наука о методах обеспечения аутентификации, целостности и конфиденциальности данных.
Сейчас уже только младенцы не знают про криптовалюты. И практически все знают, что биткоин основан на криптографии. Но можете ли вы сказать, как работает шифрование в криптовалютах и как наука, которая веками занималась лингвистикой, привела к цифровой революции?
Криптовалюты не могли бы существовать без шифрования с открытым ключом.
Криптография с открытым ключом (или асимметричная криптография) обеспечивает конфиденциальность и подтверждает право собственности. Зародилась она сравнительно недавно — в середине 1970-х, — и совпала по времени с революцией персональных компьютеров.
Преимущество этого метода шифрования состоит в том, что сообщение может прочитать только то лицо, которому оно адресовалось. Другими словами, криптография с открытым ключом обеспечивает секретность коммуникаций между сторонами.
Ключ используется для кодирования и декодирования сообщений. В асимметричной криптографии ключ, с помощью которого сообщение кодируется, отличается от ключа, предназначенного для его декодирования.
В симметричном шифровании используется только один ключ. В результате возникает проблема переноса: отправитель не только посылает сообщение, но должен найти надежный способ передать ключ. Если третья сторона перехватит сообщение и ключ, то сможет декодировать данные.
Метод обмена ключами Диффи-Хеллмана
На протяжении большей части истории криптография занималась лингвистическим анализом и решением головоломок, однако со второй половины XX века на первый план вышли математические методы.
В 1970-х сотрудники Стэнфордского университета Уитфилд Диффи, Мартин Хеллман и Ральф Меркл нашли формальное математическое решение проблемы обмена ключами. В нем они использовали модульные арифметические и односторонние функции (Ральф Меркл внес огромный вклад в развитие криптовалют как изобретатель одноименных деревьев).
Модульная арифметика занимается сравнением чисел по модулю и имеет дело с периодическими функциями, значения которых повторяются через некоторые интервалы. Например, остаток от деления 7 на 3 («по модулю 3») равен 1. Идею периодических функций помогает понять 12-часовой формат времени. Например, если сейчас 8:00 утра, то через 6 часов будет не 14:00 (как при 24-часовом формате), а 2:00 дня. Суть в том, что модульная арифметика ведет себя неинтуитивно и приводит к неожиданным результатам.
Односторонние функции обладают примечательной особенностью: они легко вычисляются для любого аргумента, однако по заданному конечному значению найти сам аргумент почти невозможно. Представьте тарелку супа в ресторане. Повар без особого труда приготовил его, следуя рецепту. Его можно попробовать на вкус и даже выявить некоторые составляющие, но без точного рецепта и набора ингредиентов сварить суп самостоятельно не получится.
В алгоритме Диффи-Хеллмана участники разглашают некоторую информацию о ключе, но сохраняют в тайне данные, позволяющие воспроизвести этот ключ. Ученые представили свою идею в июне 1976 года на Национальной компьютерной конференции.
Рождение асимметричной криптографии
Алгоритм Диффи-Хеллмана решает ключевую проблему обмена ключами, но по-прежнему использует симметричное шифрование.
Ознакомившись с решением Диффи-Хеллмана, Рон Ривест, Ади Шамир и Леонард Адельман из Массачусетского технологического института занялись поиском решения для асимметричного шифрования. В апреле 1977 года им это удалось. Созданный ими алгоритм получил аббревиатуру RSA по фамилиям авторов.
В асимметричном шифровании каждая из сторон публикует общедоступный открытый ключ. Другая сторона использует его для шифрования сообщений, декодировать которые может только владелец закрытого ключа. Проще говоря, открытый ключ — это число, полученное умножением двух чисел закрытого ключа. Если числа достаточно велики, установить их по полученному произведению будет очень трудоемко.
Шифрование для всех
В прошлом из-за высоких требований к мощности компьютера RSA-шифрование было доступно только избранным — правительству, военным, крупным корпорациям. Фил Циммерман решил открыть его для всех. Он разработал программу Pretty Good Privacy (PGP) и выложил ее в свободный доступ в июне 1991-го.
Циммерман обошел высокие требования к вычислительной мощности, характерные для асимметричного шифрования, реализовав гибридный алгоритм. Сообщение шифровалось симметричным ключом, затем тот кодировался асимметричными методами и отправлялся вместе с сообщением.
Привет, Хэл Финни!
Первым сотрудником, нанятым Филом Циммерманом, стал Хэл Финни. Финни первым же проявил интерес к концепции биткоина, предложенной в 2008 году неким Сатоши Сакамото.
В 1990-х ряд попыток создать частные цифровые деньги, защищенные асимметричным шифрованием, завершился провалом. Дэвид Чаум разработал DigiCash, однако все транзакции в его проекте проверялись централизованно. Проект потерпел неудачу, а компания в 1998 году объявила о банкротстве.
В 1997-м британский исследователь Адам Бек придумал HashCash. В этом проекте для создания новых монет использовался метод Proof-of-Work. HashCash провалился, поскольку монеты можно было использоваться только один раз: когда пользователь хотел что-либо купить, ему приходилось добывать новые монеты.
Хэл Финни решил проблему HashCash, предложив первую многоразовую систему Proof-of-Work (RPOW). Он попытался создать собственные цифровые деньги под названием CRASH (CRypto cASH), однако проект потерпел неудачу.
Возникновение биткоина
Хэл Финни стал первым после Сатоши Накамото человеком, запустившим узел сети Bitcoin, и первым получателем платежа в биткоинах. Финни всячески поддерживал создателя биткоина:
«Представь, что биткоин станет доминирующим средством платежа в мире. Тогда общая капитализация криптовалюты должна сравняться со стоимостью всего богатства в мире… Даже если вероятность этого невелика, она все же существует. Здесь есть над чем подумать».
В августе 2009-го Финни диагностировали боковой амиотрофический склероз. 19 марта 2013 года он обратился к сообществу с прощальным посланием, в котором описал свой ранний опыт работы с биткоином:
«Спустя несколько дней сеть работала довольно стабильно, поэтому я оставил ее в покое. Тогда сложность равнялась единице, и блоки можно было добывать с помощью обычного центрального процессора. За следующие дни я создал несколько блоков. Затем я отключил компьютер, поскольку он сильно нагревался и доставал меня шумом вентиляторов… В следующий раз я вспомнил о биткоине в конце 2010-го, когда с удивлением обнаружил, что проект не только жив, но криптовалюта даже имеет определенную цену. Я загрузил свой старый кошелек и с облегчением обнаружил, что мои биткоины целы и невредимы. По мере роста цены я перевел монеты в автономный кошелек и надеюсь, что они принесут пользу моим наследникам».
Заключение
Развитие криптографии не остановилось на биткоине. В ее основе лежит современная математика, открывающая перспективы, которые невозможно было представить в середине прошлого века. Исследования продолжаются, и с появлением квантовых компьютеров возникают новые, уникальные возможности.
Помимо математики, важная часть современной криптографии — децентрализация. Каждый человек имеет право на конфиденциальность. Когда Ривест, Шамир и Адельман создали метод шифрования с открытыми ключами, доступ к нему имели только мощные и централизованные организации. Программа PGP Фила Циммермана значительно расширила спектр возможных применений и позволила любому человеку с персональным компьютером шифровать свои сообщения. Затем появился биткоин, неотъемлемой частью которого стала криптография с открытыми ключами.
Многие книги подробно описывают историю криптографии и специфику ее применения в криптовалютах. В произведении Саймона Сингха «Книга шифров» рассказывается об истории шифрования, насчитывающей более 20 веков.
Также можно порекомендовать книгу Натаниэля Поппера «Цифровое золото: невероятная история биткоина, или как идеалисты и бизнесмены изобретают деньги заново».