オイラーの定理とカーマイケルの定理
- 2018/07/25 09:32
-
以前の記事, エルガマル暗号では, エルガマル暗号に関する諸々の前提の説明と, その実装について示した. 同エントリ内で, フェルマーの小定理1については取り扱ったものの, その一般形であるオイラーの定理およびカーマイケルの定理について特に触れなかったため, 本エントリでそれらに関してまとめる. しばしば値の確認には, 簡単のため Haskell を使う.
オイラーの定理
いま, フェルマーテストを定義したとき, をパスするには (すなわち, フェルマーの小定理が示す合同式が成り立つには), 要件として, 既約剰余類郡 の各要素と の積が全て異なり, の既約代表系のすべての積と合同でなければならない. たとえば, 法 による合同関係で構成する剰余類の完全代表系2は であるが, としてしまうと, 既約剰余類郡が構成できていないので, 次のようにしても完全代表系が得られない(積をわざわざ示していないが, 非合同でないことは, 各要素の積が全て異なっていない時点で明白である).
Prelude> [x * 2 `rem` 8 | x <- [0..7]]
0,2,4,6,0,2,4,6] [
そこで, 先に述べた剰余類の既約代表系を考える. これは 個3で, である. これを同じように, とし, 先の要件を確認すると, この補題2より, で全体として と一致していて, だから, を約して, これは, ということの他に, および の値に依存した論ではない. すなわち,
オイラーの定理
がいえる4.
*Main> euler'sTheorem n = [a `modExp` (totient n) $ n | a <- [2..], gcd a n == 1]
*Main> all (==1) $ take 100 $ euler'sTheorem 8
True
ラグランジュの定理
いま述べたオイラーの定理は, ラグランジュの定理を使っても証明できる. ラグランジュの定理は,
ラグランジュの定理
である.
ラグランジュの定理
有限郡 の部分郡 による類別が であるとき, といえる. この は そのものなので, .
ごく直感的な定理である. これを使えば, オイラーの定理は次のように証明できる.
補題 1
有限郡 とその元 に対し, . は単位元.
補題 1
巡回部分郡 の元 の位数 は, 巡回して となる最小の であるといえる. すなわち ここで, 商集合の位数を両辺に次のように与える. 左辺は指数法則により, また右辺は単位元の繰り返しだから, これを次のようにかける. ラグランジュの定理より
カーマイケルの定理
オイラーの定理で用いる 関数は, を成立させる最小の整数 を持ち得ない. たとえば, では, 先の通り確かに で合同式が満足できたが, としても, これを満足できる.
*Main> all (==1) $ take 100 $ [a `modExp` 2 $ 8 | a <- [2..], gcd a 8 == 1]
True
カーマイケルの 関数は, 与えられた整数 に対して同合同式を満足する最小の を定義より自明に与える.
カーマイケルの 関数
カーマイケルの定理
実装して確かめてみる.
*Main> let carmichael'sLambda n = head [k | k <- [1..], and [(m `modExp` k $ n) < 2 | m <- [1..n] gcd m n < 2]]
*Main> let carmichael'sTheorem n = [a `modExp` (carmichael'sLambda n) $ n | a <- [2..], gcd a n == 1]
*Main> all (==1) $ take 100 $ carmichael'sTheorem 8
True
補足. 郡 とその部分郡 があるとき, は郡であるから単位元 を含む. よって, の剰余類を としたとき(簡単のため, 左剰余類として式をおいたが, これに深い意味はない.), より である. この を剰余類 の代表という. また郡 は, 異なる を代表とした剰余類 によって類別できる(). この 個の類別に対して, 各剰余類から代表の元を取り, 構成した集合を, の に対する代表系という.↩︎
ここで, は, オイラーのトーシェント関数.↩︎
コード内の
totient
とmodExp
は, それぞれ以前の投稿のうち, オイラーのトーシェント関数の実装部分と, カーマイケル数を得るための実装を利用.↩︎この補足は冗長的かもしれないが, が素数 である場合, が構成されるから, これから取った代表は素数 と互いに素であることから, 既約代表である. この事実も, 一般に \(\) から \(\) へのような式変形が実行できることとの整合を示す.↩︎
補足. 郡 とその部分郡 があるとき, は郡であるから単位元 を含む. よって, の剰余類を としたとき(簡単のため, 左剰余類として式をおいたが, これに深い意味はない.), より である. この を剰余類 の代表という. また郡 は, 異なる を代表とした剰余類 によって類別できる(). この 個の類別に対して, 各剰余類から代表の元を取り, 構成した集合を, の に対する代表系という.↩︎
活動継続のためのご支援を募集しています