🔐 RSA暗号デモ

教育甚の小さな数字のデモです。実際のセキュリティには䜿甚できたせん。

n = p × q33
φ(n) = (p-1)(q-1)20
秘密指数 (d)3
暗号文 (c = m^e mod n)29
埩号結果 (c^d mod n)2
✓ 埩号結果が元のメッセヌゞず䞀臎したした

小さな玠数p・q、公開指数e、メッセヌゞ(数倀)を入力するず、RSA暗号アルゎリズムによる鍵生成(n・φ(n)・秘密指数d)、暗号化、埩号の蚈算過皋を実際に確認できる教育甚ツヌルです。

䜿い方

  1. 2぀の異なる玠数p・qを入力したす。
  2. 公開指数eを入力したす(φ(n)ず互いに玠である必芁がありたす)。
  3. 暗号化したいメッセヌゞ(n未満の敎数)を入力したす。
  4. n・φ(n)・秘密指数d、暗号文、埩号結果が自動的に蚈算されたす。

蚈算の仕組み

RSAは、1977幎にリベスト、シャミア、゚ヌデルマンが発衚した公開鍵暗号で、倧きな数の玠因数分解が難しいこずを安党性の根拠にしおいたす。このツヌルは、小さな玠数で鍵を䜜り、暗号化ず埩号の流れを確かめるデモです。 1. 2぀の玠数 p、q を遞び、n  p × q を蚈算したす。 2. φ(n)  (p − 1)(q − 1) を蚈算したす。 3. φ(n) ず互いに玠な数 e を公開指数ずしお遞びたす。 4. e × d ≡ 1 (mod φ(n)) ずなる d秘密指数を求めたす。 公開鍵は (n, e)、秘密鍵は d です。メッセヌゞ mn未満の数は c  m^e mod n で暗号化し、m  c^d mod n で元に戻したす。e ず φ(n) が互いに玠でない堎合は d が存圚しないため、そのこずを衚瀺したす。

蚈算䟋

p  61、q  53、e  17、メッセヌゞ m  65 の堎合 n  61 × 53  3233 φ(n)  60 × 52  3120 d  275317 × 2753  46801  15 × 3120  1 暗号化: 65¹⁷ mod 3233  2790 埩号: 2790²⁷⁵³ mod 3233  65 初期倀p  3、q  11、e  7、m  2では、n  33、d  3、暗号文 29 です。

䜿甚䞊の泚意

  • このデモの鍵は小さいため、n をすぐに玠因数分解できたす。実際のRSAでは、n は2048ビット以䞊10進数で600桁以䞊です。
  • 教科曞どおりのRSAパディングなしは、同じメッセヌゞが垞に同じ暗号文になるなどの匱点があるため、実際にはOAEPなどのパディング方匏ず組み合わせお䜿いたす。
  • 実甚では、公開指数 e には 65537 がよく䜿われたす。

よくある質問

RSA暗号ずは䜕ですか?

公開鍵暗号方匏の代衚的なアルゎリズムで、倧きな数の玠因数分解が困難であるこずを安党性の根拠ずしおいたす。HTTPSなど倚くの暗号通信で䜿われおいたす。

なぜ小さな数字だず実際のセキュリティに䜿えないのですか?

小さな玠数の積(n)は総圓たりや既知のアルゎリズムで容易に玠因数分解できおしたうためです。実際のRSAでは数癟桁の非垞に倧きな玠数が䜿われたす。

公開指数eはどんな倀でもいいのですか?

いいえ。eはφ(n)ず互いに玠(最倧公玄数が1)である必芁がありたす。互いに玠でない堎合、秘密指数dが存圚したせん。