Я создаю программное обеспечение, которое служит сервером WebSocket для веб-приложения.Он служит для резервного копирования и хранения важных файлов, созданных в Интернете.Некоторые из этих файлов являются конфиденциальными и конфиденциальными для компании, использующей программное обеспечение.
Я представляю что-то вроде этого: 
Сообщение будет представлять собой файл в строкеформат, и ключ Алисы должен был бы быть одинаковым как в веб-приложении, так и в приложении для настольного компьютера, каким-либо образом использоваться совместно.
Моей первой мыслью было бы зашифровать эти файлы при их отправке и расшифровать их на сервере.,Хотя, как мне сохранить последовательность ключа, используемого для его расшифровки?Представлять ключ через WebSocket небезопасно, поэтому и сервер, и клиент имеют один и тот же ключ.Так что это вопрос с точки зрения безопасности, каков наилучший / правильный подход к этому?Кроме того, есть ли у вас какие-либо рекомендации по библиотекам шифрования / дешифрования для Java и JavaScript, которые были бы совместимы?