2

は、それは述べて:UMAC(ユニバーサルメッセージ認証コード)アルゴリズムでハッシュした後、セキュリティに必要な暗号化が必要な理由は何ですか? UMAC、<a href="https://en.wikipedia.org/wiki/UMAC" rel="nofollow">https://en.wikipedia.org/wiki/UMAC</a>ためのWikipediaの

結果のダイジェストや指紋は、その後使用されるハッシュ関数の 身元を隠すために暗号化されています。

また、本論文では、http://web.cs.ucdavis.edu/~rogaway/papers/umac-full.pdf、それは述べ:

のメッセージは、共有ハッシュ関数 でそれをハッシュし、次に、得られたハッシュを暗号化する(暗号鍵を用いて)によって認証されています。

私の質問ハッシュ関数の集合Hが十分な大きさ、およびハッシュ・バケットの数|B|が十分に大きければ、なぜ我々は暗号化する必要がありますされる - は、十分な安全な秘密のハッシュではないでしょうか?

たとえば、すべてのクライアントが「x」のような短い短いコンテンツを送信している最悪のシナリオを考えます。私たちが32バイトにハッシュし、ハッシュが秘密の32バイトのハッシュキーに依存し、ハッシュが一様なプロパティを示している場合、どのクライアントがどのクライアントの秘密ハッシュキーを暗号化しなくても覚えることができますか?

攻撃者がキーを覚えていない場合、攻撃者はどのようにして悪質なメッセージの内容を変更する可能性がありますか?

ありがとうございました!

+0

悲しいことに、普遍的なハッシュ関数ファミリは、私がうまく学習したことのないものです。しかし、今私はそれを研究する時間があれば、私はUMACの概念が基づいている古い[Wegman and Carterの論文(http://www.sciencedirect.com/science/article/pii/0022000081900337) 。 – TheGreatContini

答えて

0

私は、具体的UMACについてあまり知らないが:

  • は、特定のハッシュ関数のためのrainbow table持つメッセージに入れているすべての暗号を破るので、代わりに、単一の攻撃面を持つ、あなたが今持っています2
  • 計算能力が向上するにつれて、メッセージの平文がますます分かりやすくなり、MACを暗号化せずに残すとPFS(https://en.wikipedia.org/wiki/Forward_secrecy)は決して使用できなくなります。
  • これに加えて、MAC値から単一の平文メッセージを見つけることができれば、PRNG、他のデータのコンテキスト、IV、およびその他の情報を取得することによって、
関連する問題