我需要做一个Skein散列,特别是Skein-1024;但是,我目前只能访问Skein-512。有没有方法利用Skein-512函数来获得Skein-1024散列的结果?
这两者有什么区别?
发布于 2013-04-03 00:36:02
在内部,Skein-1024使用Threefish-1024压缩函数,并扩展到内部状态的1024位,而Skein-512使用Threefish-512压缩函数。还有一些额外的更改,但它们非常相似(例如,就像SHA-256和SHA-512一样)。
然而,由于所有Threefish变体都有相同的128位调整大小,所以如果您确实可以访问Skein-512源代码,那么您应该能够修改它,以便调用Threefish-1024,进行必要的长度调整,并且应该可以在不太痛苦的情况下工作。
除此之外,不,这两个函数之间没有并行,这两个函数可以从Skein-512散列中计算Skein-1024散列。这两个Threefish函数具有不同的常量&轮数。
顺便问一下,你为什么需要Skein-1024?除非你真的需要1024位的内部状态,这是不太可能的和过分的,你可以只使用所有Skein变体的“任意输出长度”特性,它允许您生成任意长度的摘要。它是在Skein论文中描述的,希望在您的Skein实现中可以获得。如果不是,则实现是不完整的。
https://crypto.stackexchange.com/questions/7897
复制相似问题