web-dev-qa-db-ja.com

DESキーはランダムである必要がありますか?

ストリーム暗号 (つまり [〜#〜] otp [〜#〜] )。プレーンテキストがXoredされるパッドは、達成するためにランダムである必要があります 完全な秘密 、または保証するために疑似ランダムである必要があります セマンティックセキュリティ

これはDESまたはブロック暗号一般に適用されますか?

DESキーのランダム性はセキュリティに影響しますか?

2
HSN

さて、あなたが普通の古い単一のDESをしているなら、それは問題ではありません-56ビットDESキーは簡単にブルートフォースされる可能性があります。 EFF DESクラッカー は、1999年に56ビットDESキーを1日以内に解読する可能性があります。

一般に、キーをブルートフォースするときにショートカットがないため、対称暗号化(ブロック暗号)には完全にランダムなキーを使用するのが最善です。

実際には、強力なパスワードを使用する場合、強力なユーザー選択パスワードから疑似ランダムキーを構築する key-derivation-function によって生成されたキーを使用することは完全に強力な場合があります。ただし、疑似ランダム派生キーのエントロピーは、パスワードの複雑さにかかっています。パスワードがパスワードの一般的なリストに含まれている場合、または固有の複雑さが低い場合、熟練した攻撃者がキーをすばやく回復できます。

したがって、100ビットのセキュリティが必要な場合は、約100ビットのエントロピーを持つパスワードを選択する必要があります。たとえば、A-Z、a-z、0-9の17個のランダムな文字。または、すべての印刷可能なASCIIから15のランダムな文字、または5000ワードの辞書から選択された約8つのランダムな単語。また、100ビットのパスワードを使用するAES-128を使用すると、セキュリティが2から弱まります。128 2に100

4
dr jimbob

ランダム性は実際には:攻撃者が知らないことです。したがって、暗号化キーはまさに多くのランダム性が必要なものです。

私たちは通常、次のモデルでエントロピーについて話します。

  • キーは、計算(コード)とランダム入力(物理要素から収集)を含むプロセスで生成されます。
  • 攻撃者は計算について完全な知識を持っているはずですが、ランダムな入力については知っていません。
  • 攻撃者は、最も可能性の高いものから順に、可能なキーを最適な順序で試行することにより、キーを回復しようとします。

攻撃者が平均して2の後に正しいものをヒットする場合、キーにはnビットのエントロピーがあると言います。n-1 試みます。 nビットキー(すべてのキービットが均一かつ独立してランダムである)は、正確にnビットのエントロピーを達成することに注意してください。表記のポイントです。

結果nビットのキーにnビットを超えるエントロピーを含めることはできません(したがって、DESキーは決して56ビットのエントロピーより強くなることはありません。@ drJimbobが指摘しているように、これは低すぎて快適ではありません);たとえば、キー生成プロセスがランダムな32ビット整数を取得し、それをSHA-1でハッシュし、出力の最初の56ビットを保持することである場合、エントロピーは32ビット以下になります。 (攻撃者は、考えられるすべての32ビット値を試し、それぞれをハッシュする可能性があります。これにより、最大2の平均コストで適切なキーがヒットします。31)。

一般に、nビットキー(AESの場合はn= 128など)を使用する対称暗号化システムを使用し、あなたのお金の価値、すなわちn-ビットエントロピー。これが、128ビットキーを使用する理由です。地球ベースのすべての攻撃者を打ち負かすのに十分なエントロピーのためのスペースを確保するためです。キーのソースが任意に拡張できないデータであるため、エントロピーを少なくすることを受け入れる場合があります。特に、キーがパスワードから派生している場合はそうです。人間の心は高エントロピーのパスワードを覚えるのが苦手なので、パスワードは高エントロピーを達成できません(そして、ランダムなパスワードの生成が非常に苦手です)。

決定論的鍵導出関数を使用してデータ要素を処理する場合、攻撃モデルの定義により、攻撃者が同じ決定論的鍵導出関数を実行する可能性があるため、エントロピーを増やすことはありません。ただし、不注意に行うと、エントロピーを低くすることができます。暗号的に強力なKDFは、エントロピーをキーサイズによって示される制限より低くすることはありません(56ビットキーに56ビットを超えるエントロピーを含めることはできません)。

3
Thomas Pornin