2

データを暗号化して、解読するのに一定の CPU 時間かかるようにする (簡単な) 方法はありますか? たぶん、短い鍵の長さ、可変の一方向関数などを使用した一連の暗号化ですか?

おそらくあまり役​​に立ちませんが、この暗号化スキームはどのように呼び出され、そのためのツールはありますか?

編集:

ブルート フォース ブレーク タイムのさまざまな結果を取得するには、xor フィードバックを使用して多くのラウンドを使用するべきではありませんか?

私はこのアルゴリズムを思いついたばかりです(値とキーの長さが等しい対称ブロック暗号の場合)...おそらくそれは無意味です

ラウンド1

ゼロブロックを作る
ランダム ブロック 1 を作成する
encipher value:zero-block with key:random-block1 => lock-output-1 を与える

ラウンド2

ゼロブロックを作る
ランダムブロック 2 を作成する
encipher value:zero-block with key:random-block2 => temp を与える
xor temp with random-block-1 => lock-output-2 を与える

等々

ロック出力 2 でブルート フォーシングを開始する前に、ロック解除ルーチンがランダム ブロック 1 を見つける必要があるように、ランダム ブロック 1 を使用した xor 操作が存在します。

lock-output-1 + lock-output-2 .. lock-output-N は完全な lock-output になります。ロック解除ルーチンは、それぞれがすべてのロック出力ブロックでゼロを与える N 個の鍵ブロックを検出すると、N 個の鍵ブロックを全体として使用して実際のデータを解読できます。

次に、必要な CPU 時間に対して、たとえば 10% の最大変動を与えるラウンド数を計算する式も必要です。

私はそこに同様のアルゴリズムが存在するに違いないと思います。

4

6 に答える 6

1

Boneh と Naor によって定義されているように、この概念は時限コミットメントと呼ばれます。暗号化したいデータは、一方の当事者 (これを送信者と呼びます) によってコミットされ、別の当事者 (受信者) が調整可能なコストでデータを回復できるようにすると言われています。

Boneh と Naor によって説明された方法は、あなたが提案するものよりもかなり進んでいます。彼らの時限コミットメントスキームには、次の3つの特性があります。

  • 検証可能な回復:送信者は、受信者が実際に適切な値をコミットしたことを受信者に納得させることができます。受信者は、かなりの量の CPU 筋肉を適用することで回復できます。

  • 証明付きのリカバリ:リカバリが完了すると、効率的に検証できます: サードパーティは、リカバリされた値が実際にコミットされたものであることを検証したいと考えていますが、効率的に行うことができます (何時間もの CPU をそれに適用する必要はありません)。

  • 並列攻撃に対する耐性:リカバリ プロセスは、1,000 台の PC にアクセスしてもメリットがありません。

これらの特性により、時間制限のあるコミットメントは、状況によっては価値のあるツールになります。Boneh と Naor は主に契約の締結について話し合っていますが、誠実さを維持するオークションやその他のいくつかのアプリケーションについても話し合っています。

私は、Boneh と Naor による数学的記述を超えて、実際の実装や時限コミットメントの定義されたプロトコルさえも知りません。

于 2011-04-29T16:00:23.297 に答える
1

通常どおりに暗号化して、ブルート フォース攻撃がX CPU 時間かかるように、キーに関する十分な情報をリリースすることができます。

于 2011-04-29T13:59:56.960 に答える
1

いいえ、確実に行うことはできません。

  • 攻撃者は強力なコンピューター (コンピューティング クラウドなど) をレンタルし、それを使用して非常に高速な攻撃を行うことができます。
  • これまでのところ、コンピューターは時間の経過とともにどんどん速くなっていきます。昨日は 1 日かかっていたことが、2 年後には 1 分かかるかもしれません。
于 2011-04-29T14:02:15.490 に答える
0

それは相対的なものであり、コンピューターは計算能力に応じて高速に復号化され、暗号化するために選択されたアルゴリズムは保護したいデータに依存するため、通常のコンピューターでは優れた暗号化アルゴリズムを使用すると、平均的なコンピューターは復号化に時間がかかります。良いものには常に代償がありますが、暗号化する力があり、復号化にかかる時間が非常に短いため、楕円曲線暗号化をお勧めします。見てみることができます。

それは私がそれについて言えることです.-

于 2011-04-29T14:52:34.947 に答える
0

暗号化アルゴリズムは、ブルート フォース攻撃 (平均) よりも速くパスワードを取得する方法を誰かが発見した場合に、クラックされたと見なされます。

これは MD5 などの一部のアルゴリズムに当てはまるため、(まだ) クラックされていないアルゴリズムを 1 つ選択してください。

他のアルゴリズムについては、クラックされていなくても、ブルート フォース攻撃に対して脆弱です...しばらく時間がかかる場合がありますが、暗号化されたものはすべて復号化される可能性があります...時間とリソースの問題です.

ある男が世界中で巨大なゾンビ コンピューター ファームを運営している場合、ラップトップが 1 台の男にとっては数年かかるものをクラックするのに数時間かかる場合があります。

最大限のセキュリティが必要な場合は、いくつかの既存の暗号化アルゴリズムと独自のカスタム アルゴリズムを組み合わせることができます。誰かがあなたのデータをクラックしようとする可能性はありますが、国家の極秘データを扱っていない限り、おそらく追加されることはありません。

于 2011-04-29T14:31:11.960 に答える
0

まあ、あらゆる種類の復号化の CPU 時間を知るために、暗号化がどのように行われるかは問題ではありません。代わりに、確認する必要があります

  • デクリプターが使用する復号化アルゴリズム (おそらく、これまで発明されていないもの?)
  • そのアルゴリズムのどの実装を使用するか
  • どの CPU/ハードウェアを使用するか。

これらの 3 つのパラメーターのそれぞれによって、少なくとも 1000 倍以上の速度の違いが生じる可能性があります。

于 2011-04-29T14:02:08.363 に答える