Skeinのハッシュとしてのセキュリティは、ブロック暗号としてのThreefishのセキュリティを意味しますか?

StackOverflow https://stackoverflow.com/questions/827989

質問

SHA-3向けに提案された Skeinハッシュは、印象的な速度結果を誇っています。 Threefishブロック暗号の中心に適用できますが、SkeinがSHA-3に承認されている場合、これはThreefishも安全であると見なされることを意味しますか?つまり、Threefishの脆弱性はSHA-3の脆弱性を意味しますか? (したがって、既知の問題の欠如とSHA-3の一般的な信頼は、Threefishでも同じことを意味します)

役に立ちましたか?

解決

いいえ。 Skeinのセキュリティは、Threefishのセキュリティを意味するものではありません。肯定的に言えば、誰かがThreefishの弱点を見つけたとしても、これはSkeinが安全でないことを意味するものではありません。

しかし、質問は他のハッシュ関数にも当てはまります。 Skeinは、変更を加えたDavis-Meyer構造を使用しています。 MD5、SHA1、および他の多くのハッシュ関数もこのDavis-Meyer構造を使用しているため、原則としてブロック暗号に基づいています。 MD5またはSHA1の場合、ブロック暗号には名前がなく、これらの構成がどの程度適切であるかについての多くの研究を知りません。

優れたブロック暗号と優れたハッシュ関数の要件は異なります。 Eがブロック暗号であり、E K (M)xor M = E のような2つのキーK、K 'および2つのメッセージM、M'を見つけることが不可能な場合、やや単純化されます。 K '(M')xor M 'の場合、EはDavis-Meyerを使用してハッシュ関数を構築するのに適しています。しかし、ブロック暗号Eとして安全にするには、他のプロパティが必要です。 Eは、選択された暗号文攻撃、選択された平文攻撃などに抵抗する必要があります。

さらに、Eが適切なブロック暗号である場合、それはEが適切なハッシュ関数を与えることも意味しません。 Microsoftは、XBOXで使用したハッシュを使用して、これを難しい方法で学習する必要がありました。このハッシュは、ブロック暗号にとっては重要ではないが、ハッシュ関数に使用すると致命的であることが判明した弱点を持つブロック暗号TEAに基づいています。

公平を期すために、良いブロック暗号であることとハッシュ関数に適していることの間にはいくつかの関係があります。たとえば、どちらの場合も、差別的な攻撃を回避する必要があります。したがって、優れたブロック暗号を構築するために使用されるいくつかの設計方法は、優れたハッシュ関数を構築するために使用できます。

SHA-3の提案のいくつかはAESに基づいていることも付け加えておきます。これまでのところ、AESがすでに標準であるという理由だけで、AESベースのハッシュ関数を支持するサポートはあまりありません。これらのハッシュ関数は、他のSHA-3提案と同様に分析されます。

他のヒント

以前の回答は無視してください。かせとスリーフィッシュの関係を誤解しました。 Skeinが承認されているとはいえ、Threefishが一般に安全であることを絶対に証明するとは思いません(Threefishは特定の方法で使用した場合にのみ安全である可能性があります)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top