[color=#0000ff]まずは数学的「モデル」としてフェルマーの小定理を調べてみよう。[/color]
フェルマーの小定理
「知ることは作ること」 RSA暗号を理解するためには実際に作ってみるのが一番いい。
フェルマーの小定理。これは、例えば「8を10乗した数は11で割ると1あまる」ということを一般化したもの。数値を入れて確かめると、条件がみえてくる。
フェルマーの小定理の拡張
人間は演繹では理解できない。帰納することでしか先へ進めない。訂正「対称化」⇒「対象化」
[br]
法を素数以外にしたときに、同じことが言えないか?
オイラーの小定理を導く
素数の場合はp-1個の積が一緒になったけど、[br]この場合のように9を法とすると、3や6の時は0(と3と6)が出てくる。[br]でも、それ以外は同じ値が繰り返されている。[br]とすると、3や6を除いた数の積は同じ値だ。[br][br]つまり、フェルマーの小定理(の拡張)を導くことができる。[br]オイラーはこうやって計算しながら表をつくり、法則を見つけていったのだろう。[br][br]9と互いに素な数の剰余の積は同じ値になる。[br] ↓ つまり[br]1・2・4・5・7・8≡1m・2m・4m・5m・7m・8m (mod 9)[br]1・2・4・5・7・8≡m[sup]6[/sup]・1・2・4・5・7・8 (mod 9)[br]1≡m[sup]6[/sup] (mod 9)[br]この6は9と互いに素な数の個数(9以下の)。[br]それをφ(n)[オイラー関数]とすると、[br]m[sup]φ(n)[/sup]≡1 (mod n)[br]が言えそう。[br][br]
フェルマーの小定理からRSA暗号をどうつくるか
p×qを法とする
m[sup]p-1[/sup]≡1 (mod p) ⇒ m[sup]p-1[/sup]-1は pで割り切れる[br]m[sup]q-1[/sup]≡1 (mod q) ⇒ m[sup]q-1[/sup]-1は qで割り切れる[br]では、mod (p·q)にするにはどうしたら良いか?[br] つまりpでもqでも割り切れる数は?[br][br]m[sup](p-1)(q-1)[/sup]-1を考えてみると、[br](m[sup](p-1)[/sup])[sup](q-1)[/sup]-1は qで割り切れる。[br](m[sup](q-1)[/sup])[sup](p-1)[/sup]-1は pで割り切れる。[br]よってm[sup](p-1)(q-1)[/sup]-1は p·qで割り切れる。(p·q=nとおく)⇒ m[sup](p-1)(q-1)[/sup]≡1 (mod n)[br]ここで、( )≡m にするために、両辺にmをかける。[br]m[sup](p-1)(q-1)[/sup]·m≡m (mod n)[br]m[sup](p-1)(q-1)+1[/sup]≡m (mod n)[br]この時、(p-1)(q-1)+1=e·dとすると、(m[sup]e[/sup])[sup]d[/sup]≡m (mod n)となる。[br][br]