2009-05-06 70 views
4

Skein hash提出了SHA-3擁有一些令人印象深刻的速度的結果,我懷疑是適用於在其心臟的Threefish塊加密 - 但是,如果絞紗被批准用於SHA-3,將這種暗示Threefish被認爲是安全的,因爲好?也就是說,Threefish中的任何漏洞都意味着SHA-3中存在一個漏洞? (因此,缺乏已知問題和SHA-3進行了一般性的信任意味着對Threefish相同)Skein的安全性是否意味着Threefish作爲分組密碼的安全性?

回答

5

沒有。 Skein的安全並不意味着Threefish的安全。積極地說,如果有人發現Threefish的弱點,那麼這並不意味着Skein也是不安全的。

然而,這個問題相當有趣,也適用於其他散列函數。 Skein使用Davis-Meyer構造進行了一些修改。 MD5,SHA1和其他許多哈希函數也使用這種Davis-Meyer構造,因此它們原則上基於分組密碼。只是萬一MD5或SHA1阻止密碼沒有名稱,我不知道有多適合這些結構的研究。

好的分組密碼和好的散列函數的要求是不同的。某種程度的簡化,如果E是塊密碼,這是不可行的找到兩個密鑰K,K '和兩個消息M,M' 使E ķ(M)XOR M =Ë K '(M') xor M'則E適用於使用Davis-Meyer構造散列函數。但是爲了安全起見,分組密碼E需要其他屬性。 Ë將不得不抵抗選擇密文攻擊,選擇明文攻擊等

此外,如果E是一個不錯的分組密碼,然後,它也並不意味着它提供了良好的散列函數。微軟不得不用XBOX中使用的散列來學習這一點。這個散列基於分組密碼TEA,它具有對分組密碼無關緊要的弱點,但在用於散列函數時證明是致命的。

爲了公平起見,也有是一個很好的分組密碼,並適合於哈希函數之間的一些關係。例如,在這兩種情況下都需要避免差分攻擊。因此,用於構造好的分組密碼的一些設計方法可以用來構造好的散列函數。

我還要補充一點,一些對SHA-3的建議是基於AES。到目前爲止,僅僅因爲AES已經是一個標準,我還沒有看到很多支持基於AES的哈希函數的支持。這些散列函數就像其他SHA-3提議一樣進行分析。

+0

謝謝 - 這使得很多現在感覺:) – bdonlan 2009-05-10 03:11:27

0

否認我以前的答案。我誤解了Skein和Threefish之間的關係。我仍然不認爲Skein獲得批准絕對證明Threefish通常是安全的(有可能Threefish只有在以特定方式使用時纔是安全的),但這是一個指示。

+0

我認爲這不一定成立。如果在Skein中使用Threefish是不安全的,那麼不一定意味着另一種使用Threefish的情況。此外,關於Skein在Threefish方面的安全性還有很多證據,但我不確定這對於Threefish的加密應用安全性的實際意義如何。 – bdonlan 2009-05-06 04:35:38