Что такое криптографические подписи? Как работают? Полное руководство для начинающих
Схема криптографической подписи является фундаментальным компонентом криптовалютных сетей, которые проверяют целостность сообщений транзакций в сети. Они используют асимметричную криптографию и принимают многочисленные формы.
Типы криптографических подписей (также известные как цифровые подписи), применяемые в конкретной криптовалюте, обычно выбираются для определенных преимуществ, которые они предлагают. С момента их создания они постоянно оптимизировались для повышения эффективности и безопасности.
Криптовалюты породили новое яркое применение цифровых подписей, и их дальнейшее развитие, несомненно, будет сопровождаться большим прогрессом в области криптографии.
Криптографические подписи — это математические методы, используемые в криптовалютных сетях для проверки целостности сообщений транзакций по всей сети. Они используют асимметричную криптографию и существуют в различных формах.
Краткая история
Первая концепция алгоритмов цифровой подписи была приписана Уитфилду Диффи и Мартину Хеллману на основе односторонних функций – с потайным входом, которые они придумали в своей статье 1976 года.
Функции потайных входов широко используются в криптографии и математически составлены так, что их легко вычислить в одном направлении и чрезвычайно трудно вычислить в обратном направлении.
Rivest, Shamir и Adleman впоследствии создали первый примитивный алгоритм цифровой подписи, известный как RSA. RSA является наиболее распространенным криптографическим алгоритмом, используемым на сегодняшний день, и доминирует безопасную передачу данных через интернет.
Вскоре после этого были разработаны известные схемы цифровой подписи, такие как Lamport Signature и Деревья Merkle, причем деревья Merkle аналогичным образом функционировали в качестве основного компонента сетей блокчейн.
Цифровые подписи используют криптографию с открытым / приватным ключом, где пара ключей используется как часть алгоритма для отправки личных сообщений по незащищенным каналам.
Цель состоит в том, чтобы достичь подлинности сообщения через открытый ключ, проверяя, что сообщение пришло из соответствующего приватного ключа.
Шифрование - это то, где только владелец приватного ключа может расшифровать сообщение, отправленное и зашифрованное открытым ключом. Непризнание является еще одним важным компонентом, означающим, что подписывающее лицо не может отрицать, что оно подписало транзакцию, и для третьей стороны математически невозможно подделать подпись.
Обычно алгоритм цифровой подписи состоит из трех компонентов:
- Генерация ключей
- Алгоритм подписи
- Алгоритм проверки подписи
Генерация ключа жизненно важна для целостности цифровой подписи, поскольку она выводит приватный ключ и соответствующий открытый ключ. В криптовалютах приватный ключ должен генерироваться случайным образом, чтобы никто другой не имел доступа к соответствующему кошельку.
Алгоритм подписи создает подпись на основе сообщения (т. е. транзакции) и приватного ключа.
Алгоритм проверки подписи проверяет подлинность подписи, когда ей дается сообщение, открытый ключ и цифровая подпись.
После того, как получатель транзакции проверит подлинность сообщения, он может проверить целостность, выполнив сообщение по тому же алгоритму хеширования, что и отправитель.
На сегодняшний день существует множество криптографических схем подписи, поэтому давайте рассмотрим некоторые из наиболее распространенных и некоторые из наиболее продвинутых схем.
Подписи Лампорта (Lamport Signatures)
Подписи Лампорта были одними из первых цифровых подписей и, в частности, одноразовыми ключами, которые нельзя использовать повторно.
Изобретенные Лесли Лэмпортом в 1979 году, подписи Лампорта могут быть защищены с помощью любой односторонней функции потайных входов, что делает их чрезвычайно гибкими в своей конструкции. Обычно они используют хеш-функции, и их безопасность напрямую зависит от безопасности хеш-функции.
Сигнатуры Лампорт могут быть построены из современных криптографических хеш-функций, таких как квантово-устойчивый хэш Скейна или Кеккака.
Поскольку они могут работать с большими хэш-функциями, такими как Скейн и Кеккэк, Лампортс идеально подходят для квантового сопротивления на ранних стадиях, хотя прогнозировать динамический потенциал квантовых компьютеров и вытекающие из них успехи практически невозможно.
Алгоритм цифровой подписи RSA
Текущий стандарт интернета для шифрования сообщений, нарушая алгоритм RSA известен как проблема RSA. Его односторонняя функция потайных входов основана на концепции простой факторизации.
RSA является более громоздким, чем другие алгоритмы цифровой подписи, и используется для массового шифрования, а не для непосредственного шифрования пользовательских данных. Тем не менее, он остается безусловно самым популярным алгоритмом цифровой подписи, используемым сегодня.
Алгоритм цифровой подписи эллиптической кривой (ECDSA)
ECDSA используется во многих криптовалютах и является предпочтительным алгоритмом цифровой подписи для Биткоина до его перехода к подписи Schnorr.
ECDSA более эффективен, чем криптография RSA, благодаря гораздо меньшему размеру ключа. Это оптимальный выбор для блокчейнов, которым необходимо уменьшить разрастание сети.
ECDSA опирается на понятие точечного умножения для обеспечения односторонней функциональности потайного входа, необходимого для цифровой подписи. Шифрование для ECDSA основано на алгебраической функции и ее кривой на конечном графе. Хорошая случайность важна для любого алгоритма цифровой подписи, но особенно важна для ECDSA.
384-битный ключ ECDSA считается достаточно безопасным для самой секретной правительственной службы АНБ (США).
Кольцевые подписи
Кольцевая подпись - это тип цифровой подписи, которая запутывает фактического подписавшего транзакцию, смешивая его подпись в группе (кольце) других действительных подписей. Это работает так, чтобы в вычислительном отношении было невозможно определить, кто является истинной подписавшей стороной транзакции.
Кольцевые подписи используются в монетах CryptoNote, включая Monero. Monero использует кольцевые подписи, беря ключ учетной записи отправителя транзакции и смешивая его с другими открытыми ключами, чтобы все члены кольца были равны и действительны.
Открытые ключи могут быть использованы несколько раз для различных кольцевых подписей в сети. В Monero они предназначены для повышения функциональности токена XMR, гарантируя, что выходные данные транзакций не будут отслеживаться.
Существует несколько типов кольцевых подписей. Кольцевые подписи в Monero основаны на отслеживаемых кольцевых подписях, прежде чем они будут оптимизированы для получения конфиденциальных транзакций кольца, что является их текущей итерацией в Monero.
Шнорр Подписи
Широко считающиеся лучшими цифровыми сигнатурами криптографами, сигнатуры Шнорра имеют многочисленные преимущества перед другими методами. Подписи Шнорра стали возможными для интеграции в Биткойн с Segregated Witness и долгое время были одним из главных приоритетов среди разработчиков Биткойн для замены ECDSA.
Подписи Schnorr известны своей элегантной простотой и эффективностью. Функция потайнго входа, обеспечивающая защиту сигнатур Шнорра, основана на конкретных задачах дискретного логарифма. Подобно другим функциям потайных входов, таких как первичная факторизация в RSA, эти проблемы неразрешимы, делая их односторонними функциями.
Одним из наиболее важных преимуществ подписей Шнорр является поддержка сразу нескольких подписей. В Биткойне все входные данные транзакций требуют своей собственной подписи, что приводит к неэффективному количеству подписей, включаемых в каждый блок.
С помощью сигнатур Schnorr все эти входные данные могут быть объединены в одну сигнатуру, что экономит огромное количество места в каждом блоке.
Наконец, подписи Schnorr могут помочь расширить возможности многозадачных транзакций. Гораздо более сложные многозначные транзакции, такие как двадцать из ста или пятьдесят тысяч, возможны с тем же размером цифровой подписи, что и традиционная транзакция. Последствия этого - более сложная функциональность интеллектуального контракта и лучшая масштабируемость сети.
Важность цифровой подписи
Из всех криптографических примитивов цифровая подпись с использованием криптографии с открытым ключом считается очень важным и полезным инструментом для обеспечения информационной безопасности.
Помимо возможности обеспечить неотказуемость сообщения, цифровая подпись также обеспечивает аутентификацию сообщения и целостность данных. Давайте кратко рассмотрим, как это достигается цифровой подписью.
-
Аутентификация сообщения . Когда проверяющий проверяет цифровую подпись, используя открытый ключ отправителя, он уверен, что подпись была создана только отправителем, обладающим соответствующим секретным закрытым ключом, и никем другим.
-
Целостность данных — в случае, если злоумышленник получит доступ к данным и изменит их, проверка цифровой подписи на стороне получателя не будет пройдена. Хэш измененных данных и вывод, предоставленный алгоритмом проверки, не будут совпадать. Следовательно, получатель может безопасно отклонить сообщение, предположив, что целостность данных была нарушена.
-
Неотказуемость — поскольку предполагается, что только подписчик знает ключ подписи, он может создать только уникальную подпись на заданных данных. Таким образом, получатель может представить данные и цифровую подпись третьей стороне в качестве доказательства, если в будущем возникнет какой-либо спор.
Добавляя шифрование с открытым ключом к схеме цифровой подписи, мы можем создать криптосистему, которая может обеспечить четыре основных элемента безопасности, а именно: конфиденциальность, аутентификацию, целостность и неотказуемость.
Вывод
Криптографические подписи были интересной областью изучения с момента их создания. Криптовалюты ускорили темпы разработок в области криптографии с момента их распространения и выхода. Более продвинутые схемы подписи, несомненно, будут развиваться по мере развития отрасли.
На данный момент, ECDSA, кажется, доминирует как основной выбор для большинства криптовалютных сетей, в то время как кольцевые подписи популярны среди криптовалют, более ориентированных на конфиденциальность.
Некоторое время вокруг подписей Шнорра было много волнений, и их ожидающая интеграция в Биткойн должна обеспечить отличные преимущества унаследованной криптовалюты.