Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Защ_крипт_вир.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.19 Mб
Скачать

Вычисление обратной величины

Задача: нахождение такого x, что (a*x) mod  n =1, т.е. а-1 x mod n.

Решение будет единственным, если a и n – взаимно простые.

Основные способы решения задачи:

  1. Проверить поочередно значения 1,2,3…n-1 , пока не будет найден

a *a-11 mod n.

  1. Если известна функция Эйлера (n), то можно вычислить a-1 mod na(n)-1 mod n используя алгоритм быстрого возведения в степень.

(n) – количество положительных целых от 1 до n, которые взаимно простые с n.

  1. Используя расширенный алгоритм Евклида для нахождения наибольшего общего делителя (НОД).

Любое целое >1 может быть представлено единственным образом как произведение простых (с точностью до порядка следования).

Алгоритм вычисления наибольшего общего делителя чисел a и b

При использовании расширенного алгоритма Евклида во время вычисления НОД попутно вычисляются такие целые u1 и u2, что a*u1+b*u2=НОД(a,b).

Используем векторные обозначения:

Дано: a,b

Определяем такой u (u1,u2,u3), что a*u1+b*u2= u3 = НОД(a,b)

Используются вспомогательные вектора v (v1,v2,v3) и t (t1,t2,t3).

Для вычисления a-1 mod n используется частный режим работы расширенного алгоритма Евклида, при котором b = n, НОД(a,n) = 1 и этот алгоритм определяет вектор u: u3=1

a *u1+n*u2= 1

u1 = a-1 mod n

Авторы:

Кандидат технических наук, доцент Полпудников Сергей Викторович

Кандидат технических наук Трешневская Вероника Октавиановна

Кандидат технических наук Джинчарадзе Георгий Владимирович

85