-2

誰かがこのアルゴリズムが安全かどうかを説明できますか? それを壊す攻撃はありますか?このアルゴリズムは一般的な XOR 暗号化を使用しますが、いくつかの違いがあります。

M(1) = key XOR Message(1)
M(2) = h(key) XOR Message(2)
M(3) = h(h(key)) XOR Message(3)
など

ノート:

  1. M(i) は暗号化されたテキスト
  2. Message(i) は暗号化するメッセージです
  3. key と Message(i) の長さは同じ**
  4. 攻撃者は暗号化されたテキストを持っているだけで、キー作成スキーム (ハッシュを継続) と XOR 暗号を知っています。
  5. ハッシュ アルゴリズムは SHA-512 です
4

2 に答える 2

3

攻撃者が平文と暗号文のペアを知った場合、対応するキーを計算できます。そしてそれから彼はそれ以降のすべてのキーを計算することができます。つまり、既知の平文攻撃に対しては些細な脆弱性があります。

攻撃者がメッセージを推測すると言っても、推測が正しいと確信しているわけではないことに注意してください。彼は数兆の推測をするかもしれません、そしてそれらの1つが正しければ、あなたの計画全体は壊れています。

そしてもちろん、キーを再利用してはいけません。


より安全な(ただし2倍遅い)アルゴリズムは次のようになります。

Key(i+1) = h("A"+key)
M(i) = h("B"+key) XOR Message(i)

または、CTRモードと同様の構造:

M(i) =  h(i+key) XOR Message(i)

しかし、私はまだどちらも使用しません。


しかし、そのような自作アルゴリズムを使用する理由はありません。うまく機能する既存のアルゴリズムはたくさんあります。たとえば、ストリーム暗号設計が好きな場合は、CTRモードでAESを使用できます。

于 2012-02-16T22:37:40.720 に答える