0

次のような暗号化関数があるとしましょう:

f(x) = x^5 mod 21

この関数によって生成された暗号化されたテキストからプレーン テキストを取得するにはどうすればよいですか? 復号化関数をどのように表すことができますか?

4

1 に答える 1

3

これは宿題ですか?もしそうなら、宿題のタグを付けて、過去の質問のいくつかに対する回答を受け入れる必要があります.

これは、モジュラスが 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

于 2013-01-07T21:43:43.110 に答える