Я хотел бы зашифровать в JavaScript, расшифровать в PHP, используя криптографию с открытым ключом. Я пытался найти библиотеки, которые могут это сделать, но у меня проблемы.
Я сейчас смотрю openpgpjs, но мне нужна поддержка во всех браузерах, и даже на тестовой странице есть ошибки на только указанный браузер (Google Chrome).
Заметки о конечной цели:
TCP-соединение уже защищено SSL. Основная цель этого уровня защиты - защита от преднамеренного или непреднамеренного ведения журнала веб-сервера, аварийных дампов и т.д.
На стороне PHP будет создан временный закрытый ключ (он истечет через короткое время). Вызывающий (в Javascript) отвечает за запрос нового открытого ключа, когда он истекает. Причина истечения срока действия закрытого ключа заключается в предотвращении зашифрованного шифрования данных, если сервер, в котором хранится закрытый ключ, впоследствии скомпрометирован.
Сценарий с компрометацией серверов: кто-то получает резервные копии для всех машин, кроме сервера базы данных (и не может получить доступ к базе данных из-за брандмауэра, даже если он узнает пользователя и пароль). Поскольку закрытый ключ, который зашифровал зарегистрированные данные, больше не существует, злоумышленник ничего не может сделать.