Contexte technique
Le hachage Poseidon2b, proposé comme composant potentiel pour Ethereum, a récemment fait l'objet d'une défense détaillée contre l'attaque algébrique récemment publiée sous le nom de "Skipping Class". Cette attaque cible spécifiquement les constructions MDS (Maximum Distance Separable) de type tensoriel appliquées à des largeurs d'état comprises entre t=12 et t=24. Elle exploite des relations linéaires entre les variables d'état pour réduire le coût de recherche d'une collision ou d'une préimage.
Architecture de Poseidon2b
La version étudiée se caractérise par une largeur d'état t=4, un champ premier GF(2128), une fonction S‑box définie comme x↦x7, ainsi que 8 tours externes et 58 tours internes. La présence d'une couche MDS externe complète, distincte de la matrice interne, crée une séparation structurale qui empêche l'algorithme de se conformer aux hypothèses de l'attaque "Skipping Class". En effet, l'attaque s'appuie sur la capacité à ignorer (skip) certains tours internes tout en conservant la linéarité de la transformation MDS, ce qui n'est plus possible lorsque t=4 et que la couche externe agit comme un filtre supplémentaire.
Analyse de la résistance
Les auteurs de l'attaque publient une complexité théorique de 2410 opérations pour le paramétrage GF(2128), x7, 8/58 tours. Cette valeur dépasse largement le seuil de sécurité de 128 bits attendu pour un hash destiné à la chaîne publique. La différence provient de deux facteurs : d'une part, la petite largeur d'état (t=4) réduit le nombre de variables manipulables par l'attaquant, et d'autre part, la couche MDS externe ajoute un facteur de diffusion supplémentaire qui augmente l'entropie du système après chaque tour. Le papier de défense fournit le code source épinglé (pinned) ainsi que des exécutables vérifiables, permettant à tout analyste de reproduire le contexte exact sans se reposer sur des hypothèses de généralisation.
Perspectives et limites
Bien que la preuve de concept montre que Poseidon2b résiste à l'attaque "Skipping Class" dans sa configuration de production, la sécurité reste conditionnée à la stabilité du champ GF(2128) et à la non‑introduction de variantes de largeur d'état supérieures. Une éventuelle extension du protocole à t=8 ou t=12, motivée par des exigences de performance, pourrait réintroduire la vulnérabilité ciblée. De plus, l'analyse se base sur le meilleur résultat publié à ce jour ; une amélioration de la méthodologie algébrique (par exemple, l'utilisation de techniques de Gröbner bases plus avancées) pourrait réduire la complexité estimée. En l'absence de telles avancées, le coût de 2410 opérations place le système hors de portée des attaquants réalistes, justifiant ainsi la recommandation de Poseidon2b comme fonction de hachage compatible avec les exigences de sécurité d'Ethereum.