敵があなたの秘密のgpgキーを持っているかどうか疑問に思っていましたnotパスワード/フレーズ、キーのみではなくパスワードのみを使用する暗号化と比較して、暗号化されたファイルをクラックするのはどのくらい簡単/困難ですか? (パスワードが同じであると仮定します)。
危険にさらされたキーファイルは、キーファイルを使用しない暗号化よりも暗号化の解読を容易にしますか、それとも同等ですか?
たとえば、秘密鍵が盗まれたgpg暗号化ファイルや、AEScryptで暗号化されたファイルなどです。
パスワードでロックされているGPG秘密鍵がある場合、鍵を「クラッキング」すると、パスワードを推測することになります。これに答える簡単な方程式があります。難しいのは、2つの未知数があることです。パスワードのエントロピーのビット数と、攻撃者が1秒あたりに推測できる数です。
例:96の印刷可能なASCII文字があります。ログ2(96)は約6.6です。 8文字ASCIIパスワードが与えられ、本当にランダムに生成された場合、6.6x8 = 52.8ビットのエントロピーになります。攻撃者が10億(230)1秒あたりの推測、約222.8 すべての組み合わせを試すために秒または約84日。攻撃者は半分ほど「ヒット」することを期待しているため、クラックの平均時間は約42日になります。
代わりに、パスワードが上位10,000の1つである(そしてクラッカーがリストを持っている!)場合、約13.3ビットのエントロピーがあり、クラッキングは1秒未満で成功します。
最後に、6ワードのパスフレーズでDicewareを使用したとします。 66ビットのエントロピーが得られ、クラッキングには約2時間がかかります。35 秒、または千年以上。
1秒あたりの推測値を他の値として計算を繰り返すことができます。
これから収集する重要なことが2つあります。まず、秘密キーがパスワードでロックされていて、攻撃者がロックされた秘密キーにアクセスできる場合、クラッキングはパスワードに関するものであり、GPGや公開キー暗号についての問題ではありません。第2に、パスワードにエントロピーを少しでも追加すると、ブルートフォースによってパスワードを解読する時間が約2倍になります。
パスワードから派生したAESキーの場合、計算は同じです。ただし、AESキーはパスワードから派生する必要はありません。ランダムに生成できます。 128ビットAESの場合、ブルートフォース攻撃者は2128-30-1 = 297 秒。それは約5,000,000,000,000,000,000,000年です。
秘密鍵がキーファイルではなくパスワードで保護されている場合は、秘密鍵をクラックする方が速くなります。キーファイルにはパスワードより多くの文字が含まれている可能性が高いため、ブルートフォース攻撃で鍵ファイルを生成するには、より多くの計算が必要になります。攻撃者がパスワードで保護された秘密キーを持っている場合、暗号化を解読する方が簡単です。彼はパスワードを解読する必要があるだけなので。彼が保護された秘密鍵を持っていなかった場合、例えば彼は生成する必要があります。 1024ビットの秘密鍵は、パスワードの総当たりよりも時間がかかります。