Алгоритм Диффи-Хеллмана позволяет двум сторонам, Алисе и Бобу, создать общий для них секретный ключ, известный только им двоим, несмотря на то, что связь между ними осуществляется по незащищенному каналу. Затем этот секретный ключ используется для шифрования данных с помощью алгоритма секретного ключа. На рисунке 7 показан пример использования алгоритма Диффи-Хеллмана в сочетании с алгоритмом DES для создания секретных ключей и последующего использования этих ключей для поддержки конфиденциальности данных.
Два числа, p (простое число) и g (меньшее, чем p, но с некоторыми исключениями), используются совместно. И Алиса, и Боб генерируют (каждый для себя) большое случайное число. Эти числа (ХА и ХВ) держатся в секрете. Далее используется алгоритм Диффи-Хеллмана. И Алиса, и Боб проводят вычисления с помощью этого алгоритма и обмениваются их результатами. Окончательным результатом является общая величина Z. Этот ключ Z используется как ключ DES для шифрования и расшифровки данных. Человек, который знает величину p или g, не сможет легко рассчитать общую величину Z из-за трудностей с факторизацией очень больших простых чисел.
|
|
Важно отметить, что на сегодня пока не создано средств для определения автора такого ключа, поэтому обмен сообщениями, зашифрованными этим способом, может подвергаться хакерским атакам. Алгоритм Диффи-Хеллмана используется для поддержки конфиденциальности данных, но не используется для аутентификации. Аутентификация в данном случае достигается с помощью цифровой подписи.