* Уточнение: Мой вопрос связан с настройкой «безопасного» канала связи между двумя сторонами, где ключ (считывание кодовой фразы) был согласован в реальном мире. Только использование RSA допускает MITM-атаки (если я не ошибаюсь), поэтому я думал об шифровании открытых ключей с AES (ключ, который был согласован), прежде чем отправлять их соответствующим сторонам *Защитить открытый ключ RSA во время транспортировки
I ' m в настоящее время пытается построить два приложения, которые говорят с eachother. Чтобы обеспечить обменянные сообщения, я думал об использовании RSA, где каждое приложение имеет собственный набор ключей.
Прежде чем начать обмен данными между двумя приложениями, им необходимо обменять ключи. Это не должно быть проблемой, но я думал об использовании AES для шифрования открытых ключей, прежде чем отправлять их через Интернет.
Я знаю, что означает слово public (как в открытом ключе), но я думал, что это увидит, что правильное приложение/компьютер получает ключ и никто другой.
Поэтому я хочу обменять ключи и защитить их от атак MITM.
Если кто-нибудь может дать лучшее предложение (я использую библиотеку LibCrypto btw), я все уши.
спасибо.
С наилучшими пожеланиями /Tomas Густавссон
Почему вы идете на асимметричное шифрование, если у вас уже есть предустановленный симметричный секретный ключ? Для этого вам понадобится способ создания ключей сеанса AES, предпочтительно тот, который не уязвим для атак MITM и не подвергает ваш главный ключ опасности. Но я думаю, что это неправильный форум для этого, попробуйте crypto.stackexchange.com –
О, и кодовая фраза не является ключом. Он может быть преобразован * в * ключ, например. используя функцию вывода на основе пароля, такую как PBKDF2, но это не то же самое. Например, использование вашего пароля в качестве ключа может привести к связанным с ним ключевым атакам. –
ОК, посмотрел, вероятно, пароль, поскольку ключ все еще не может использоваться как связанная ключевая атака, но вы, конечно же, ограничиваете пароль размером ключа, а это значит, что вы также ограничиваете пространство клавиш (количество ключей до например, поиск в грубых атаках). –