データを暗号化して、解読するのに一定の 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% の最大変動を与えるラウンド数を計算する式も必要です。
私はそこに同様のアルゴリズムが存在するに違いないと思います。