■フェルマー・オイラー・ウィルソン(その11)

フェルマーの小定理

pを素数、aを任意の整数とするとき

a^p-1-1=0 (modp)

例: 17は素数なので、1^16-1,2^16-1,3^16-1,・・・,16^16-1,18^16-1,・・・

はすべて17の倍数である。

たとえば、16^16-1=18446744073709551615を17で割ると、1085102571150095

17^16-1は17で割り切れない。17の倍数である17^16より1小さいため17の倍数ではありえない

===================================

オイラーの定理

(a,n)=1のとき、

a^φ(n)-1-1=0 (modn)

p、qを素数,n=pqとするとφ(n)=(p-1)(q-1)

===================================

RSA暗号

(1)2つの大きな素数p,qを見つける

(2)n=pq

(3)φ(n)=(p-1)(q-1)を計算して、それは秘密にする

(4)φ(n)と互いに素である数eを選ぶ

(5)de=1 (modφ(n))となるdを計算する

(6)eは公表しても構わない

(7)dは秘密にしておく(重要)

(8)平文をr、nを法とする

(9)rをr^e (mod n)に変換する(暗号化はe乗する、この規則も公表してかまわない)

(10)暗号文r^eを復号化するにはこれをd乗する(復号化はd乗する、dは秘密)

(11)r^ed=r (オイラーの定理)

===================================