# Мультипликативный порядок по модулю n (порядок элемента)

Вычисляет мультипликативный порядок ord\_n(a) — наименьшее k ≥ 1 с a^k ≡ 1 (mod n) (требуется gcd(a, n) = 1). Алгоритм стартует с φ(n) и последовательно отбрасывает простые множители, проверяя a^(ord/p); вывод включает таблицу степеней a, доказательство минимальности (a^(k/p) ≢ 1 для каждого простого p | k), порождённую циклическую подгруппу , а также отметки, является ли a первообразным корнем (ord = φ(n)) или достигает максимального порядка (ord = λ(n)). Классика: ord\_7(3) = 6 = φ(7), 3 — первообразный корень по модулю 7; ord\_15(2) = 4 < φ(15) = 8.

> Каноническая страница: https://elysiatools.com/ru/tools/order-of-element-mod-n

- **Категория:** Math & Numbers

- **Ключевые слова:** мультипликативный порядок, порядок элемента, первообразный корень, циклическая подгруппа, мультипликативная группа, дискретный логарифм, теория чисел

## Обзор

Онлайн-калькулятор мультипликативного порядка находит наименьшее целое k ≥ 1, при котором a^k ≡ 1 (mod n), проверяя взаимную простоту чисел a и n. Инструмент выполняет факторизацию модуля и функции Эйлера φ(n), строит таблицу последовательных степеней элемента, формирует порожденную циклическую подгруппу ⟨a⟩, а также проверяет, является ли элемент первообразным корнем или элементом с максимально возможным порядком λ(n).

## Входные данные

- **Элемент a** (text): The element whose order is computed; reduced mod n first (up to 10⁵¹²).
- **Модуль n** (text): Modulus, 2 ≤ n ≤ 10¹² (needs factorization of n and φ(n)).

## Когда использовать

- При решении задач теории чисел и модульной арифметики, требующих нахождения порядка элемента в мультипликативной группе.
- При проверке кандидатов в первообразные корни для криптографических алгоритмов вроде Диффи — Хеллмана или ElGamal.
- При анализе структуры циклических подгрупп и вычислении периода повторения степеней числа по заданному модулю.

## Как это работает

- Проверяется условие взаимной простоты gcd(a, n) = 1; если числа не взаимно просты, мультипликативный порядок не существует.
- Вычисляются значения функции Эйлера φ(n) и функции Кармайкла λ(n), после чего определяется список простых делителей порядка.
- Путем последовательной редукции степеней от φ(n) находится минимальное k, для которого a^k ≡ 1 (mod n), с подтверждением минимальности через проверку a^(k/p) ≢ 1 для всех простых делителей p числа k.
- Формируется итоговый отчет: таблица степеней по модулю, элементы порожденной подгруппы ⟨a⟩ и статус первообразного корня.

## Сценарии использования

- Определение первообразных корней для настройки криптографических схем с открытым ключом.
- Вычисление периода генераторов псевдослучайных чисел на основе линейных конгруэнтных датчиков.
- Подготовка учебных материалов и проверка решений лабораторных работ по высшей алгебре и криптографии.

## Частые вопросы

### Что такое мультипликативный порядок ord_n(a)?

Это наименьшее натуральное число k ≥ 1, для которого a в степени k дает остаток 1 при делении на n.

### Почему для вычисления порядка требуется gcd(a, n) = 1?

Если a и n имеют общий делитель больше 1, любая степень a делится на этот делитель и никогда не даст остаток 1 по модулю n.

### Что означает, если ord_n(a) = φ(n)?

Это означает, что элемент a является первообразным корнем по модулю n и порождает всю мультипликативную группу (Z/nZ)*.

### Каковы ограничения на значения a и n?

Модуль n поддерживается в диапазоне от 2 до 10¹², а число a может быть произвольным целым числом до 10⁵¹².

### В чем разница между φ(n) и λ(n) при поиске порядка?

φ(n) — функция Эйлера, а λ(n) — функция Кармайкла, задающая максимально возможный порядок элемента в мультипликативной группе по модулю n.

## Связанные инструменты

- [Калькулятор функции Кармайкла λ(n)](https://elysiatools.com/ru/tools/carmichael-function): Вычисляет функцию Кармайкла λ(n) — показатель мультипликативной группы (Z/nZ)*, то есть наименьшее k, при котором a^k ≡ 1 (mod n) для всех a, взаимно простых с n. Строится по разложению: λ(2)=1, λ(4)=2, λ(2^k)=2^(k−2) (k ≥ 3), λ(p^k)=φ(p^k) для нечётных простых, затем НОК по компонентам; рядом даются φ(n), наличие первообразного корня и критерий Корсельта для распознавания чисел Кармайкла. Классика: λ(561) = 80 (561 — наименьшее число Кармайкла), а λ(8) = 2 < φ(8) = 4.
- [Китайская теорема об остатках (система сравнений)](https://elysiatools.com/ru/tools/chinese-remainder-theorem): Решает систему сравнений x ≡ rᵢ (mod mᵢ) (2–20 уравнений) обобщённой китайской теоремой об остатках с попарным слиянием: для попарно взаимно простых модулей объединённый модуль равен произведению, для не взаимно простых, но совместимой системы — НОК, а для несовместимой системы явно сообщается об отсутствии решений. Каждое сравнение проверяется подстановкой в итоговое решение. Классика: x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 2 (mod 7) → x = 23 (mod 105).
- [Генератор перестановок / сочетаний / подмножеств (с повторами)](https://elysiatools.com/ru/tools/combinatorial-generation): Генерирует перестановки, сочетания и подмножества мультимножества с автодедупликацией в лексикографическом порядке: перестановки — методом next_permutation с точным счётом n!/Π(mᵢ!); сочетания — все различные k-подмультимножества, счёт — коэффициент при x^k в Π(1+x+…+x^mᵢ) (C(n,k), если все элементы различны); подмножества — все подмультимножества со счётом Π(mᵢ+1) (2ⁿ, если различны), включая пустое. До 12 элементов, показ ограничен 200 записями, но счёт всегда точен; для сочетаний требуется 1 ≤ k ≤ n. Классика: перестановки \[A, A, B\] → 3!/2! = 3 (AAB, ABA, BAA); подмножества \[A, A, B\] → (2+1)(1+1) = 6.
- [Калькулятор функции Эйлера φ(n)](https://elysiatools.com/ru/tools/euler-totient-function): Вычисляет функцию Эйлера φ(n) — количество целых чисел в \[1, n\], взаимно простых с n. Раскладывает n на простые множители пробным делением и точно считает φ(n) = n · Π(1 − 1/p) (n ≤ 10¹²); можно вывести первые 60 взаимно простых чисел и напоминание теоремы Эйлера a^φ(n) ≡ 1 (mod n). Классика: φ(36) = 12 (36 = 2² × 3²); для простого n φ(n) = n − 1, например φ(97) = 96.
- [Конвертер Дробей и Десятичных](https://elysiatools.com/ru/tools/fraction-decimal-converter): Преобразование между дробями и десятичными числами с поддержкой смешанных чисел, неправильных дробей и различных десятичных форматов
- [Решатель матричных игр с нулевой суммой (седловая точка / линейное программирование)](https://elysiatools.com/ru/tools/game-theory-zero-sum): Решает матричные игры 2–6 × 2–6 с нулевой суммой (платёжная матрица принадлежит игроку-строке — максимизирующему; игрок-столбец платит): сначала проверка седловой точки (если максимин минимумов строк равен минимаксу максимумов столбцов, существует равновесие в чистых стратегиях и перечисляются все седловые клетки); иначе матрица сдвигается так, чтобы все элементы были ≥ 1, и однофазным симплексом (базис из остаточных переменных, правило Бланда) решается max Σz при Bz ≤ 1: прямой ответ даёт смешанную стратегию q игрока-столбца, а двойственные теневые цены — в точности решение y игрока-строки; значение сдвигается обратно, выводятся x, q, v с численной проверкой гарантий (xᵀA ≥ v, Aq ≤ v) и равенства минимакса. Классика: «орлянка» \[\[1,-1\],\[-1,1\]\] → значение 0, обе стороны смешивают 0.5/0.5.
- [Калькулятор обратного преобразования Лапласа (простые дроби)](https://elysiatools.com/ru/tools/inverse-laplace-calculator): Вычисляет обратное преобразование Лапласа для F(s) = N(s)/D(s) (правильная дробь, степень знаменателя ≤ 6): находит корни знаменателя, группирует их по кратности и сопряжённым парам, решает линейную систему по коэффициентам многочленов для разложения на простые дроби и обращает каждое слагаемое по таблице (A/(s−r)→Ae^(rt), A/(s−r)^j→At^(j−1)e^(rt)/(j−1)!, (Bs+C)/((s−α)²+β²)→e^(αt)\[Bcos(βt)+…sin(βt)\]). Классика: 1/(s²+3s+2) → e^(−t)−e^(−2t); (3s+5)/(s²+4) → 3cos(2t)+2,5sin(2t).
- [Калькулятор преобразования Лапласа (таблица пар)](https://elysiatools.com/ru/tools/laplace-transform-calculator): Табличное преобразование Лапласа F(s) = ∫₀^∞ e^(−st)f(t)dt: 14 стандартных пар (1, t, tⁿ, e^(at), tⁿe^(at), sin/cos(kt) с экспоненциальным сдвигом, sinh/cosh, t·sin/t·cos, δ(t)), с подстановкой параметров, областью сходимости (например s > a), ходом вывода и необязательным численным вычислением в точке s (со проверкой сходимости). Пример: L{e^t} = 1/(s−1), s>1, F(2) = 1.

## Примеры

- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов
