Смотрите какая есть интересная магия с открытыми и закрытыми ключами.
Для начала поясню что это.
При этом последовательность символов A называется закрытым ключём, а последовательность B - открытым. Определить закрытый ключ для B можно только перебором всех возможных вариантов, но данная операция не имеет смысла, так как их количество настолько велико, что на весь перебор всего времени вселенной будет недостаточно.Существует алгоритм который из последовательности символов A строит последовательность символов B причем так, что эта операция необратима.
Тоесть не существует алгоритма, который построит нам из последовательности B обратно последовательность А.
А вот как это можно использвать на практике. Каждый из вас сейчас сможет это проверить на примере с ключами биткоинов.
Открытый ключ loliconteam - 1D5VXssGhczyc14epjLsQd3VjPUyizAFaK
Допустим я создаю какое-нибудь сообщение
И подписываю его закрытым ключем loliconteam.Это сообщение от loliconteam
Получаю следующую подпись:
Что я сделал? Применил некое преобразование с закрытым ключем к тексту моего сообщения - "Это сообщение от loliconteam" и получил подпись. А вот теперь магия. Вы, зная открытый ключ можете проверить действительно ли это сообщение и эта подпись соответствуют друг другу и что сообщение было подписано закрытым ключем loliconteam - 1D5VXssGhczyc14epjLsQd3VjPUyizAFaKINz41pyfjjfq4/W85TIxcZAAtplWJV2hIKZ7FTam4+T/kffl3Eatujwi64FrUDgyKcVugMTNYws8GcUj5evAw7s=
Как проверить?
Скачайте официальную версию клиента биткоин qt.
bitcoin.org/en/download
Не загружайте цепь блоков. Просто запустите клиент.
Откройте Файл-Проверить сообщение.
Вложение 3094
Сверху введите открытый ключ SY, в большое поле сообщение, а внизу подпись.
Нажмите кнопку проверить сообщение и вы должны получить справа в углу надпись
Сообщение проверено
Если изменить сообщение или подпись, проверка покажет что данные не сходятся. Такую подпись к этому сообщению можно получить только обладая закрытым ключем. Подобрать её для сообщения и открытого ключа невозможно. Это означает что сообщение мог создать только обладатель закрытого ключа. Так можно подписывать свои сообщения в интернете, гарантируя что это сообщение отправили именно вы.
Так же вы можете сгенерировать свои собственные пары открытых и закрытых ключей биткоин в клиенте bitcoin-qt и попробовать подписать сообщение с помощью них. Далее вам остается только сообщить всем открытый ключ, которым вы подписываете свои сообщения.
Смотри также PGP-шифрование
Как работает эта магия?
Гениально и просто. На примере RSA
Ммм Эта схема навсегда изменила мир.
Так появилась криптоанархия....