X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=crypto%2Fed25519%2Fecmath%2Fpoint_test.go;fp=crypto%2Fed25519%2Fecmath%2Fpoint_test.go;h=4de539a6fca8fbda1e4fbeaa3ff131feeadb4765;hp=0000000000000000000000000000000000000000;hb=db158dcf09436b003defd333f1a665e7e051d820;hpb=d09b7a78d44dc259725902b8141cdba0d716b121 diff --git a/crypto/ed25519/ecmath/point_test.go b/crypto/ed25519/ecmath/point_test.go new file mode 100644 index 00000000..4de539a6 --- /dev/null +++ b/crypto/ed25519/ecmath/point_test.go @@ -0,0 +1,44 @@ +package ecmath + +import "testing" + +// base is the ed25519 base point +var base Point + +func init() { + base.ScMulBase(&One) +} + +func TestBasePointArith(t *testing.T) { + var base1 Point + base1.ScMul(&base, &One) + if !base.ConstTimeEqual(&base1) { + ebase := base.Encode() + ebase1 := base1.Encode() + t.Errorf("base [%x] != 1*base [%x]", ebase[:], ebase1[:]) + } + + Two := One + Two.Add(&Two, &One) + + base2a := base + base2a.Add(&base2a, &base) + + base2b := base + base2b.ScMul(&base2b, &Two) + + if !base2a.ConstTimeEqual(&base2b) { + ebase2a := base2a.Encode() + ebase2b := base2b.Encode() + t.Errorf("base+base [%x] != 2*base [%x] (1)", ebase2a[:], ebase2b[:]) + } + + var base2c Point + base2c.ScMulBase(&Two) + + if !base2a.ConstTimeEqual(&base2c) { + ebase2a := base2a.Encode() + ebase2c := base2c.Encode() + t.Errorf("base+base [%x] != 2*base [%x] (2)", ebase2a[:], ebase2c[:]) + } +}