エンコードされたデコード済みサンプルを使用してPGP秘密鍵を推測する


9

エンコードされたメッセージと元のメッセージの両方がある場合、秘密鍵を推測することはできますか?

回答:


9

いいえ。それは、非対称鍵(公開と秘密)のポイントです。公開鍵を使用してメッセージを簡単にエンコードできるため(つまり、それが目的です)、暗号化されていないメッセージが得られます。ただし、暗号化されたメッセージの復号化は、秘密鍵でのみ可能です。秘密鍵は再生成できません。


10

言及されていないため、これは既知の平文攻撃呼ばれ、暗号が持つ非常に悪い脆弱性になります。実際、公開鍵暗号では、誰でもメッセージを暗号化できるため、この攻撃は選択平文攻撃と同等です。

そこている実際にはRSAに対するいくつかの既知/選択平文攻撃があった(ほとんどの場合、対称鍵を暗号化するためにPGPが使用する公開鍵暗号)が、彼らは通常、関与サイドチャネル攻撃に対する貧困層の実装を、または必要と非常識な数を暗号文、または特定のまれなキーに対してのみ機能します

ただし、一般的に、あなたの質問に対する答えは「いいえ」です-それが暗号を安全にするものです。


5

いいえ、これは非常に悪いことです。PGP暗号化は、ハッシュ、データ圧縮、対称鍵暗号、そして最後に公開鍵暗号のシリアルな組み合わせを使用します。ハッシュは一方向関数を使用します。一方向関数は、計算は簡単ですが、反転が困難な関数です。公開鍵暗号化は非対称アルゴリズムを利用します。

公開鍵暗号化に使用されるアルゴリズムは、おそらく効率的な解決策がないと思われる数学的関係(最も有名なものは整数因数分解と離散対数問題)に基づいています。対象の受信者が公開鍵と秘密鍵を生成することは計算上簡単であり、秘密鍵を使用してメッセージを復号化することも、送信者が公開鍵を使用してメッセージを暗号化することも簡単ですが、公開鍵の知識だけに基づいて、秘密鍵を導出する人。

元のメッセージだけでは、秘密鍵を推測するのに十分ではありません。


2

これには2つの答えがあります。

理論的には可能ですか?はい。偽のキーを生成し、暗号化を試して、一致するかどうかを確認できます。そうでない場合は、別の偽の鍵を試して暗号化し、出力が一致するかどうかを確認します。これは一般的にブルートフォース攻撃と呼ばれます

実際には、これは実行できません。これを試すには、ゼロ以外の時間と計算能力が必要です。PGP暗号化は通常、まともなサイズの鍵、おそらく512、1024、2048、またはそれ以上のビットを使用します。キースペース(キーの数)は非常に大きいため、この組み合わせを見つけるのに永遠に時間がかかります。

私の推測では、理論ではなく、実際にこれを実行できるかどうかを尋ねていました。そして答えはノーです。これには、世界には十分な計算能力がありません。security.stackexchange.comで質問した場合、アルゴリズムと数学に詳しい人は、これにかかる時間(おそらく太陽が転移して地球が沸騰するまで)を教えてくれるでしょう。私の短い答えは「あなたの生涯内ではない」です


0

おそらく、それは役立つかもしれませんが、あなたを遠くに連れて行くべきではありません。セキュリティフォームはおそらくこれに適した場所ですが、

暗号化には複数のステップが必要です。まともな場合でも、シード、ハッシュ、ソルトが必要です。

たとえば、ソルトを使用してすべてのパスワードを64ビット長にしてから、それをハッシュで実行することができます。ハッシュだけの場合は、非常に簡単に解読できます。

これは非常にシンプルなバージョンですが、それほど簡単ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.