2

私は現在、公開鍵と個人ファイルの暗号化の両方を試しています。私が使用するプログラムには、それぞれ 2048 ビットの RSA と 256 ビットの AES レベルの暗号化があります。このようなことの初心者として (私は約 1 か月間サイファーパンクであり、情報システムには少し慣れていません) RSA アルゴリズムに精通していませんが、ここでは関係ありません。

秘密の研究所や NSA のプログラムがたまたま量子コンピューターを持っていない限り、これらのプログラムが提供するセキュリティ レベルをブルート フォース ハッキングすることは現在のところ不可能であることはわかっていますが、ファイルを暗号化して暗号化することで、どれだけ安全になるのか疑問に思っていました。もう一度。

一言で言えば、私が知りたいのはこれです:

  1. 256 ビット AES を使用してファイルを暗号化し、既に暗号化されたファイルを (再び 256 を使用して) もう一度暗号化すると、512 ビット AES セキュリティと同等になりますか? これは、ブルート フォース メソッドが潜在的にテストしなければならない可能性のあるキーの数が、2 x 2 の 256 乗または 2 の 256乗の 2 乗になるかどうかという問題です。悲観的に言えば前者だと思いますが、256-AES で 2 回暗号化するだけで本当に 512-AES が実現できるのでしょうか?
  2. ファイルが何度も暗号化されると、暗号化の各レベルで異なるキーを使用したり、パスワードを入力したりしなければならなくなります。おそらく、複数の異なるパスワードを必要とするファイルを数回暗号化した場合、クラッカーは暗号化の最初のレベルを突破したかどうかを知る方法がないのではないかと考えていました。ファイル。

次に例を示します。

  • 復号化されたファイル
  • DKE$jptid UiWe
  • oxfialehv u%uk

最後のシーケンスがクラッカーが操作しなければならなかったものであると少し考えてみてください。ブルートフォースで元のファイルに戻るには、(次のレベルの暗号化をクラックする前に) 得なければならない結果が引き続き表示されます。第 1 レベルの暗号化を突破すると、まったく役に立たないファイル (2 行目) になります。これは、ブルート フォースを使用しようとする人は、おそらく暗号化されたファイルしか表示されないため、元のファイルに戻る方法がないということですか?

これらは基本的に、同じことを扱う 2 つの質問です。つまり、同じファイルを何度も何度も暗号化することの影響です。私は Web を検索して、暗号化の繰り返しがファイルの安全性にどのような影響を与えるかを調べましたが、最初の質問に対する答えが「いいえ」であるという逸話をどこかで読んだことを除けば、同じトピックに関する 2 番目のスピンに関連するものは何も見つかりませんでした。 . 私は特に最後の質問に興味があります。

**仮に、彼らがどうにかして脆弱なパスワードを強引に突破したと仮定すると、安全なパスワードを作成する方法を知っていれば、これは現在 256-AES で技術的に可能であるように思われるためです...

4

3 に答える 3

1

一般に、k ビット AES でファイルを暗号化し、次に k ビット AES で暗号化すると、中間者攻撃では 2k ビットのセキュリティではなく、(k+1) ビットのセキュリティしか得られません。 . 同じことが、DES などのほとんどの種類の暗号化にも当てはまります。(この理由から、トリプル DES は単純に 3 ラウンドの暗号化ではないことに注意してください。)

さらに、方法 A でファイルを暗号化し、次に方法 B でファイルを暗号化することは、方法 B のみで暗号化する場合ほど強力である必要はありません! (ただし、方法 A に深刻な欠陥がない限り、これはめったにありません。) 対照的に、少なくとも方法 A と同じくらい強力であることが保証されています。 (この定理の名前を覚えている人は、コメントを残すことをお勧めします。I'忘れました。)

通常は、できるだけ強力な 1 つの方法を選択する方がはるかに優れています。


2 番目の質問: はい、ほとんどの方法で、攻撃者は最初のレイヤーが侵害されたことを知ることができます。

于 2010-10-05T03:46:18.247 に答える
0

ここでさらに意見を...

まず、コンピューターがたとえば AES-256 に対してブルート フォース攻撃を行うのに十分なほど強力な場合、それは同じことの繰り返しにもなります... そのレベルでは、時間や労力を 2 倍または 3 倍にすることは重要ではありません。

次に、この暗号化を使用しようとしているアプリケーションによっては、そのような考慮事項が無効になる可能性があります...持ち運ぶ必要がある「秘密」は大きくなります(実際に必要な場合、反復の数とすべての異なるキー異なる)、暗号化と復号化を実行する時間も増やす必要があります。

My hunch is that iterating the encryption does not help much. Either the algorithm is strong enough to sustain a brute-force attach or it is not. The rest is all in the protection of the keys.

More practically, do you think your house is more protected if you have three identical or similar locks on your front door ? (and that includes number of keys for you to carry around, don't loose those keys, make sure windows and back door are secured also...)

于 2010-10-05T03:46:51.723 に答える
0

質問 1: 解空間のサイズは、2^(256+256) = 2^512 なので、256 ビット キーと 512 ビット キーの 2 回のパスで同じになります。

各 decrypt() の実際の実行時間は、キーのサイズが大きくなるにつれて非線形に増加する可能性があります (アルゴリズムによって異なります)。それでも無理でしょう。

質問 2: 特定の暗号文を識別する方法はおそらくあります。多くのアルゴリズムが、識別に使用できる署名やアーティファクトを残していても驚かないでしょう。

于 2010-10-05T03:49:27.803 に答える