package commit import ( "testing" . "kesim.org/seal/nizk" ) func TestStatement(t *testing.T) { id := Curve.RandomScalar() Id := G.Exp(id) st1, st2 := NewStatement(true), NewStatement(false) c1, c2 := st1.Commit(Id), st2.Commit(Id) if !c1.Verify() { t.Fatal("Could not verify st1 with c1, plus=true case") } if !c2.Verify() { t.Fatal("Could not verify st2 with c2, plus=false case") } // Use the wrong proof c2.Proof = c1.Proof if c2.Verify() { t.Fatal("Verify with wrong proof should have failed!") } } func TestStatementFromScalar(t *testing.T) { var α, β, id = Curve.RandomScalar(), Curve.RandomScalar(), Curve.RandomScalar() Id := G.Exp(id) st1, st2 := NewStatementFromScalars(true, α, β), NewStatementFromScalars(false, α, β) c1, c2 := st1.Commit(Id), st2.Commit(Id) if !c1.Verify() { t.Fatal("Could not verify st1 with c1, plus=true case") } if !c2.Verify() { t.Fatal("Could not verify st2 with c2, plus=false case") } // Use the wrong proof c2.Proof = c1.Proof if c2.Verify() { t.Fatal("Verify with wrong proof should have failed!") } }