]> Cypherpunks.ru repositories - gogost.git/blobdiff - src/cypherpunks.ru/gogost/gost3410/2001_test.go
Fix private key value's assertion: it can not be equal to zero, not to the one
[gogost.git] / src / cypherpunks.ru / gogost / gost3410 / 2001_test.go
index 3c13122a28c71535190d843e602f8fe979762e5f..a21c19588267092ea3e3135d9a9f24bde99b6f6c 100644 (file)
@@ -161,3 +161,24 @@ func BenchmarkVerify2001(b *testing.B) {
                pub.VerifyDigest(digest, sign)
        }
 }
+
+func TestPrvEqualsTo1(t *testing.T) {
+       c, _ := NewCurveFromParams(CurveParamsGostR34102001Test)
+       prv, err := NewPrivateKey(c, Mode2001, []byte{0x01})
+       if err != nil {
+               t.FailNow()
+       }
+       pub, err := prv.PublicKey()
+       if err != nil {
+               t.FailNow()
+       }
+       digest := []byte{0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}
+       sign, err := prv.SignDigest(digest, rand.Reader)
+       if err != nil {
+               t.FailNow()
+       }
+       valid, err := pub.VerifyDigest(digest, sign)
+       if err != nil || !valid {
+               t.FailNow()
+       }
+}