次のような暗号化関数があるとしましょう:
f(x) = x^5 mod 21
この関数によって生成された暗号化されたテキストからプレーン テキストを取得するにはどうすればよいですか? 復号化関数をどのように表すことができますか?
次のような暗号化関数があるとしましょう:
f(x) = x^5 mod 21
この関数によって生成された暗号化されたテキストからプレーン テキストを取得するにはどうすればよいですか? 復号化関数をどのように表すことができますか?
これは宿題ですか?もしそうなら、宿題のタグを付けて、過去の質問のいくつかに対する回答を受け入れる必要があります.
これは、モジュラスが 2 つの素数 (つまり、n = p*q) の積である RSA のように見えます。アルゴリズムの手順に従うだけです。この場合、n = 21 = 7*3 です。これは、phi(n) = (6*2) = 12 であることを示しています。
暗号化指数 (e) が 5 で phi(n) = 12 の場合、復号化指数を計算するには、e*d = 1 (mod phi(n)) となるような d を見つける必要があります。別の言い方をすれば、e -1 = d (mod phi(n)) です。これは、Mathematica のPowerMod関数 PowerMod[5, -1, 12] で行うことができます。
モジュラー逆数がわかれば、あとは簡単です。
c = (m)^5 mod 21
m = (c)^d mod 21