Marius Van Der Wijden claims to have broken Iden3's implementation of the Poseidon Hash. It is quite well-known, and probably used, so it's quite interesting.
He claims the problem is with their bit padding.
Normally you add '1' and then zeroes (possibly none) to fill the block length. This ensures that there is always *some* padding.
They didn't add the '1', so some input doesn't get padded at all, which leads to a collision.
MariusVanDerWijden (@vdWijden) on X
🚨🚨PSA: iden3's implementation of the Poseidon Hash function is broken 🚨🚨 I found a hash collision bug in @identhree's implementation (https://t.co/g6eBLuDy71) of Poseidon, used by multiple projects like @PrivadoID @bloocktech #Nilfoundation and @wealdtech 🧵 #cryptography









