После того, как наткнулся на это вопрос, я задавался вопросом, могу ли я получить поведение, подобное WireGuard (закрытый и открытый ключи), используя один и тот же закрытый ключ WireGuard для шифрования сообщения через OpenSSL на одном конце, а другой конец может проверить подпись этого сообщения, обладая открытый ключ WireGuard. Таким образом, это может работать как своего рода аутентификация/проверка запроса.
Например:
- Боб шифрует сообщение
фубар
с его закрытым ключом WireGuard
-
результат
является U2FsdGVkX19nhSv3cEBJw4gKSZGzFpE=
- Боб отправляет запрос Алисе с результатом шага 2.
- Алиса подтверждает
результат
подписывается Бобом путем проверки его открытым ключом WireGuard;
- Алиса разрешает прохождение запроса на основании подписи Боба;
Извините, если я говорю здесь много чепухи, так как я все еще пытаюсь узнать о шифровании и был очарован, прочитав несколько статей о том, как WireGuard действительно быстр и т. д. Поэтому я считаю, что приведенное выше упражнение поможет мне получить чтобы узнать больше об этом.
До сих пор я мог понять, что могу зашифровать сообщение с помощью определенного шифра, такого как chacha2, например:
эхо фубар | openssl enc -chacha20 -a -k foo
Но я не понимаю, будет ли пароль, например, закрытым ключом, или это что-то совершенно другое. Любые предложения по материалам для чтения также будут очень кстати.
Спасибо.