arnaucube
arnaucube/go-iden3-cryptoPublic Self-hosted repository
Add test that breaks poseidion due to padding
Eduard S eduard@iden3.io
Mon, 16 Dec 2019 17:24:22 +0100
commit

7c6170453eb83c017725d79a7c0a12ae68570e34

parent

27ec5b26df8cb53951fc81f9351f200f9d597b18

1 files changed, 9 insertions(+), 1 deletions(-)

jump to
M poseidon/poseidon_test.go → poseidon/poseidon_test.go

@@ -66,12 +66,20 @@ assert.Nil(t, err)

assert.Equal(t, "10747013384255785702102976082726575658403084163954725275481577373644732938016", hmsg2.String()) } -func TestPoseidonBroken(t *testing.T) { +func TestPoseidonBrokenChunks(t *testing.T) { h1, err := Hash([]*big.Int{big.NewInt(0), big.NewInt(1), big.NewInt(2), big.NewInt(3), big.NewInt(4), big.NewInt(5), big.NewInt(6), big.NewInt(7), big.NewInt(8), big.NewInt(9)}) assert.Nil(t, err) h2, err := Hash([]*big.Int{big.NewInt(5), big.NewInt(6), big.NewInt(7), big.NewInt(8), big.NewInt(9), big.NewInt(0), big.NewInt(1), big.NewInt(2), big.NewInt(3), big.NewInt(4)}) + assert.Nil(t, err) + assert.NotEqual(t, h1, h2) +} + +func TestPoseidonBrokenPadding(t *testing.T) { + h1, err := Hash([]*big.Int{big.NewInt(1)}) + assert.Nil(t, err) + h2, err := Hash([]*big.Int{big.NewInt(1), big.NewInt(0)}) assert.Nil(t, err) assert.NotEqual(t, h1, h2) }