функция Эйлера φ: ключ к теории чисел и криптографии

Вывод: нажмите рассчитать

Формула: phi(n) = n * (1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pk)

Понимание функции Эйлера

Функция Эйлера, обозначаемая как φ(n) или ф(n) является важным понятием в теории чисел, оказывающим влияние на различные математические анализы и криптографические алгоритмы, такие как RSA. Оно определяется как количество чисел до н которые взаимно простые (имеющие общие делители, отличные от 1) с нСоседние числа к н меньше чем числа н которые имеют только число 1 в качестве общего делителя.

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

Функция вычисляется по формуле:

φ(n) = n * (1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pk)

где p1, p2, ..., pk различные простые делители нЭта формула продукта основана на принципе включения-исключения.

Разложение на простые множители

Чтобы вычислить φ(n), важно найти различные простые множители. Например, если н 12 это число, его простые множители: 2 и 3.

Это означает, что существует четыре целых числа (1, 5, 7 и 11), меньших 12, которые являются взаимно простыми с 12.

Иллюстративный пример

Чтобы лучше понять, давайте вычислим φ для другого числа, например 30.

Таким образом, восемь чисел (1, 7, 11, 13, 17, 19, 23 и 29) взаимно простые с 30.

Применение в реальном мире

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

Общие применения

Некоторые применения φ(n) включают криптографию, решение диофантовых уравнений и понимание структуры различных алгебраических систем. Она играет фундаментальную роль в изучении распределения целых чисел.

Вычисление φ(n) в JavaScript

Давайте посмотрим на код JavaScript для этого:

const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);const isCoprime = (a, b) => gcd(a, b) === 1;const phi = (n) => {  if (n <= 0) return 'Input must be a positive integer.';  let result = 1;  for (let i = 2; i < n; i++) {    if (isCoprime(i, n)) result++;  }  return result;};

Примеры тестов

Проверьте функцию с этими значениями:

ВходОжидаемый результат
11
21
32
42
54
308

Проверка данных

Функция гарантирует, что вводимое значение является положительным целым числом, в противном случае возвращается сообщение об ошибке.

Часто задаваемые вопросы

Резюме

Функция Тотента Эйлера является основополагающей концепцией численной теории, центральной для современной криптографии и теории целых чисел. Понимание и вычисление φ(n) открывает двери к более сложным математическим и прикладным задачам, от безопасной интернет-коммуникации до теоретических исследований.

Tags: Теория чисел, математика