#cryptography #cryptographyhowto #rsa #pubkey #ed25519 #generatekeys
ШИФРОВАНИЕ:
ПРИМЕР: размещаем публичный ключ где угодно в интернете.
И любой желайющий шифрует к примеру электронное письмо для вас и отправляет его вам.
Любой желающий ◂-----Общедоступный ключ------- [ pub.key ]
[ msg ] * pub.key --------▸ [cryptomsg] ====▶ EMAILED
Получатель ◂--- [ priv.key ]
[cryptomsg] * priv.key -----▸ [ msg ] ======▶ :)
!!! Но само шифрование производят только симметричными шифрами (Twofish или AES) из за медленной работы asym
криптографии. Паролем для расшифровки может являться хеш priv ключа. Для обмена данными для расшифровки используют асимметричную схему потому что так удобно.
ЭЦП:
Для подписания документа схема должны быть как бы "наоборот":
Тоесть размещаем приватный ключ с именем Подписанта где угодно в интернете с ФИО Подписанта
и любой заинтересованный Проверяющий может проверить что письмо Подписанта отправлено с подписью
именно Подписанта.
Подписант с pub.key:
[ заявление.pdf] -----▸ [ sha256sum ] ---▸ sha256 * pub.key -----▸ [ crypto.sign ]
[ заявление.pdf; crypto.sign ] =====▶ SENDED
Проверяющий ◂---- [ priv.key ] --------- Общедоступный ключ Подписанта
[ заявление.pdf] --------▸ [sha256sum ] ---------▸ real_sha256
[ crypto.sign ] * priv.key = sha256
TEST: sha256 == real_sha256
Тэги:
#linux #обучение #публичный_ключ #ассиметричная_криптография #принцип #howto #bash