Алгоритм Диффи-Хеллмана.
Я хочу познакомить вас с алгоритмом, который позволяет пользователям обмениваться ключом, который может быть использован затем для шифрования. Данный метод называется Алгоритмом Диффи-Хеллмана.
Пусть есть два человека (Алиса и Боб), которые общаются по открытому каналу связи, и Ева перехватывает любое сообщение. Задача Алисы и Боба в том, чтобы вычислить секретный ключ, передавая какие-то данные по публичному каналу, который прослушивается Евой, чтобы она его не узнала. Вначале Алиса передаёт по открытому каналу простое число р и генератор g (важно, что p простое). Затем Алиса и Боб выбирают личные секретные ключи a и b. Алиса передаёт по каналу A = g^a mod p, а Боб - B = g^b mod p. Затем Алиса и Боб вычисляют общий секретный ключ K = A^b mod p и K = B^a mod p (они равны, так как B^a mod p = (g^b mod p)^a mod p = g^ab
Пример в комментариях.
Пусть есть два человека (Алиса и Боб), которые общаются по открытому каналу связи, и Ева перехватывает любое сообщение. Задача Алисы и Боба в том, чтобы вычислить секретный ключ, передавая какие-то данные по публичному каналу, который прослушивается Евой, чтобы она его не узнала. Вначале Алиса передаёт по открытому каналу простое число р и генератор g (важно, что p простое). Затем Алиса и Боб выбирают личные секретные ключи a и b. Алиса передаёт по каналу A = g^a mod p, а Боб - B = g^b mod p. Затем Алиса и Боб вычисляют общий секретный ключ K = A^b mod p и K = B^a mod p (они равны, так как B^a mod p = (g^b mod p)^a mod p = g^ab
Пример в комментариях.