package ecdsa import ( "math/big" "testing" ecc "../ecc" ) func TestNewECDSA(t *testing.T) { ec := ecc.NewEC(1, 18, 19) g := ecc.Point{big.NewInt(int64(7)), big.NewInt(int64(11))} dsa, err := NewDSA(ec, g) if err != nil { t.Errorf(err.Error()) } privK := 5 pubK, err := dsa.PubK(privK) if err != nil { t.Errorf(err.Error()) } if !pubK.Equal(ecc.Point{big.NewInt(int64(13)), big.NewInt(int64(9))}) { t.Errorf("pubK!=(13, 9)") } } func TestECDSASignAndVerify(t *testing.T) { ec := ecc.NewEC(1, 18, 19) g := ecc.Point{big.NewInt(int64(7)), big.NewInt(int64(11))} dsa, err := NewDSA(ec, g) if err != nil { t.Errorf(err.Error()) } privK := 5 pubK, err := dsa.PubK(privK) if err != nil { t.Errorf(err.Error()) } hashval := big.NewInt(int64(40)) r := big.NewInt(int64(11)) sig, err := dsa.Sign(hashval, privK, r) if err != nil { t.Errorf(err.Error()) } verified, err := dsa.Verify(hashval, sig, pubK) if !verified { t.Errorf("verified == false") } }