Использует для создания открытого ключа функцию дискретного возведения в степень. Необратимые преобразования в этом случае обеспечиваются тем, что достаточно легко вычислить показательную функцию в конечном поле Галуа, содержащим р элементов, где p – либо простое число, либо простое число в степени. Вычисление же логарифма в таких полях – более сложная задача. Алгоритм Д-Х состоит в следующем: два Абонента договариваются об использовании одного алфавита, содержащего M символов и выбирают некоторое число A, известное обоим. 1?A?M. Первый пользователь выбирает случайное число x, равновероятное от 1 до (M-1). Это число содержится в секрете, а второму пользователю высылается число x1=Ax mod M. Аналогично, второй пользователь, генерируя число y посылает число y1=Ay mod M. Первый пользователь, получив это число, может вычислить некоторое число k1=y1y mod M. Второй пользователь вычисляет k2=x1y mod M. Можно доказать, что k1=k2 и они равны k12=Axy mod M. Таким образом, у обоих пользователей оказывается один общий ключ k12, который можно использовать для шифровании данных обычными алгоритмами. Отличие данного алгоритма от RSA заключается в том, что не позволяет шифровать собственно информацию, а служит для формирования секретного ключа. Его недостаток состоит в том, что сложно определить нижнюю оценку трудоемкости данного ключа.
Алгоритм Диффи-Хеллмана.
10 Мар, 2009
