Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функция Эйлера
Функция Эйлера y = φ (a) определена для всех натуральных а и представляет собой количество натуральных чисел, взаимно простых с а и не превосходящих а, Считаем, что φ (1) = 1.
Теорема. Если каноническое представление натурального числа 1 ≠ n имеет вид a = p1α 1 ∙ p2α 2 ∙... ∙ pnα n, то функция Эйлера равна: φ (a) = a (1 – 1/p1) (1 – 1/p2)...(1 – 1/pn) В соответствии с теоремой Ферма – Эйлера: am-1 ≡ 1 (mod m) и aφ (m) ≡ 1(mod m), если НОД(a, m) = 1.
Пример 34. p1 = 3; p2 = 5; p3 = 7; p4 = 11; n = p1∙ p2∙ p3∙ p4 = 1155; j (n) = 1155∙ (1-1/3) ∙ (1-1/5) ∙ (1-1/7) ∙ (1-1/11) = 480. ▲
4.7. Решение сравнений первой степени Существует теорема, которая гласит, что сравнение вида a∙ x ≡ b(mod m) разрешимо тогда и только тогда, когда НОД(a, m) = d делит b. При небольшом m сравнение a∙ x ≡ b(mod m) решается подбором. Для этого достаточно найти число u такое, что au ≡ 1 (mod m). Чтобы найти решение сравнения a∙ x ≡ 1(mod m), где НОД(a, m) = 1, обычно пользуются алгоритмом Евклида, и тогда x ≡ (-1)k-1 Qk-1(mod m) , где Qk-1 – знаменатель предпоследней подходящей дроби разложения a / m в цепную дробь, или теоремой Ферма-Эйлера, которая утверждает, что если НОД(a, m) = 1, то aφ (m) ≡ 1(mod m), где φ (m) – функция Эйлера. Следовательно, x ≡ aφ (m) -1(mod m). Пример 35. Решить сравнение: 143 *x ≡ 1 (mod 8531). Функция Эйлера равна: φ (m) = φ (8531)= 8531*(1-1/19)*(1-1/449)= 8064. Отсюда следует, что x ≡ aφ (m) - 1(mod m) =1438063 (mod8531)= 6443(mod 8531). Проверка: 143 * 6443=921349 = 1(mod 8531). ▲ Но таким способом решение уравнения сравнения ищут редко. Это связано с тем, что при больших m, нахождение функции φ (m) становится достаточно сложной задачей, особенно при неизвестном разложении. Пример 36. Решить сравнение: 7283 * x ≡ 1(mod 190116) Имеем 7283 = 190116 * 0 + 7283 190116 = 7283 * 26 + 758 7283 = 758 * 9 + 461 758 = 461*1+297 461 = 297 * 1 + 164 297 = 164 * 1 + 133 164 = 133 * 1 + 31 133 = 31 * 4 + 9 31 = 9 * 3 + 4 9 = 4 * 2 + 1 4 = 1 * 4 + 0 Получаем: k = 10;
Вычисляем x ≡ (-1)9 ∙ 42889 (mod 190116)= -42889 (mod190116) = = 147227(mod 190116); Проверка (7283 *147227-1)/ 190116 = 5640 ▲ 4.8. Система сравнений первой степени Система сравнений a1∙ x ≡ b1 (mod n1); a2∙ x ≡ b2 (mod n2); ∙ ∙ ∙ (4.2) ak∙ x ≡ bn (mod ng) сводится к системе вида x ≡ b1 (mod n1); x ≡ b2 (mod n2); ∙ ∙ ∙ (4.3) x ≡ bk (mod ng)
В случае когда модули n1, n2,..., ng попарно взаимно простые, для решения системы (4.3) используется китайская теорема об остатках.
Китайская теорема об остатках Эта теорема является одним из полезных и часто используемых в криптографии результатов теории чисел. Она утверждает, что любое значение из множества минимальных положительных представителей (Z/N) классов вычетов по модулю N = n1∙ n2∙...∙ ng, где " i, j Î {1, 2,..., g} НОД(ni, nj) = 1, может быть представлен в виде набора остатков от деления этого значения на каждый из сомножителей ni, то есть имеется взаимно однозначное соответствие R «(r1, r2,..., rg), где RÎ Z/N, r1Î Z/n1, r2Î Z/n2,..., rgÎ Z/ng. (Любое неотрицательное целое число, не превосходящее произведение модулей, можно однозначно восстановить, если известны его вычеты по этим модулям). Теорема. Пусть n1, n2,..., ng – наборпопарно взаимно простых чисел, N = n1∙ n2∙...∙ ng; числа c1, c2,..., cg, удовлетворяют условиям c1N/ n1 ≡ 1(mod n1), c2N/ n2 ≡ 1 mod n2, ..., cgN/ ng ≡ 1 mod ng. Тогда решение системы сравнений x ≡ r1 mod n1, x ≡ r2 mod n2, ... x ≡ rg mod ng. имеет вид R' ≡ r1∙ c1∙ N/ n1 + r2∙ c2∙ N/ n2 +...+ rg∙ cg∙ N/ ng (mod N). Минимальное положительное число R из классов вычетов по модулю N, представляющего собой решение системы сравнений, и является тем элементом кольца Z/N, который ставится в соответствие набору значений r1, r2,..., rg. Подобрать необходимые значения ciN/ ni ≡ 1 mod ni достаточно просто. Их можно вычислить по формуле ci = N/ ni ((ni / N) mod ni). Если дано некоторое RÎ Z/N, то, выполнив деление R на каждое из чисел ni, определимоднозначно набор остатков, который ставится в соответствие заданному числу R.
|