回答:
@Jens Eratの答えはかなり包括的でしたが、RSA(OpenPGPの背後にあるアルゴリズム)の破壊について調査したので、意見を述べたかったのです。
私は規範を破って、最初にTL; DRを与えます。そのキーを破ることは不可能です。これを現実的に見ている場合、1024ビット整数を因数分解する方法はありません。最善の策は、セキュリティチェーンの他の部分(受信者がメールをチェックするデスクトップなど)を壊そうとすることです。
リアリズムが邪魔にならないように、可能な戦略を考えてみましょう。
ブラインド推測/ブルートフォーシング。1024ビットのセミプライムでは、これが機能する可能性はほとんどありません。宝くじの番号をランダムに推測しようとする時間をより有効に活用することです。
レインボーテーブルの生成。2 ^ 1024未満のすべての素数を取り、それを1つおきの素数で乗算して、結果をテーブルに格納することにより、推測の因数分解を行います。次に、正しいペアを検索するだけです。ご想像のとおり、これも不可能です。これにはxが関係します!x個の素数のペア。素数カウント関数により、約2.95 * 10 ^ 307の素数を見ています。比較のために、観測可能な宇宙の原子の数は10 ^ 83の大きさであると推定されているため、すべてのアトムに2つの素数とその積を格納し、コンピューターがインデックス付けできるようにすることは不可能です。
General Number Field Sieveを使用します。GNFSは、大きなセミプライムを因数分解するための最善の方法です。クラインジョンと彼のチームは、768ビットのセミプライムであるRSA-768を因数分解するために使用しました。残念ながら、それを達成するには彼のチームが3年以上かかり、ファクタリングしたい数よりも桁違いに小さくなっています。1日あたり数百万ドルを費やして最高のスーパーコンピューターをフル稼働させたとしても、その数を計算することはほぼ不可能です。GNFSの最初のステップは、副問題を解決できる十分な「関係」を見つけることです。これには非常に長い時間がかかる場合があります。
最後の手段は、量子コンピュータを使用することです。これにより、実行可能な時間で数値を因数分解できます。残念ながら、これらはまだ実用化されていない段階です。したがって、現時点では、1024ビット以上のセミプライム(したがって、それらに依存するアルゴリズム)を因数分解することはできません。
まず、RSAの1024ビット暗号化についてお話していると思います。
一般に、このトピックは単純な数値を提供するには複雑すぎます。
tl; dr:OpenPGPで暗号化されたメッセージを単一のCPUで解読することは現実的ではなく、大規模なコンピューティングクラスターでもおそらく数年かかります。しかし、量子コンピュータは将来(「インターネット時代」の観点から)将来的に変更される可能性があるため、(一般には)未知の数学的欠陥により、桁違いにこれが変わる可能性があります。
少し長いバージョン:
RSA 1024ビットキーに加えて、これはより大きなキーサイズにも適用されます。キーが大きいほどセキュリティは向上しますが(キーをクラックする計算能力の形で)、セキュリティはキーのサイズに比例して増加しないことに注意してください。
Information Security Stack Exchangeには、「RSA暗号化を解読するのに必要な時間を見積もる方法はありますか?」という素晴らしい投稿があります。、「Core i7モデルxyを使用すると、推定z時間でRSA 1024ビットキーをクラックすることができます」などの推定値では完了しませんが、答えは「RSA 1024ビットキーは個人がクラックできない」に同意します。妥当な時間内に通常利用可能なコンピューティングパワー(つまり、少数のハイエンドマシン)で。
計算能力がはるかに高い1024ビットキーの解読についての議論は、学術的な観点からのみ考慮されました。
私は最近、1024ビットの数値因数分解のパラメーターの選択が始まったことを知りました(それが「頭の悪い」部分です)。ふるい分けは技術的には実行可能ですが(高価で、多くの大学クラスターで何年もの計算時間を必要とします)、現時点では、1024ビット整数の線形縮小部分を実行する方法を誰も知りません。したがって、すぐに1024ビットの中断が発生することを期待しないでください。
これは恐らく、NSAのような多くの計算能力を持つ大規模で資金のある機関にも当てはまります。
物事は急速に変化する可能性があります
DSA / ElGamalの場合、状況は少し異なります。RSA鍵と同じサイズのDSA鍵はより高いセキュリティを提供しますが、同時にDSAは不正な乱数に対してより脆弱です(Debian乱数ジェネレーターの欠陥と比較してください)。現在OpenPGPに近づいている楕円曲線暗号は、サポートされているアルゴリズムに対する既知の攻撃がまだなく、一般に安全であると考えられていますが、特にNIST推奨曲線には疑いが残っています(NISTは、壊れたランダムを作成することでかなりの評判を失っています数値ジェネレーター標準)、およびいくつかの実装ニッチ。
パフォーマンス上の理由から、OpenPGPはハイブリッド暗号化を使用するため、メッセージは対称暗号化とランダム対称鍵(OpenPGPでは「セッション鍵」と呼ばれることが多い)で暗号化されます。このセッションキーは、非対称暗号化アルゴリズムを使用して再び暗号化されます。RSA。
メッセージの対称暗号化キーを解読できる場合は、メッセージを読み取ることもできます(このキーで暗号化されたすべてのメッセージを読み取ることができる非対称キーを解読するのとは異なります)。
異なり非常に早い PGPのバージョン(ツィンマーマン自身が設計した対称暗号化アルゴリズムを使用すると呼ばれるBassOmatic、壊れたと考えられている)のOpenPGPに定義されたすべての対称アルゴリズムは、関連する既知の攻撃を持っていません。
誰かが使用しないことを選択した場合を除き一切対称暗号化アルゴリズムを使用してメッセージを破り、(実際に可能!)と対称暗号化を当面の実現可能と考えるべきではありません。