オイラーのφ関数:数論と暗号の鍵

出力: 計算を押す

式: phi(n) = n * (1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pk)

オイラーのトーシェント関数の理解

オイラーのトーティエント関数は、次のように表されます φ(n) または φ(n)数論において重要な概念であり、RSAのようなさまざまな数学的分析や暗号アルゴリズムに影響を与えています。それは、までの数のカウントとして定義されます。 n 1以外の共通の約数を持たない互いに素である n互いに素な n 数は未満です n それらの共通因数として1だけを持つ。

オイラーのトーシェント関数の公式

関数は次の式で計算されます:

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

どこ p1, p2, ..., pk の異なる素因数は何ですか nこの製品の数式は、包含除外の原則から派生しています。

素因数分解

φ(n)を計算するためには、異なる素因数を見つけることが重要です。例えば、もし n 12の素因数は2と3です。

これは、12未満で12と互いに素な4つの整数(1, 5, 7, 11)があることを意味します。

説明の例

より理解を深めるために、別の数、例えば30についてφを計算してみましょう。

したがって、8つの数字(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: 数論, 数学