Смотрите какая есть интересная магия с открытыми и закрытыми ключами.
Для начала поясню что это.

Цитата:

Существует алгоритм который из последовательности символов A строит последовательность символов B причем так, что эта операция необратима.
Тоесть не существует алгоритма, который построит нам из последовательности B обратно последовательность А.
При этом последовательность символов A называется закрытым ключём, а последовательность B - открытым. Определить закрытый ключ для B можно только перебором всех возможных вариантов, но данная операция не имеет смысла, так как их количество настолько велико, что на весь перебор всего времени вселенной будет недостаточно.

А вот как это можно использвать на практике. Каждый из вас сейчас сможет это проверить на примере с ключами биткоинов.

Открытый ключ loliconteam - 1D5VXssGhczyc14epjLsQd3VjPUyizAFaK
Допустим я создаю какое-нибудь сообщение
Цитата:

Это сообщение от loliconteam
И подписываю его закрытым ключем loliconteam.
Получаю следующую подпись:
Цитата:

INz41pyfjjfq4/W85TIxcZAAtplWJV2hIKZ7FTam4+T/kffl3Eatujwi64FrUDgyKcVugMTNYws8GcUj5evAw7s=
Что я сделал? Применил некое преобразование с закрытым ключем к тексту моего сообщения - "Это сообщение от loliconteam" и получил подпись. А вот теперь магия. Вы, зная открытый ключ можете проверить действительно ли это сообщение и эта подпись соответствуют друг другу и что сообщение было подписано закрытым ключем loliconteam - 1D5VXssGhczyc14epjLsQd3VjPUyizAFaK

Как проверить?
Скачайте официальную версию клиента биткоин qt.
bitcoin.org/en/download

Не загружайте цепь блоков. Просто запустите клиент.
Откройте Файл-Проверить сообщение.

Вложение 3094

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

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

Так же вы можете сгенерировать свои собственные пары открытых и закрытых ключей биткоин в клиенте bitcoin-qt и попробовать подписать сообщение с помощью них. Далее вам остается только сообщить всем открытый ключ, которым вы подписываете свои сообщения.

Смотри также PGP-шифрование

Как работает эта магия?
Гениально и просто. На примере RSA


Ммм Эта схема навсегда изменила мир.
Так появилась криптоанархия.... :rickroll: