Занимательная Криптография
Смотрите какая есть интересная магия с открытыми и закрытыми ключами.
Для начала поясню что это.
Цитата:
Существует алгоритм который из последовательности символов 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: