Я думаю о разработке какого-то приложения, в котором мне нужно что-то public key cryptography
сделать с помощью smart contract
. Отправляет sender
некоторые данные в smart contract
зашифрованные с помощью smart contract
s public key
, smart contract
сможет ли расшифровать их с помощью smart contract
s private key
? Во время smart contract
расшифровки данных все смогут увидеть обычный текст, поскольку он реплицируется на всех узлах?
Поскольку файл smart contract
реплицируется на всех узлах сети, сможет ли каждый из них увидеть все содержимое файла smart contract
?
Поскольку смарт-контракт реплицируется на всех узлах сети, сможет ли каждый из них увидеть все содержимое смарт-контракта?
Краткий ответ: да.
Если контракт выполняет расшифровку, он должен хранить закрытый ключ. Если закрытый ключ хранится в контракте, он реплицируется на каждый узел, и да, в результате каждый узел будет выполнять расшифровку.
Вероятно, существует какой-то криптографически сложный способ сделать то, что вы хотите, но я предполагаю, что это одна из тех вещей, которые вы хотите проверить множеством людей, которые разбираются в криптографии и блокчейнах, и если вы хоть немного ошибетесь, ваши данные был бы уязвим.
В зависимости от вашего варианта использования данные могут быть отправлены (зашифрованы с помощью открытого ключа контракта) в контракт и сохранены, но расшифрованы только узлом/приложением, которым вы управляете, с защищенным закрытым ключом.
При использовании криптографии с открытым ключом (асимметричной криптографии) необходимо различать подписание и шифрование.
Подпись — это доказательство того, что данные подписаны владельцем определенного открытого ключа. Открытый текст также может быть подписан, оставаясь при этом прозрачным (не зашифрованным).
Шифрование гарантирует, что только тот, кто имеет доступ к закрытому ключу, соответствующему определенному открытому ключу, может расшифровать содержимое.
Оба могут использоваться вместе или нет (зашифровано, подписано или зашифровано и подписано).
Помните, что:
джгм
атфорнес
Джузеппе Бертоне
атфорнес
Ник Джонсон