web-dev-qa-db-ja.com

ブルートフォース時間推定-ランダムシーケンス

選択できる可能性が2 ^ 1000あるかどうかを確認したいのですが、平均してどれくらいの時間がかかるでしょうか。 (分、時間、年単位)

注:これはパスワードに関連する必要はありませんが、ランダムなシーケンスを理解するために必要です

大まかな見積もりに使用できるメトリック/一般的な経験則はありますか?

「すべての組み合わせを実行するには、yコンピューターを使用してx年かかります」のようなもの

1
Creatoza

計算は簡単です。まず、コンピュータが1秒、1分、1時間に何回「試行」できるかを調べます。明らかに、それはコンピュータに依存します。たとえば、1秒あたり1000回の計算があるとします。

したがって、秒単位の時間= 2 ^ 1000/1000 = 1.071509e + 298

次に、その数を60で割ることで分単位で変換できます。

式は次のとおりです。timeInUnit= nbCombinations /(CombinationsPerUnit * nbComputers)

すべての組み合わせを試す時間は、組み合わせの数を、その時間単位でコンピューターが実行できる組み合わせの数で割った値を、再びコンピューターの数で割ったものです。

ただし、特定のシーケンスに到達するには、平均してその時間を2で割ることができます。実際のシナリオでは、すべての組み合わせを試す必要がないため、目的の組み合わせが得られたら停止します。平均して、可能性の半分を使い果たした後でヒットします。運が良ければ、最初の試みでヒットするか、すべての組み合わせを試さなければならない場合があります。

さて、特定の数のシーケンス、たとえば3をヒットするには、平均でどれくらいの時間がかかりますか?最大で3倍ではありません。多くの場合、すべての組み合わせを試すことで3にヒットすることが保証されます。しかし、それは半分以上の時間でなければなりません。まあ、それは楽しい確率の問題です。私はあなたにそれを理解させましょう。

3
Andy Chow

ブルートフォースまでの時間はブルートフォースされるデータの性質とデータが実行されているシステムの能力に完全に依存しているため、適用できる一般的な測定基準/経験則はないと思います。これらの2つの変数に値を与えることができなければ、それがかかる時間を見積もることはできません。

シナリオでxyを指定して、適切なg/s(1秒あたりの推測)値を計算し、そこから単純に時間を推定します。これを実行せず、特定のキースペースの検索に関する簡単な見積もりを取得する場合は、 GRCのインタラクティブブルートフォース「サーチスペース」計算機 にアクセスできます。定義されたキースペースを検索するために必要な時間の概算。

enter image description here

0
ilikebeets