Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Безопасная отсылка пакета (Сундук с двумя замками)

#php #шифрование #javascript


Как безопасно отправить ценность по почте?
Внимание, спойлер к решению популярной головоломки!

Покупаем сундук, покупаем замок.
Кладем ценность в сундук, надеваем замок на сундук, отправляем другу.
Друг надевает свой замок, отправляет нам.
Мы снимаем свой замок, отправляем другу.
Друг снимает свой замок и получает ценность.

Вопрос: какой из методов шифрования позволит расшифровать "через" себя?
Т.е. снять свой замок, не снимая замок друга (4 пункт). При реализации в лоб, разумеется,
наткнулся на стену непонимания со стороны mcrypt_decrypt:)
Специально для тех, кто любит отвечать "это вам не нужно": да, согласен на любой
другой метод, который предоставит аналогичную надежность. Https не прокатит: сертов нет.
Специально для тех, кто любит отвечать "это вам совсем не нужно": спасибо, ваше мнение
учтено.    


Ответы

Ответ 1



В качестве замка используйте обычный xor. Его главная особенность - двойное наложение возвращает исходные данные. А вот как сгенерировать гамму - это уже отдельна задача. Хоть в блокноте от руки единичек и ноликов нагенерируйте. Главное, потом ее не забыть и повторно применить.

Ответ 2



Возможно асимметричное шифрование? Друг генерит 2 ключа: для зашифровки и для расшифровки. Тот ключ, что для зашифровки, отправляется тебе. Ключ для расшифровки остаётся у него и будет известен только ему.

Комментариев нет:

Отправить комментарий