的Skein hash提出了SHA-3擁有一些令人印象深刻的速度的結果,我懷疑是適用於在其心臟的Threefish塊加密 - 但是,如果絞紗被批准用於SHA-3,將這種暗示Threefish被認爲是安全的,因爲好?也就是說,Threefish中的任何漏洞都意味着SHA-3中存在一個漏洞? (因此,缺乏已知問題和SHA-3進行了一般性的信任意味着對Threefish相同)Skein的安全性是否意味着Threefish作爲分組密碼的安全性?
回答
沒有。 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提議一樣進行分析。
否認我以前的答案。我誤解了Skein和Threefish之間的關係。我仍然不認爲Skein獲得批准絕對證明Threefish通常是安全的(有可能Threefish只有在以特定方式使用時纔是安全的),但這是一個指示。
我認爲這不一定成立。如果在Skein中使用Threefish是不安全的,那麼不一定意味着另一種使用Threefish的情況。此外,關於Skein在Threefish方面的安全性還有很多證據,但我不確定這對於Threefish的加密應用安全性的實際意義如何。 – bdonlan 2009-05-06 04:35:38
- 1. 我的一次性密碼的安全性是否足夠安全?
- 2. 什麼是「安全性:?IsTrusted」在Java控制檯意味着
- 3. 改進的類型安全性意味着什麼?
- 4. WCF消息級別安全性是否意味着我可以忽略SSL?
- 5. 在C++ 11/14中線程安全是否意味着const?
- 6. is_numeric()是否意味着var對MySQL安全?
- 7. 線程同步是否意味着線程安全?
- 8. Excel加密的安全性
- 9. 彈簧安全性_密碼加密
- 10. 關閉意味着完全類型安全的標準?
- 11. 測試CloudFormation的安全性氣味
- 12. PHP的代碼安全性
- 13. J2EE彈簧安全一次性密碼
- 14. 默認的MVC安全性是否利用與ASP相同的安全性.NEt
- 15. 密碼安全
- 16. @OneToOne是否意味着唯一性?
- 17. HttpModule安全性是否足以保證asp.net應用程序的安全性?
- 18. 通過NODE_ENV繞過安全性是否安全?
- 19. GAS的安全性
- 20. JSONP的安全性
- 21. Cassandra的安全性
- 22. rdbms的安全性
- 23. Subversion的安全性
- 24. NowJS的安全性
- 25. SimpleMemberShip的安全性
- 26. 安全性的mysqli
- 27. cookies的安全性
- 28. 密碼生成無安全編碼的URL安全密文
- 29. OpenCL全球工作偏移意味着性能受到影響?
- 30. WebSocket安全性?
謝謝 - 這使得很多現在感覺:) – bdonlan 2009-05-10 03:11:27