Блокчейн — криптография с открытым ключом
Технология блокчейн — одна из величайших инноваций 21 века. В этой статье мы сосредоточимся на концепции криптографии, т.е. криптографии с открытым ключом или криптографии с асимметричным ключом.
Введение в криптографию с открытым ключом
Большую часть времени блокчейн использует криптография с открытым ключом, также известная как криптография с асимметричным ключом. Криптография с открытым ключом использует как открытый ключ, так и закрытый ключ для шифрования и расшифровки данных. Открытый ключ может распространяться повсеместно, но закрытый ключ не может быть передан никому. Он обычно используется для двух пользователей или двух серверов безопасным способом.
Открытый ключ: открытые ключи предназначены для открытого доступа. Их можно бесплатно раздавать всем или размещать в Интернете. Используя открытый ключ, можно зашифровать простое текстовое сообщение в зашифрованный текст. Он также используется для проверки подлинности отправителя. Проще говоря, можно сказать, что открытый ключ используется для закрытия замка.
Закрытый ключ: Закрытый ключ полностью противоположен открытому ключу. Закрытый ключ всегда держится в секрете и никогда не разглашается. С помощью этого ключа мы расшифровываем зашифрованные текстовые сообщения в обычный текст. Простыми словами можно сказать, что публика используется для открытия замка.
Зачем нам нужна криптография с открытым ключом?
- В криптографии с симметричным ключом для шифрования и дешифрования сообщения используется один ключ. Здесь высока вероятность потери данных или несанкционированного доступа к данным. Для защиты от несанкционированного доступа к данным и передачи данных безопасно без каких-либо потерь мы используем криптографию с открытым ключом.
- Криптография с открытым ключом более безопасна, чем криптография с симметричным ключом, поскольку открытый ключ использует два ключа для шифрования и дешифрования данных.
- Криптография с открытым ключом позволяет пользователям скрывать данные, которые они хотят отправить. Отправитель шифрует данные, а получатель расшифровывает данные. Зашифрованное сообщение не может быть понято неавторизованными пользователями.
Работа над криптографией с открытым ключом
Предположим, отправитель хочет отправить получателю какое-то важное сообщение.
- Отправитель сначала создает сообщение в виде обычного текста в удобочитаемом формате.
- Отправитель знает открытый ключ получателя, но не знает закрытый ключ получателя, потому что получатель держит в секрете свой закрытый ключ. С помощью открытого ключа получателя и закрытого ключа отправителя отправитель генерирует зашифрованное сообщение, т. е. называется зашифрованным текстом. Зашифрованный текст имеет нечитаемый формат. На этом этапе обычный текст преобразуется в зашифрованный текст.
- Теперь зашифрованный текст достигает конца получателя. Получатель знает свой собственный секретный ключ и с помощью этого секретного ключа преобразует зашифрованный текст в удобочитаемый формат, т.е. в обычный текст.
В приведенном ниже примере показана работа криптографии с открытым ключом.
Давайте попробуем рассмотреть работу криптографии с открытым ключом на примере. Предположим, Сачин — это отправитель, который хочет послать сообщение Анурагу. Здесь Анураг является получателем.
- Сачин использует открытый ключ Анурага для шифрования сообщения, а Анураг использует свой собственный закрытый ключ для расшифровки сообщения.
- Сначала Сачин создает простой текст. Сачин имеет доступ к закрытому ключу Анурага и зашифрованному тексту. Используя открытый ключ Анурага и собственный открытый ключ,
- Sachin создаст зашифрованное сообщение, т.е. зашифрованный текст в нечитаемом формате. После применения процесса шифрования обычный текст преобразуется в зашифрованный текст.
- Теперь Анураг получает зашифрованный текст. Сначала Анураг расшифрует зашифрованное текстовое сообщение в удобочитаемый формат. Для расшифровки Анураг будет использовать закрытый ключ. Теперь зашифрованный текст преобразуется в обычный текст и может быть прочитан получателем. Поскольку Сачин хранит свой закрытый ключ, Анураг знает, что это сообщение не могло быть отправлено кем-то другим. Это также называется цифровой подписью.
Преимущества криптографии с открытым ключом
- Аутентификация: гарантирует получателю, что полученные данные были отправлены единственным проверенным отправителем.
- Целостность данных: гарантирует, что информация и программа изменяются только определенным и разрешенным образом.
- Конфиденциальность данных: гарантирует, что личное сообщение не станет доступным для неавторизованного пользователя. Это называется конфиденциальностью или секретностью.
- Неотказуемость: это гарантия того, что первоначальный создатель данных не может отказать в передаче указанных данных третьей стороне.
Ограничение криптографии с открытым ключом
- Можно зашифровать и расшифровать фиксированный размер сообщений или данных. Если есть попытка зашифровать или расшифровать сообщение большого размера, то алгоритм требует высокой вычислительной мощности.
- Основным недостатком этого алгоритма является то, что если получатель потеряет свой закрытый ключ, данные/сообщение будут потеряны навсегда.
- Если у кого-то есть закрытый ключ доступа, все данные окажутся в чужих руках.
- Есть много секретных ключей, которые быстрее, чем криптография с открытым ключом.