Arch Linux wiki のシステム暗号化に関する記事を読んでいます。例では、作成者が512ビットのキーを指定しました。私がウィキペディアで暗号化暗号に関して読んだことから、それは十分に安全ではないようです。それは私に質問につながります:可能な限り最強のキーサイズは何ですか?
RSAに関する上記の回答についてコメントするのに十分な評判はありませんが、質問の文脈ではどちらも間違っているため、将来この質問を読むすべての人にとって、次のようになります。
LUKSは対称暗号を使用します(暗号化と復号化は同じキーを使用します)。 RSAは非対称暗号システムであり、暗号化にキーを使用し、復号化に別のキーを使用します。これを可能にするために、それはきちんとした数学を使用しています。そのセキュリティは、大きな数を因数分解することの難しさに基づいています。これが、RSAのキーサイズが数千ビットでなければならない理由です(そうでない場合、関係する数は十分に大きくなく、攻撃者に十分なリソースがある場合、許容可能な時間を考慮に入れることができます)。
LUKSのような対称暗号システムでは、暗号化を破るために因数分解できる数にキーが関連付けられていないため、同じ大きなキーサイズは必要ありません。したがって、キーサイズがはるかに小さくても安全であると見なされます。現在、128ビットは安全と見なされています。対称暗号の標準アルゴリズムであるAESは、偏執的な場合に備えて256ビットもサポートします。
2かかりますn 対称暗号のキースペースを徹底的に検索しようとします。ここで、n
はビット単位のキーの長さです。
関係するスケールのアイデアを与えるために:毎秒1000万のキーをテストできる1000万台のコンピューターがある場合でも、すべてのキーで次のキーサイズを検索するには、宇宙の現在の年齢の数千倍かかります。 128ビット。
これは、攻撃者が誰であっても、ブルートフォース攻撃から安全であることを意味します。ブルート-対称鍵を強制することは、進むべき道ではありません。 AESなどの高品質の暗号を使用する場合、暗号の弱点を攻撃することさえ困難ですが、NSAには、他の世界にはない洞察があるかもしれません。しかし、率直に言って、パスフレーズをあきらめるまで 大きな棒で頭を殴る の方がはるかに簡単です。
strongest possible key
はありません。
長さn
のキーごとに、いつでも1ビットを追加して強度を高めることができます。
RSAアルゴリズム セクション「RSAの弱点」、および RSAのクラッキング および RSA:ハッキングとクラッキング を参照してください。RSA自体に弱点があります。
とはいえ、暗号化を解読するために使用されている方法がブルートフォースのみである場合、可能な限り強力なキーサイズは、メッセージを復号化しようとしているハッカーが利用できるよりも多くの計算能力、またはより多くの時間を必要とするものです。彼が喜んで使うよりも。
最近、200の長さのRSAキーが50年のコンピューター時間で考慮され、307の長さのRSAキーが100年のコンピューター時間で考慮されました。 128ビットでも数年のコンピューター時間がかかると思います。
1024ビットはほとんどの犯罪リングに対する証拠かもしれませんが、おそらく512ビット、さらには128ビットです。 1024ビットの方が確実ですが、米国国家安全保障局の計算能力を備えた機関があなたに対して使用されることを期待していますか?
身を守るために近所のスクリプトキディだけをしようとしているのであれば、128ビットで十分です。銀行取引を保護しようとしている場合、ハッカーはRSAを復号化するために時間を無駄にすることはなく、トロイの木馬をインストールするように騙そうとします。
Pascalは、ビットサイズと、対称暗号化と非対称暗号化の違いについて優れた説明をしています。ただし、暗号など、考慮すべき追加の要素がいくつかあります。 CBCとXTSの違いは、 このスタックスレッドで詳しく説明されています。 XTS暗号は、キーサイズを半分に削減します。 AES-128が必要な場合は、キーサイズを256に設定する必要があります。AES256の場合、ビットサイズは512になります。
cryptsetup luksFormat --type luks2 --cipher aes-xts-plain64 --key-size 512 --hash sha256 -use-random /dev/sda5
ちなみに、選択するエントロピーソースは、暗号化キーの生成にも重要です。秘密鍵の有効期間が長い場合は、/ dev/randomの方が/ dev/urandomよりも優れている可能性があります。 urandomのマニュアルページによると:
/ dev/randomと/ dev/urandomのどちらを使用すべきかわからない場合は、おそらく後者を使用することをお勧めします。原則として、/ dev/urandomは、長期間有効なGPG/SSL/SSHキーを除くすべてに使用する必要があります。
出発点の一部として、使用する予定のシステムで暗号化タイプのパフォーマンスを測定することは、実行可能な決定に役立つ場合があります。
cryptsetup benchmark