Я думаю о создании мобильного приложения, которое использует Libsodium crypto_box_easy
для шифрования и расшифровки сообщений чата.
Однако, много прочитав в сети, я обнаружил, что одним из основных недостатков алгоритмов с открытым и закрытым ключом является то, что записанные данные могут быть расшифрованы, как только произойдет утечка закрытого ключа получателя.
Чтобы избежать этого, предлагается использовать Perfect Forward Secrecy (PFS), и мне интересно, поддерживает ли Libsodium PFS в ранее упомянутой функции, поскольку для каждого шифрования используются отдельные nonces
.
Может быть, кто-нибудь может объяснить мне разницу между функциями PFS и Libsodiums (если они есть) или помочь мне, прояснив связь одноразовых номеров и PFS.