Перейти к содержимому
φ

Функция Эйлера φ(n)

Вычисление функции Эйлера для теории чисел и криптографии с разложением на простые множители

Открывали 3 513 раз

Инструмент справился с вашей задачей?

Одно нажатие, без регистрации. По ответам мы решаем, какие инструменты дорабатывать первыми.

Уже ответили: 8 человек

Этот инструмент ещё ждёт первого комментария

Нашли приём, остался вопрос или чего-то не хватило — напишите, пригодится следующим. Почту и пароль указывать не нужно · публикуем после проверки, обычно за 1–2 дня · если вам ответят, ответ появится здесь же

Калькулятор функции Эйлера φ(n) онлайн с пошаговым решением

Онлайн калькулятор вычисляет функцию Эйлера φ(n) — количество натуральных чисел от 1 до n, взаимно простых с n. Например, φ(12) = 4, потому что с 12 взаимно просты только 1, 5, 7 и 11. Для простого p ответ всегда равен p − 1, для составного — формула считается по разложению на простые множители.

Инструмент показывает результат за доли секунды, выводит каноническое разложение n на простые множители, расписывает формулу φ(n) = n × ∏(1 − 1/p), а для n ≤ 100 ещё и взаимно простые с n числа: до 20 первых и сколько их всего. Подходит студентам, преподавателям, олимпиадникам и тем, кто разбирается с алгоритмом RSA.

  • Вычисление φ(n) для натурального n до 18 цифр (до 999 999 999 999 999 999)
  • Каноническое разложение n на простые множители
  • Пошаговое применение мультипликативной формулы Эйлера
  • Взаимно простые с n числа для n ≤ 100: до 20 первых и их общее количество
  • Проверка простоты числа как побочный результат
  • Копирование готового решения для домашней работы или реферата

Что такое функция Эйлера и зачем она нужна

Функция Эйлера φ(n) (другие названия: тотиент, phi-функция, totient function) была введена Леонардом Эйлером в 1763 году. По определению φ(n) — число целых k в диапазоне 1 ≤ k ≤ n таких, что НОД(k, n) = 1, то есть взаимно простых с n.

Сегодня φ(n) — одна из основ модулярной арифметики и криптографии с открытым ключом: через неё вычисляют закрытый ключ RSA — и для шифрования, и для цифровой подписи. Она же возникает в задачах подсчёта примитивных корней, порядков элементов в группе (Z/nZ)*, числа несократимых дробей со знаменателем не больше n.

    Формула и свойства функции Эйлера

    Если каноническое разложение числа n = p₁^a₁ × p₂^a₂ × … × p_k^a_k, то φ(n) = n × (1 − 1/p₁) × (1 − 1/p₂) × … × (1 − 1/p_k). Эквивалентная запись через степени: φ(p^k) = p^k − p^(k−1) = p^(k−1)(p − 1).

    Главные свойства, которые часто спрашивают на экзаменах: φ(1) = 1 (по определению), для простого p φ(p) = p − 1, мультипликативность φ(m × n) = φ(m) × φ(n) при НОД(m, n) = 1, тождество Гаусса ∑φ(d) = n по всем делителям d числа n, теорема Эйлера a^φ(n) ≡ 1 (mod n) при взаимно простых a и n.

    • φ(1) = 1, φ(2) = 1, φ(p) = p − 1 для любого простого p
    • φ(p^k) = p^(k−1) × (p − 1) для степени простого
    • φ(m × n) = φ(m) × φ(n) при НОД(m, n) = 1 — мультипликативность
    • Сумма φ(d) по всем делителям n равна n (тождество Гаусса)
    • Теорема Эйлера обобщает малую теорему Ферма на составные модули
    • φ(n) всегда чётно для n ≥ 3 (это следствие из формулы)

    Применение функции Эйлера в криптографии RSA

    В RSA выбирают два больших простых числа p и q, считают модуль n = p × q и φ(n) = (p − 1)(q − 1). Открытый ключ e — любое целое, взаимно простое с φ(n) (обычно e = 65537). Закрытый ключ d — мультипликативно обратный к e по модулю φ(n): d = e⁻¹ mod φ(n). Шифрование: c = m^e mod n. Расшифровка: m = c^d mod n — работает благодаря теореме Эйлера.

    Безопасность RSA держится на трудности факторизации: зная n, нельзя за разумное время найти p, q и φ(n). Для 2048-битных модулей быстрого способа разложения не известно: для сравнения, 829-битное число RSA-250 разложили в 2020 году, и на это ушло около 2 700 лет работы одного процессорного ядра. Поэтому в учебной задаче с маленькими p, q калькулятор φ(n) показывает всё разложение, а в реальной криптографии — только знание простых даёт φ(n).

      🔐

      Пример из жизни: настройка ключей RSA

      Студент-криптограф собирает учебную пару ключей RSA: берёт два простых p = 61 и q = 53. Нужно вычислить φ(n), чтобы выбрать открытый ключ e и найти закрытый d.

      1

      Вычислил модуль n = p × q = 61 × 53 = 3233

      2

      Через калькулятор посчитал φ(3233) = (61 − 1) × (53 − 1) = 60 × 52 = 3120

      3

      Подобрал открытый ключ e = 17 — оно взаимно просто с 3120 (проверил через калькулятор взаимно простых чисел)

      4

      Нашёл закрытый ключ d = 17⁻¹ mod 3120 = 2753 (через расширенный алгоритм Евклида)

      ✅

      Пара ключей готова: открытый (e=17, n=3233), закрытый (d=2753, n=3233). Знание φ(n) — обязательный шаг: без него нельзя вычислить d и расшифровать сообщение.

      🧠

      Знаете ли вы?

      📖

      Леонард Эйлер ввёл φ(n) в 1763 году в работе «Theoremata arithmetica nova methodo demonstrata». Сам символ φ для функции предложил Гаусс почти через 40 лет — в «Disquisitiones Arithmeticae».

      🔐

      RSA, в котором закрытый ключ вычисляют через φ(n) (или родственную ей функцию Кармайкла λ(n)), до сих пор подписывает сертификаты многих HTTPS-сайтов, служит для SSH-ключей и электронных подписей. Но не везде: протоколы на эллиптических кривых обходятся без функции Эйлера.

      📐

      Тождество Гаусса: сумма φ(d) по всем делителям числа n равна самому n. Например, для n = 12 делители 1, 2, 3, 4, 6, 12 дают φ(1)+φ(2)+φ(3)+φ(4)+φ(6)+φ(12) = 1+1+2+2+2+4 = 12.

      🧮

      Вычислить φ(n), не зная разложения n, не проще, чем разложить n: для n = p × q из φ(n) сразу находятся p и q — их сумма равна n − φ(n) + 1, а произведение равно n. Поэтому для 2048-битного модуля RSA без знания p и q φ(n) на практике не найти: быстрых алгоритмов разложения таких чисел не известно.

      🌀

      Уравнение φ(n) = m может иметь несколько решений. Например, для m = 8 это n = 15, 16, 20, 24, 30. А для m = 14 решений нет: 14 — наименьшее чётное число, которое не бывает значением функции Эйлера (такие числа называют нетотиентами).

      ✨

      Среднее значение φ(k)/k по всем k от 1 до n с ростом n стремится к 6/π² ≈ 0,6079. Это значит, что в среднем около 60,8% чисел от 1 до n взаимно просты с n. Связь функции Эйлера с числом π — одна из красивейших в математике.

      Значения φ(n) для некоторых n от 1 до 1000

      nРазложениеφ(n)Тип числа
      111единица
      221простое
      332простое
      42²2квадрат простого
      554простое
      62 × 32свободное от квадратов
      776простое
      82³4степень простого
      93²6квадрат простого
      102 × 54свободное от квадратов
      122² × 34составное
      153 × 58свободное от квадратов
      162⁴8степень простого
      202² × 58составное
      242³ × 38составное
      255²20квадрат простого
      302 × 3 × 58примориал
      1002² × 5²40составное
      10002³ × 5³400составное
      💡

      Признак простоты через φ(n)

      Если калькулятор показал φ(n) = n − 1 — значит n простое число: у составного n, кроме самого n, с ним не взаимно прост ещё хотя бы один делитель d, 1 < d < n, поэтому φ(n) ≤ n − 2. Обратное тоже верно: для любого простого p φ(p) = p − 1. Под ответом калькулятор и сам пишет, простое число или составное.

      Как пользоваться калькулятором функции Эйлера

      1

      Шаг 1. Введите число

      Натуральное число до 18 цифр, разряды можно разделять пробелами: 1 000 000. Можно ввести вручную или нажать один из готовых примеров под полем — он посчитается сразу: 12, 17 (простое), 36 (квадрат), 100, 65537 (стандартный e в RSA).

      2

      Шаг 2. Нажмите «Вычислить φ(n)»

      Или клавишу Enter. Калькулятор сразу разложит число на простые множители и применит формулу Эйлера.

      3

      Шаг 3. Изучите пошаговое решение

      В блоке результата видно разложение n на простые, подстановку в формулу и финальный ответ. Это можно списать в тетрадь или вставить в реферат.

      4

      Шаг 4. Посмотрите взаимно простые числа

      Для n ≤ 100 калькулятор выписывает числа k от 1 до n с НОД(k, n) = 1 — до 20 первых, а если их больше, указывает, сколько всего. Для n больше 100 список не выводится, а количество таких чисел и есть φ(n).

      5

      Шаг 5. Скопируйте результат

      Кнопка «Копировать» сохранит в буфер обмена и значение φ(n), и разложение, и все шаги решения — удобно для домашних заданий.

      Примеры вычисления φ(n)

      📚 Школьный пример: φ(24)

      24 = 2³ × 3. φ(24) = 24 × (1 − 1/2) × (1 − 1/3) = 24 × 1/2 × 2/3 = 8. Взаимно простые: 1, 5, 7, 11, 13, 17, 19, 23.

      🔢 Простое число: φ(97)

      97 — простое, поэтому φ(97) = 97 − 1 = 96. Все 96 чисел от 1 до 96 взаимно просты с 97.

      📐 Степень простого: φ(64)

      64 = 2⁶. φ(64) = 2⁶ − 2⁵ = 64 − 32 = 32. Это все нечётные числа от 1 до 63 — ровно половина.

      🔐 Криптография: φ(3233)

      p = 61, q = 53, n = 3233. φ(n) = (61 − 1) × (53 − 1) = 60 × 52 = 3120. Дальше выбирают e и считают d = e⁻¹ mod 3120.

      🌐 Стандарт RSA: e = 65537

      65537 = 2¹⁶ + 1 — простое число Ферма. φ(65537) = 65536. Это значение по умолчанию используется как открытая экспонента e в большинстве реализаций RSA.

      🧩 Олимпиадный случай: φ(1000)

      1000 = 2³ × 5³. φ(1000) = 1000 × 1/2 × 4/5 = 400. Ровно 400 чисел от 1 до 1000 взаимно просты с 1000 — меньше «среднего» значения 6/π² × 1000 ≈ 608: делитель 2 отсекает половину чисел, а 5 — ещё пятую часть оставшихся.

      Часто задаваемые вопросы о функции Эйлера

      Что такое функция Эйлера простыми словами?
      Функция Эйлера φ(n) показывает, сколько чисел от 1 до n не имеют с n общих делителей (кроме 1). Например, с числом 10 взаимно просты 1, 3, 7, 9 — четыре числа, поэтому φ(10) = 4.
      Какая формула для функции Эйлера?
      Если n = p₁^a₁ × p₂^a₂ × … × p_k^a_k — разложение на простые, то φ(n) = n × (1 − 1/p₁) × (1 − 1/p₂) × … × (1 − 1/p_k). Для простого p проще: φ(p) = p − 1. Для степени простого φ(p^k) = p^(k−1) × (p − 1).
      Чему равна φ(1)?
      φ(1) = 1. Это прямо следует из определения: в диапазоне 1 ≤ k ≤ 1 есть единственное число k = 1, и НОД(1, 1) = 1. С формулой это тоже согласуется: у 1 нет простых делителей, произведение по ним пустое и равно 1.
      Зачем функция Эйлера нужна в RSA?
      В RSA закрытый ключ d вычисляется как d = e⁻¹ mod φ(n), где n = p × q — модуль, а e — открытая экспонента. Обратный элемент e⁻¹ существует тогда и только тогда, когда НОД(e, φ(n)) = 1. Без знания φ(n) расшифровать сообщение нельзя — это и есть основа стойкости RSA.
      Чем функция Эйлера отличается от функции Кармайкла λ(n)?
      φ(n) — число элементов группы (Z/nZ)*, а λ(n) — наименьший показатель m, при котором a^m ≡ 1 (mod n) для всех a, взаимно простых с n. Теорема Эйлера: a^φ(n) ≡ 1 (mod n); λ(n) всегда делит φ(n) и может быть строго меньше: λ(8) = 2, а φ(8) = 4. Калькулятор считает только φ(n), и в большинстве задач её достаточно.
      До какого числа считает этот калькулятор?
      Калькулятор принимает натуральные числа до 18 цифр — до 999 999 999 999 999 999, разряды можно разделять пробелами. На число длиннее он покажет сообщение, что число слишком большое. Предел выбран по замеру скорости разложения: на 18-значном числе это миллисекунды. Для криптографических задач с числами в сотни цифр нужны специализированные библиотеки (GMP, OpenSSL).
      Почему φ(n) для больших составных чисел сложно посчитать?
      Чтобы применить формулу Эйлера, нужно разложение n на простые множители. Факторизация больших чисел (сотни и тысячи бит) — задача без известного полиномиального алгоритма. На этом и основана безопасность RSA.
      Данные с калькулятора уходят на сервер?
      Нет. Все расчёты выполняются прямо в браузере на JavaScript. Введённое число и результат на сервер сайта не отправляются, и инструмент их не сохраняет.

      Полезная информация

      Расчёт выполняется в браузере — введённые числа и результат не уходят на сервер сайта.

      φ(n) считается по разложению n: простые делители до 1000 находятся пробным делением, остаток — ρ-методом Полларда, а простота каждого множителя проверяется детерминированным тестом Миллера — Рабина. Даже для 18-значного n ответ появляется за доли секунды.

      Смежные инструменты по теории чисел

      Эти калькуляторы понадобятся, если вы изучаете криптографию RSA, разбираете олимпиадные задачи или готовитесь к экзамену по дискретной математике.

      Комментарии

      Этот инструмент ещё ждёт первого комментария

      Почту и пароль указывать не нужно · публикуем после проверки, обычно за 1–2 дня · если вам ответят, ответ появится здесь же

      • Руслан АвдеевОт автора проекта
        Все инструменты на ToolFox бесплатны, и я их дорабатываю сам. Напишите, если инструмент считает неверно, чего-то не хватает или что-то стоит поправить, — по таким комментариям я и решаю, чем заняться дальше.

      Комментарии — мнения посетителей, прошедшие проверку по правилам сайта.