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


出力: 計算を押す

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

オイラーのトーティエント関数の理解

オイラーのトーティエント関数、φ(n)-または-phi(n)-として表される、は数論において重要な概念であり、RSA-などの様々な数学的解析および暗号アルゴリズムにおいて影響力があります。これは-n-までの数の合計を、-nと共通の除数(1を除く)がない数として定義します。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-*-(1---1/2)-*-(1---1/3)
  • φ(12)-=-12-*-1/2-*-2/3-=-4

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

例示的な例

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

  • 30の素因数:-2,-3,-および5
  • φ(30)-=-30-*-(1---1/2)-*-(1---1/3)-*-(1---1/5)
  • φ(30)-=-30-*-1/2-*-2/3-*-4/5-=-8

したがって、30と互いに素である8つの数-(1,-7,-11,-13,-17,-19,-23,-および29)-があります。

実世界の応用

オイラーのトーティエント関数は、現代のデジタルセキュリティの基盤であるRSA暗号の基本を支えています。このアルゴリズムでは、公開鍵と秘密鍵の選択においてトーティエント計算が関与します。暗号化のためのキーとして使用できる整数の数を知ることで暗号強度が向上します。

一般的な用途

φ(n)-の用途には暗号学、ディオファントス方程式の解法、および様々な代数系の構造の理解が含まれます。それは整数の分布の研究において基本的な役割を果たします。

JavaScriptでφ(n)を計算する

これを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-'入力は正の整数でなければなりません。';--let-result-=-1;  for (let i = 2; i < n; i++) {    if (isCoprime(i, n)) result++;  }  return result;};

テストの例

これらの値で関数をテストしてください:

入力期待される結果
11
21
32
42
54
308

データの検証

関数は入力が正の整数であることを保証し、そうでない場合にはエラーメッセージを返します。

よくある質問

  • Q:互いに素な数または比較的素な数とは何ですか?
    A:二つの数の最大公約数(GCD)が1である場合、それらの数は互いに素な数です。つまり、それらの共通の正の整数因子は1以外に存在しません。
  • Q:素数に対してφ(n)を計算できますか?
    A:はい、素数pの場合、φ(p) = p 1です。素数p未満のすべての整数はp自身を除いて互いに素です。
  • Q:RSA暗号においてトーティエント関数はなぜ重要ですか?
    A:関数は暗号化および復号化のキーを決定するのに役立ち、メッセージのセキュリティを確保します。

まとめ

オイラーのトーティエント関数は、現代の暗号技術と整数論の基盤となる数論の基本概念です。φ(n)を理解して計算することは、セキュアなインターネット通信から理論的な研究に至るまで、様々な高度な数学的および実世界の応用を開く鍵となります。

Tags: 数論, 暗号学, 数学