web-dev-qa-db-ja.com

フィールドプログラマブルゲートアレイ(FPGA)とグラフィックスプロセッシングユニット(GPU)との比較。ハッシュをクラックするために?

原則として、ハッシュをクラックするために、リストの反復やセットの順列の生成(つまり、辞書とキーセットの枯渇)の生成など、非常に反復的なタスクを実行する場合、GPUはCPUよりも効果的です。

もちろん、すべてのCPUとGPUが同じというわけではありません。特定のCPUがそのような目的のために特定のGPUよりも優れている可能性がありますが、それは一般的には当てはまりません。

では、フィールドプログラマブルゲートアレイ(FPGA)についてはどうでしょうか。一般的に言えば、GPUよりもハッシュのクラックに適していますか?


参照: なぜGPUはパスワードの解読に優れているのですか?

2
voices

FPGAとは正確には何ですか?

FPGAはGPUのようなものではありません。 GPUは設計済みのプロセッサで、すべての回路がすでに組み込まれています。あなたがしなければならないのは、それを接続して、ソフトウェアに interface をさせることだけです。一方、FPGAは完全に異なる動物です。それらは「白紙の状態」のプロセッサーです。 FPGAを購入するだけでなく、FPGAを設計する必要があります。どのトランジスタが何をするのか、どのように接続するのかなどを決定します。すべての部品に仕事があるので効率的ですが、電子工学と集積回路の設計を深く理解している必要があります。

リンクした質問 パスワードクラッキングでGPUが非常に優れている理由を説明すると、GPUには多数の同一のコアがあることを示しています同じアルゴリズムを並行して実行できます。コアが内部でどのように機能するかは、コアを使用するために知る必要がない(そしておそらく法的に知ることができない)ものです。ただし、FPGAの場合、そのようなユニットはありません。 You各コアを作成して設計します。 あなたは個々の論理ゲートを設定しました。基本的に、youは、トランジスタを含む実際の物理ハードウェアにすぎないFPGAを使用して、チップを設計します。それらの開発は難しい場合があります。

ハッシュクラッキングの方が速いのはどれですか。

同じ価格で、ハイエンドGPUはハッシュを処理する際にFPGAよりも高速である可能性がありますが、FPGAは同じ数のハッシュを処理するためにより少ない電力を使用する可能性があります。 FPGAにはいくつかの異なる種類があることに注意することが重要です。 FPGAの「変換」には、FPGAから [〜#〜] asic [〜#〜] を作成する [〜#〜] hdl [〜#〜] が含まれます。これはしばしば非常に高価であり、大量に購入した場合にのみ行われますが、通常のFPGAよりも少し速くなる傾向があります( 明らかに 約30%速くなります)、そして はるかに簡単です 、ASICの設計よりも安価です。真のASICはもちろん、どちらよりもはるかに効率的です。ASICの設計は、FPGAのプログラミングよりもさらに困難であり、低レベルの集積回路設計全体として、ASICは効率的で高速ですが、コストがかかり、設計が困難です。

どっちがいい?

特定の価格で最高のMHash/sが必要な場合、または複数のアルゴリズムをサポートする柔軟性が必要な場合は、GPUを入手してください。可能な限り高いMHash/J( joule 、エネルギー単位)が必要な場合は、FPGAを入手してください。速度と効率の両方が必要で、価格を気にしない場合は、ASICを設計します。

パスワードクラッキングが初めてで、効率的なクラッキングリグを構築したい場合は、いくつかの高速GPUを入手してください。 FPGAとASICは通常、カスタムソリューションが必要なときに、予算が大きい(ただし厳格な)予算を持つ開発者チームのある会社で使用されます。ほとんどのパスワードクラッキングニーズでは、GPUは競合速度のためだけでなく、一般的なハッシュクラッキングソフトウェア Hashcat がGPUを高速化に使用するように設計されているため、うまく機能します。 FPGAやASICにはそのようなものは存在しないため、すべて自分で設計する必要があります。

Electronics Stack Exchangeの excellent post は、FPGA、ASIC、および汎用マイクロコントローラー(GPUが最も類似している)の違いを、エレクトロニクス設計の観点からではなく、エレクトロニクス設計の観点から詳しく説明していますハッシュクラッキングの視点。

3
forest