Я разрабатываю клиентское серверное приложение, в котором данные передаются между двумя клиентами через сервер.Клиентский сервер AES-шифрование
Данные должны быть зашифрованы, и я думал об использовании AES. Я думал использовать PBKDF2, чтобы получить ключ AES с паролем клиента.
В этом случае клиент будет кодировать данные, сервер будет декодировать его, переписать его с использованием пароля второго клиента и отправить его второму клиенту.
Как вы думаете, это лучший способ реализовать это?
Есть ли способ для первого клиента кодировать, а второй клиент должен декодировать без вмешательства сервера?
Как я могу зашифровать ключ AES и перенести его с одного клиента на другой?
Что вы думаете о нижеследующем решении?
- Клиент и сервер создают закрытый ключ AES с использованием Diffie-Hellman (этот ключ относится к каждому клиенту).
- Передающий клиент создает ключ AES сеанса и кодирует его с помощью частного ключа AES.
- Сервер расшифровывает ключ сеанса и заново шифрует его для каждого клиента в сеансе (с использованием личного ключа каждого клиента).
- Передающий клиент шифрует данные с помощью ключа AES сеанса и отправляет его на сервер.
- Сервер отправляет данные всем получателям без какой-либо необходимой обработки.
RSA или любой другой асимметричный алгоритм лучше, чем функция деривации? – lebamb