2012-02-16 11 views
-2

誰かがこのアルゴリズムを安全かどうか説明できますか?それを打破するための攻撃はありますか?このアルゴリズムは、一般的なXOR暗号化を使用するが、いくつかの違いがあります(2)
M(3)= HこのXOR暗号は安全ですか?

M(1)=鍵XORメッセージ(1)
M(2)= hの(キー)XORメッセージを(H(キー))XORメッセージ(3)
ので

ノートに:

  1. M(i)は、テキスト
  2. メッセージ(i)は、我々は暗号化ししようとしているメッセージで暗号化されそれは
  3. キーとメッセージ(I)と同じ長さを持つ**
  4. 攻撃者は、単にハッシュアルゴリズムは、場合SHA-512
+0

また、http://security.stackexchange.com/ – Mchl

+2

にお尋ねください。security.SEまたはcrypto.SEにクロスポストしないでください。移行のためにフラグを立てましたが、代わりに閉じても驚かないでしょう。 – CodesInChaos

+2

あなたはなぜあなた自身の暗号を発明しますか?既存のストリーム暗号はたくさんあります。あなた自身の悪いものを発明する理由はありません。 – CodesInChaos

答えて

2

暗号化アルゴリズムの学習は楽しいことです。あなたがプレーしていることを覚えておいてください。あなたの個人的な日記(または多分パスワード)のようなものを暗号化し、データを安全に保つだけであれば、おそらく大丈夫でしょう。このような種類のセキュリティは、あいまいさによるセキュリティです。私は本当にの秘密を保持する必要がある大量のデータを暗号化することはお勧めしません。あなたのメッセージは、キーのサイズとハッシュブロックサイズより短く、キーは一回の使用とランダムであれば、この場合には


は、あなたが効果的に1-使用パッドのうねりで非常にすべてのものを使用しています。あなたの乱数の鍵生成が完璧であれば、暗号化の仕組みは破壊されません。各ブロックをメッセージに追加すると、SHA-512を使用して特定の値を追加することなく、効果的に新しいキーを計算します。メッセージが印刷可能なテキストで構成されていると攻撃者が判断でき、メッセージの長さが長いか、またはキーが繰り返し使用される場合、元のキーを見つけるのは難しくありません。

計算する、より効果的であろう:

M(1)=h(N + key) XOR Message(1) 
M(2)=h(M(1)) XOR Message(2) 
M(3)=h(M(2)) XOR Message(3) 

(Nがクリアテキストで渡されたキーが使用された回数です。)

悪者ができる方法あなたのキーシーケンスを事前に計算し、できるだけ早くあなたのメッセージを解読してください。また、キーの塩漬けされたハッシュを使用することによって、攻撃者は次回使用されるキーシーケンスを予測することができなくなります。


私はどこかで読ん:暗号化の

  • 最初のルールはある
  • 二番目のルールがある
「暗号は専門家に任せるべきである。」「あなたは専門家ではありません。」

コンピュータサイエンスや数学などの博士号取得の理由があります。学び、発見することはたくさんあります。このようなものは私にとってはうまく見えますが、攻撃者がトラックを駆け抜けることができる大きな穴があることは間違いありません。

楽しい時間を過ごしてください。 /Bob Bryan

3

ある暗号化テキストを持っており、キーを作るスキーム(ハッシング続ける)とXOR暗号

  • を知っています攻撃者は平文 - 暗号文の対を知ることができ、対応する鍵を計算することができる。そして、それ以降のすべてのキーを計算することができます。つまり、既知のプレーンテキスト攻撃に対して脆弱です。

    攻撃者がメッセージを推測すると言っても、自分の推測が正しいとは限りません。彼は数兆の推測をするかもしれません。もしそれらのうちの1つが正しければ、あなたの全体計画は壊れてしまいます。

    もちろん、鍵を再使用してはいけません。


    より安全な(しかし、二倍遅いなど)のアルゴリズムは次のようになります。

    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を使用できます。

  • +0

    私はこの攻撃者が平文を得ることができないと確信しています。このメモでは、あなたの助言は何ですか? – oMiD

    +1

    @ oMiDだから、すべての単一のメッセージが高いエントロピーを持っていると確信していますか?それは私がしたいと思う賭けではない。特に、既知の平文攻撃に対して脆弱なスキームを使用する理由がないためです。 – CodesInChaos

    関連する問題