Асимметричная криптография в Universa Blockchain

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

В этой статье мы немного углубимся в мир криптографии. Особенно в мир «асимметричной криптографии» с шифрованием / дешифрованием, открытыми / закрытыми ключами и подписью / проверкой.

Хеширование и шифрование

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

При использовании алгоритма шифрования / дешифрования размер зашифрованного сообщения варьируется в зависимости от размера исходного сообщения. Как правило, он имеет (примерно) один и тот же размер.

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

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

В блокчейне Universa хранятся только эти хэши, зашифрованные данные не хранятся. Сами по себе контракты никогда не шифруются и не дешифруются, так как они должны обрабатываться узлами напрямую. Вы можете прочитать про HashID в предыдущей статье, это 128-символьная строка; и независимо от того, какой смарт-контракт вы используете, его состояние всегда будет проверяться соответствующим HashID из 128 символов.

Не стоит беспокоиться, связь между пользователями и узлами шифруется и дешифруется моментально, поэтому доступ третьим лицам невозможен.

Асимметричная криптография

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

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

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

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

Это асимметричное шифрование используется во время безопасного соединения между узлами или между узлом и клиентом.

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

Здесь мы говорим о криптосистеме RSA, называемой начальными буквами фамилий создателей (Rivest-Shamir-Adleman). Ключ шифрования является открытым и отличается от ключа дешифрования, который держится в секрете и является частным.

Шифрование и дешифрование

Итак, начнем с простого примера. Представьте, что вы являетесь отправителем некоторых данных. Это может быть платеж/транзакция или что-то еще. Для этого вы должны подписать умный контракт вашим ключом.

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

Закрытый ключ и открытый ключ (вместе называемые также «парой ключей») математически коррелированы.

Приватный и публичный ключ

Когда вы создаете свой закрытый ключ (фактически вы создаете целую пару ключей) в веб-клиенте, вы обычно автоматически скачиваете файл с расширением .unikey.

Вам не нужно «открывать» этот файл в блокноте или другом редакторе. Этот файл — твой ключ, вот и все. Ни больше ни меньше.

Вы никогда не должны передавать его третьим лицам или хранить в открытом доступе. так как рискуете навсегда потерять доступ к своим данным

Это самая важная вещь при использовании блокчейна Universa: с парой ключей вы можете подписывать и проверять контракты. Как вы, наверное, помните, протокол Universa Blockchain хранит только хэши состояния смарт-контракта.

Таким образом, чтобы изменить его, вы должны доказать, что у вас есть соответствующий закрытый ключ к смарт-контракту. На сайте базы знаний вы можете прочитать больше о парах ключей в Universa.

Подписание и проверка

Если вы хотите провести транзакцию в блокчейне Universa, вы должны подписать ее своими ключами. Рассматривайте закрытый ключ как свою уникальную личную печать или подпись, которую никто кроме вас не может использовать, и которая позволяет вам подписать любой документ для любых других сторон.

Открытый ключ доступен различным сторонам, с которыми вы общаетесь.

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

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

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

Предположим, вы хотите отправить подписанное сообщение Александру. Вы можете расшифровать его и прикрепить к нему хэш-значение в качестве «подписи».

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

Если оба согласны, сеть также знает, что автор сообщения владел ключом и с тех пор сообщение не было подделано.

Длинные и короткие адреса

Адрес – это краткое альтернативное представление вашего открытого ключа, его удобно использовать, когда вам нужно ввести его в некоторых формах. В качестве альтернативы вы можете использовать короткий адрес (длиной 51 символ) или длинный адрес (длиной 72 символа).

Они оба ссылаются на один и тот же открытый ключ. Длинный адрес обеспечивает максимальный уровень безопасности, а короткий адрес обеспечивает достаточную безопасность для большинства сценариев использования. Длинный адрес использует SHA3-384 и короткую версию SHA3-256.

Вы можете прочитать больше о бинарном и текстовом представлении адресов в нашей – базе знаний.

В Universa единую пару ключей можно использовать для получения нескольких адресов. Каждый из них может использоваться независимо, но при этом ссылаться на один и тот же открытый ключ. Если у вас остались вопросы, Не стесняйтесь связаться с @starnold в Telegram.

Help translating this post to Английский Немецкий Французский Голландский Итальянский Испанский Хорватский. Contact @starnold to participate!

Related posts

The Digital Migration: Why Universa is the Rail Blazer

kobina

Внутри смарт-контракта Universa

Arnold

Почему Universa Blockchain такой дешевый?

Arnold

Leave a Comment