web-dev-qa-db-ja.com

暗号化されたデータと対応するクリアテキストを指定して秘密鍵を決定できますか?

データAデータBの暗号化された形式であることを知っている場合、秘密鍵を特定するのに十分な情報はありますか?

12
Aran Mulholland

平文と対応する暗号文の両方を知ってから鍵を復元できる場合、これは 既知の平文攻撃 と呼ばれます。拡張子は 選択された平文攻撃 であり、攻撃者は平文を知っているだけでなく、それを選択します。暗号化アルゴリズムがCPAの対象である場合、それは脆弱で壊れていると見なされます。したがって、secure暗号化アルゴリズムはCPA(したがってKPAも)に抵抗する必要があります。

asymmetric暗号化(RSA)では、公開鍵がpublicであるため、誰もが何百万もの平文/暗号文のペアを作成できることに注意してください。これは、非対称暗号化アルゴリズムがCPAによって破られた場合、安全であるとは考えられなかったことを示しています。逆に、symmetric暗号化では、攻撃者がキーを知らずに自分のデータを暗号化できないため、CPAモデルは恐ろしいものではないと長い間想定されていました。実際には、理論が間違っていることが証明されました(HTTPS、悪質なJavascript、またはプレーンHTMLの場合でも、攻撃者が少なくとも部分的に選択したコンテンツでブラウザーがリクエストを発行する可能性があります)。

19
Thomas Pornin

使用されている最新の暗号化アルゴリズム(RSA、AESなど)の場合、いいえ。

一部のアルゴリズムはキーをリークします(たとえば、データBがデータと同じ長さのワンタイムパッドでXORすることによって暗号化されている場合、データAとデータBをXORすると、キー全体が得られます)。 。

6
caelyx