github.com/klaytn/klaytn@v1.12.1/crypto/bn256/cloudflare/lattice_test.go (about) 1 package bn256 2 3 import ( 4 "crypto/rand" 5 "testing" 6 ) 7 8 func TestLatticeReduceCurve(t *testing.T) { 9 k, _ := rand.Int(rand.Reader, Order) 10 ks := curveLattice.decompose(k) 11 12 if ks[0].BitLen() > 130 || ks[1].BitLen() > 130 { 13 t.Fatal("reduction too large") 14 } else if ks[0].Sign() < 0 || ks[1].Sign() < 0 { 15 t.Fatal("reduction must be positive") 16 } 17 } 18 19 func TestLatticeReduceTarget(t *testing.T) { 20 k, _ := rand.Int(rand.Reader, Order) 21 ks := targetLattice.decompose(k) 22 23 if ks[0].BitLen() > 66 || ks[1].BitLen() > 66 || ks[2].BitLen() > 66 || ks[3].BitLen() > 66 { 24 t.Fatal("reduction too large") 25 } else if ks[0].Sign() < 0 || ks[1].Sign() < 0 || ks[2].Sign() < 0 || ks[3].Sign() < 0 { 26 t.Fatal("reduction must be positive") 27 } 28 }