2016-05-12 11 views
-2

RSA-1024アルゴリズムで暗号化し、部分的に復号化できるプログラムがあります。暗号化のためのパーシャルRSA復号器

C = M^e mod n

しかし、復号化のために、結果は256 MODになります:

partialM = (C^d mod n) % 256

また、私はe = 65537d = constantn = constantはので、複数の後に変更されることはありません知っていますプログラムの実行。
特定のCがMを見つけることが可能かどうかを知りたい場合はどうですか?

+0

d = ctとn = ctとはどういう意味ですか?それは意味をなさない:dはnと同じであってはならない。 – TheGreatContini

+1

私はプログラミングに関する質問ではないので、この質問をトピックとして閉じようとしています。これは、crypto.stackexchange.comのトピックにすることができます。それでも、あなた自身で問題を解決しようとする試みがあるはずです。 1つのヒント:RSAの乗法特性を利用する。 –

答えて

3

はい、可能ですが、容易ではありません。

RSAに対して、Least Significant Bit Oracle Attackと呼ばれる既知の攻撃があります。まもなく、ブラックボックスが提供されている場合は、選択した暗号テキストの平文のパリティビットを尋ねることができます。完全な平文を明らかにすることができます。

全体の攻撃の説明in this questionが見つかります。

要約すると、1つの既知の暗号文 - 部分的な平文のペア、つまりオラクルへのアクセスなしで暗号を破ることはできません。しかし、プレーンテキストのビットを明らかにするべきではありません。十分なプレーンテキストのための1ビットの知識が本当の損害を引き起こす可能性があります。

関連する問題