はじめに
これは RSA完全理解 Advent Calendar の13日目の記事です
RSAの証明は以前フェルマーの小定理を用いてやりましたが、オイラーの定理を利用した証明も多いです。
勉強やりはじめると、理解のために肌に合う証明を探し求めたりすると思うので、ファイ関数とオイラーの定理についても紹介します
オイラーのファイ関数
トーシェント関数とも呼びます。 みたいに書きます。
これはなにかというと 以下の値で と互いに素な数の個数を数え上げる処理です。概念としてはシンプルですね。ちなみに計算方法は
です。 素因数について で総乗して でかけると出てきます。
これは直感的にもただしいとわかります。なぜなら、素因数とその倍数は と互いに素でないのでカウントされないからです。そしてその登場頻度は です。それを取り除く処理をすべての素因数について適用するだけということですね。
オイラーの定理
オイラーは多面体定理とかいろんな定理を出してるので、整数論に関する定理のことは区別してオイラーの定理(整数論)とかつけたりします。文脈から自明な場合はとくに断りをいれない事が多いです。以降は単にオイラーの定理といいます
さてオイラーの定理とは
となる定理のことです。みるとわかりますが、これはフェルマーの小定理の一般化になっています。(フェルマーの小定理は法が素数 でないといけなかったが、オイラーの定理では単に互いに素なら適用できる)
オイラーの定理の証明
1以上 以下の と互いに素な数について とします。これらの要素はすべて 以下です。
これらをすべて でかけて とします。
このとき の集合の要素をそれぞれ で剰余をとるとすべて異なります。
仮に剰余が等しい場合を仮定すると となります。
は両辺と互いに素なので割ると となり集合 内の2要素の剰余が等しいことになり前提と矛盾します
また は と互いに素である と の積なので と互いに素です。
そのため となる が存在します。
つまり集合 は各要素について
- 法 についての剰余はすべて異なる
- となる が存在する
- と要素数が同じ
となるので と は法 の剰余を考えると同一とみなせます。
そうすると と の積について比較できそうなので式を整理します
集合 の各要素 の積は と互いに素な要素の積と言えるので と互いに素です。なので両辺を割ると
となりオイラーの定理についての式になります。これで証明完了です