作为哈希的Skein的安全性是否意味着Threefish作为分组密码的安全性?

bdo*_*lan 4 theory cryptography skein sha-3

针对SHA-3提出的Skein哈希有一些令人印象深刻的速度结果,我怀疑它将适用于其核心的三鱼块密码 - 但是,如果Skein被批准用于SHA-3,这是否意味着三鱼被认为是安全的?也就是说,Threefish中的任何漏洞是否意味着SHA-3中存在漏洞?(因此,缺乏已知问题和对SHA-3的普遍信任对三鱼来说意味着相同)

Acc*_*dae 5

不.Skein的安全性并不意味着Threefish的安全性.积极地说,如果有人发现三鱼的弱点,那么这并不意味着Skein也是不安全的.

然而,这个问题非常有用,也适用于其他哈希函数.Skein使用Davis-Meyer结构进行了一些修改.MD5,SHA1和许多其他哈希函数也使用这种Davis-Meyer结构,因此它们原则上基于分组密码.就MD5或SHA1而言,阻塞密码没有名称,我不太了解这些结构的适用程度.

良好的分组密码和良好的散列函数的要求是不同的.有点简化,如果E是分组密码,并且找不到两个密钥K,K'和两个消息M,M'是不可行的,使得E K(M)x或M = E K'(M')x或M'然后E适合使用Davis-Meyer构造散列函数.但作为分组密码安全E需要其他属性.E必须抵制选择密文攻击,选择明文攻击等.

此外,如果E是一个好的分组密码,那么这也不意味着它提供了良好的散列函数.微软必须通过他们在XBOX中使用的哈希来学习这一点.这个散列基于分组密码TEA,它具有对于分组密码无关紧要的弱点,但在用于散列函数时被证明是致命的.

公平地说,在一个好的分组密码和适合哈希函数之间存在一些关系.例如,在这两种情况下都需要避免差异攻击.因此,用于构造良好的块密码的一些设计方法可用于构造良好的散列函数.

我还要补充一点,SHA-3的一些建议是基于AES的.到目前为止,我还没有看到太多支持支持基于AES的哈希函数,因为AES已经是一个标准.这些哈希函数的分析与任何其他SHA-3提案一样.