オイラーのφ関数:数論と暗号の鍵
数式:- オイラーのトーティエント関数、φ(n)-または-phi(n)-として表される、は数論において重要な概念であり、RSA-などの様々な数学的解析および暗号アルゴリズムにおいて影響力があります。これは-n-までの数の合計を、-nと共通の除数(1を除く)がない数として定義します。nの互いに素な数は、n未満の数であり、共通因数が1のみです。 関数は以下の数式で計算されます: p1,-p2,-...,-pk-は-n-の異なる素因数です。この積の数式は、包除原理(包括排除原理)から導き出されています。 φ(n)を計算するには、異なる素因数を見つけることが重要です。例えば、-n-が12の場合、その素因数は2と3です。これを次のように変換します: これは12未満の4つの整数-(1,-5,-7,-11)-が互いに素であることを意味します。 さらに理解を深めるために、別の数、例えば30についてφを計算してみましょう。 したがって、30と互いに素である8つの数-(1,-7,-11,-13,-17,-19,-23,-および29)-があります。 オイラーのトーティエント関数は、現代のデジタルセキュリティの基盤であるRSA暗号の基本を支えています。このアルゴリズムでは、公開鍵と秘密鍵の選択においてトーティエント計算が関与します。暗号化のためのキーとして使用できる整数の数を知ることで暗号強度が向上します。 φ(n)-の用途には暗号学、ディオファントス方程式の解法、および様々な代数系の構造の理解が含まれます。それは整数の分布の研究において基本的な役割を果たします。 これをJavaScriptコードで見てみましょう: これらの値で関数をテストしてください: 関数は入力が正の整数であることを保証し、そうでない場合にはエラーメッセージを返します。 オイラーのトーティエント関数は、現代の暗号技術と整数論の基盤となる数論の基本概念です。φ(n)を理解して計算することは、セキュアなインターネット通信から理論的な研究に至るまで、様々な高度な数学的および実世界の応用を開く鍵となります。phi(n)-=-n-*-(1---1/p1)-*-(1---1/p2)-*-...-*-(1---1/pk)
オイラーのトーティエント関数の理解
オイラーのトーティエント関数の数式
φ(n)-=-n-*-(1---1/p1)-*-(1---1/p2)-*-...-*-(1---1/pk)
素因数分解
例示的な例
実世界の応用
一般的な用途
JavaScriptでφ(n)を計算する
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;};
テストの例
入力 期待される結果 1 1 2 1 3 2 4 2 5 4 30 8 データの検証
よくある質問
A:二つの数の最大公約数(GCD)が1である場合、それらの数は互いに素な数です。つまり、それらの共通の正の整数因子は1以外に存在しません。
A:はい、素数pの場合、φ(p) = p 1です。素数p未満のすべての整数はp自身を除いて互いに素です。
A:関数は暗号化および復号化のキーを決定するのに役立ち、メッセージのセキュリティを確保します。まとめ