1024ビットのOpenPGP暗号化メールを解読するのにどのくらい時間がかかりますか?


9

WPAの場合、パスフレーズを解読するのに必要な時間を決定する計算機がありますが、OpenPGPには何も見つかりませんでした。

1024ビットのOpenPGP暗号化電子メールを解読するのにどのくらい時間がかかりますか(CPUパワーによって異なります)?

2048や4096などの他のキーサイジングにも興味があります。

回答:


7

@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ビット以上のセミプライム(したがって、それらに依存するアルゴリズム)を因数分解することはできません。


20

まず、RSAの1024ビット暗号化についてお話していると思います。

一般に、このトピックは単純な数値を提供するには複雑すぎます。

tl; dr:OpenPGPで暗号化されたメッセージを単一のCPUで解読することは現実的ではなく、大規模なコンピューティングクラスターでもおそらく数年かかります。しかし、量子コンピュータは将来(「インターネット時代」の観点から)将来的に変更される可能性があるため、(一般には)未知の数学的欠陥により、桁違いにこれが変わる可能性があります。

少し長いバージョン:

非対称暗号化の解読(RSA 1024ビットキー)

RSA 1024ビットキーに加えて、これはより大きなキーサイズにも適用されます。キーが大きいほどセキュリティは向上しますが(キーをクラックする計算能力の形で)、セキュリティはキーのサイズに比例して増加しないことに注意してください。

Information Security Stack Exchangeには、「RSA暗号化を解読するのに必要な時間を見積もる方法はありますか?」という素晴らしい投稿があります。、「Core i7モデルxyを使用すると、推定z時間でRSA 1024ビットキーをクラックすることができます」などの推定値では完了しませんが、答えは「RSA 1024ビットキーは個人がクラックできない」に同意します。妥当な時間内に通常利用可能なコンピューティングパワー(つまり、少数のハイエンドマシン)で。

計算能力がはるかに高い1024ビットキーの解読についての議論は、学術的な観点からのみ考慮されました。

私は最近、1024ビットの数値因数分解のパラメーターの選択が始まったことを知りました(それが「頭の悪い」部分です)。ふるい分けは技術的には実行可能ですが(高価で、多くの大学クラスターで何年もの計算時間を必要とします)、現時点では、1024ビット整数の線形縮小部分を実行する方法を誰も知りません。したがって、すぐに1024ビットの中断が発生することを期待しないでください。

これは恐らく、NSAのような多くの計算能力を持つ大規模で資金のある機関にも当てはまります。

物事は急速に変化する可能性があります

  • 誰かが数学的欠陥を発見し、RSAの複雑さを桁違いに減少させた(NSAのような一部の機関は膨大な数の優れた数学者を採用している)、または
  • 量子コンピュータは最終的に機能し、十分に強力になり、特定のアルゴリズムを実行できるようになります。今後数年以内に発生するとは予想されていません。

DSA / ElGamalの場合、状況は少し異なります。RSA鍵と同じサイズのDSA鍵はより高いセキュリティを提供しますが、同時にDSAは不正な乱数に対してより脆弱です(Debian乱数ジェネレーターの欠陥と比較してください)。現在OpenPGPに近づ​​いている楕円曲線暗号は、サポートされているアルゴリズムに対する既知の攻撃がまだなく、一般に安全であると考えられていますが、特にNIST推奨曲線には疑いが残っています(NISTは、壊れたランダムを作成することでかなりの評判を失っています数値ジェネレーター標準)、およびいくつかの実装ニッチ。

対称暗号化のクラッキング

パフォーマンス上の理由から、OpenPGPはハイブリッド暗号化を使用するため、メッセージは対称暗号化とランダム対称鍵(OpenPGPでは「セッション鍵」と呼ばれることが多い)で暗号化されます。このセッションキーは、非対称暗号化アルゴリズムを使用して再び暗号化されます。RSA。

メッセージの対称暗号化キーを解読できる場合は、メッセージを読み取ることもできます(このキーで暗号化されたすべてのメッセージを読み取ることができる非対称キーを解読するのとは異なります)。

異なり非常に早い PGPのバージョン(ツィンマーマン自身が設計した対称暗号化アルゴリズムを使用すると呼ばれるBassOmatic、壊れたと考えられている)のOpenPGPに定義されたすべての対称アルゴリズムは、関連する既知の攻撃を持っていません。

誰かが使用しないことを選択した場合を除き一切対称暗号化アルゴリズムを使用してメッセージを破り、(実際に可能!)と対称暗号化を当面の実現可能と考えるべきではありません。


私は尋ねなければなりません...「非対称」のスペルミスは意図的ですか?
David Z

いいえ、もちろん違います。どちらも「転勤」ではなかった。お知らせいただきありがとうございます。
Jens Erat、2015

「RSA鍵と同じサイズのDES鍵」というようなものはありません。DESは56ビットの鍵、ピリオドを使用します。56ビットのキーでのみ定義されます。他の鍵サイズでDESを実行することはできません。また、DESはアルゴリズムのどの時点でも乱数を使用しないため(また、他のブロック暗号プリミティブも使用しないため)、不正な乱数に対して脆弱ではありません。特定の用途にはランダムな側面が含まれる場合があります(たとえば、CBCモードのIVはランダムである必要があります)が、DES自体は完全に確定的です。DESも使用されなくなりました(トリプルDESが使用されることもありますが、DES自体は使用されません)。DESの話をするつもりですか?
cpast 2015

もちろんしたくありませんでした。DESとDSAの混同は発生しません。DES、PGP、RSA、NSA、DSA:3文字以下の頭字語が必要です!
Jens Erat 2015

(ssl / tlsキーとは異なり)ほとんどの1024ビットopenpgpキーはDSAであり、RSAではありません。オンラインで1024ビットRSAのクラッキングについての議論がたくさんありますが、1024ビットDSAのクラッキングについてはほとんどわかりません。
プラグウォッシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.