La sécurité de Skein en tant que hash implique-t-elle la sécurité de Threefish en tant que chiffrement en bloc?

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

Question

Le le hachage Skein proposé pour SHA-3 affiche des résultats impressionnants en termes de vitesse, ce que je soupçonne. serait applicable pour le chiffre de bloc Threefish en son cœur - mais, si Skein est approuvé pour SHA-3, cela impliquerait-il que Threefish est également considéré comme sécurisé? Autrement dit, une vulnérabilité dans Threefish impliquerait-elle une vulnérabilité dans SHA-3? (et donc, le manque de problèmes connus et une confiance générale dans SHA-3 impliquent la même chose pour Threefish)

Était-ce utile?

La solution

Nope. La sécurité de Skein n'implique pas la sécurité de Threefish. En termes positifs, si quelqu'un trouve une faiblesse dans Threefish, cela ne signifie pas pour autant que Skein est également peu sûr.

Cependant, la question est assez intéressante et s’applique également à d’autres fonctions de hachage. Skein utilise une construction Davis-Meyer avec quelques modifications. MD5, SHA1 et de nombreuses autres fonctions de hachage utilisent également cette construction Davis-Meyer et sont donc en principe basées sur un chiffrement par bloc. Juste dans le cas de MD5 ou SHA1, ce chiffrement de bloc n’a pas de nom et je ne suis pas au courant de nombreuses recherches sur la pertinence de ces constructions.

Les exigences pour un bon chiffrement par bloc et pour une bonne fonction de hachage sont différentes. Un peu simplifié, si E est un bloc chiffré et qu'il n'est pas possible de trouver deux clés K, K 'et deux messages M, M' tels que E K (M) x ou M = E K ' (M') xor M 'alors E est approprié pour construire une fonction de hachage en utilisant Davis-Meyer. Mais pour être sécurisé en tant que bloc, le chiffrement E aurait besoin d’autres propriétés. E devrait résister aux attaques par un cryptogramme choisi, des attaques par un texte clair, etc.

De plus, si E est un bon chiffrement de bloc, cela ne signifie pas non plus qu’il donne une bonne fonction de hachage. Microsoft a dû apprendre cela à la dure avec le hash utilisé dans la XBOX. Ce hachage était basé sur le TEA de chiffrement de bloc qui présentait une faiblesse insignifiante pour un chiffrement de bloc, mais qui s’est avéré fatal lorsqu’il a été utilisé pour une fonction de hachage.

Pour être juste, il existe certaines relations entre être un bon chiffrement par bloc et convenir à une fonction de hachage. Par exemple, dans les deux cas, les attaques différentielles doivent être évitées. Par conséquent, certaines méthodes de conception utilisées pour construire de bons chiffrements par blocs peuvent être utilisées pour construire de bonnes fonctions de hachage.

Permettez-moi également d'ajouter que certaines des propositions de SHA-3 sont basées sur AES. Jusqu'à présent, je ne voyais pas beaucoup de soutien en faveur des fonctions de hachage basées sur AES, simplement parce qu'AES est déjà un standard. Ces fonctions de hachage sont analysées comme toute autre proposition SHA-3.

Autres conseils

Ne pas tenir compte de ma réponse précédente. J'ai mal compris la relation entre Skein et Threefish. Je ne pense toujours pas que l'approbation de Skein prouve de manière absolue que Threefish est généralement sécurisé (il est possible que Threefish ne le soit que s'il est utilisé d'une manière particulière), mais ce serait une indication.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top