// GoGOST -- Pure Go GOST cryptographic functions library
-// Copyright (C) 2015-2021 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2015-2024 Sergey Matveev <stargrave@stargrave.org>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
reverse(prvRaw)
prv, err := NewPrivateKey(CurveIdGostR34102001TestParamSet(), prvRaw)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
sign, err := prv.SignDigest(dgst, bytes.NewBuffer(rnd))
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
- if bytes.Compare(sign, append(s, r...)) != 0 {
+ if !bytes.Equal(sign, append(s, r...)) {
t.FailNow()
}
}
nil,
)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
prvRaw := []byte{
0x0B, 0xA6, 0x04, 0x8A, 0xAD, 0xAE, 0x24, 0x1B,
reverse(prvRaw)
prv, err := NewPrivateKey(c, prvRaw)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
sign, err := prv.SignDigest(dgst, bytes.NewBuffer(rnd))
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
- if bytes.Compare(sign, append(s, r...)) != 0 {
- t.FailNow()
+ if !bytes.Equal(sign, append(s, r...)) {
+ t.Fatal(err)
}
}
nil,
)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
prv, err := NewPrivateKey(c, priv)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
pub, err := prv.PublicKey()
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
- if bytes.Compare(pub.Raw()[:64], pubX) != 0 {
+ if !bytes.Equal(pub.Raw()[:64], pubX) {
t.FailNow()
}
- if bytes.Compare(pub.Raw()[64:], pubY) != 0 {
+ if !bytes.Equal(pub.Raw()[64:], pubY) {
t.FailNow()
}
ourSign, err := prv.SignDigest(digest, rand.Reader)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
valid, err := pub.VerifyDigest(digest, ourSign)
if err != nil || !valid {
f := bytes2big(raw)
x, y, err := vector.curve.Exp(f, qIndX, qIndY)
if err != nil {
- t.FailNow()
+ t.Fatal(err)
}
raw, _ = hex.DecodeString(vector.xExpected)
- if bytes.Compare(x.Bytes(), raw) != 0 {
+ if !bytes.Equal(x.Bytes(), raw) {
t.FailNow()
}
raw, _ = hex.DecodeString(vector.yExpected)
- if bytes.Compare(y.Bytes(), raw) != 0 {
+ if !bytes.Equal(y.Bytes(), raw) {
t.FailNow()
}
raw, _ = hex.DecodeString(vector.alpha)
alpha := bytes2big(raw)
x, y, err = vector.curve.Exp(alpha, vector.curve.X, vector.curve.Y)
+ if err != nil {
+ t.Fatal(err)
+ }
raw, _ = hex.DecodeString(vector.xAlphaExpected)
- if bytes.Compare(x.Bytes(), raw) != 0 {
+ if !bytes.Equal(x.Bytes(), raw) {
t.FailNow()
}
raw, _ = hex.DecodeString(vector.yAlphaExpected)
- if bytes.Compare(y.Bytes(), raw) != 0 {
+ if !bytes.Equal(y.Bytes(), raw) {
t.FailNow()
}
raw, _ = hex.DecodeString(vector.beta)
beta := bytes2big(raw)
x, y, err = vector.curve.Exp(beta, vector.curve.X, vector.curve.Y)
+ if err != nil {
+ t.Fatal(err)
+ }
raw, _ = hex.DecodeString(vector.xBetaExpected)
- if bytes.Compare(x.Bytes(), raw) != 0 {
+ if !bytes.Equal(x.Bytes(), raw) {
t.FailNow()
}
raw, _ = hex.DecodeString(vector.yBetaExpected)
- if bytes.Compare(y.Bytes(), raw) != 0 {
+ if !bytes.Equal(y.Bytes(), raw) {
t.FailNow()
}
}
c := CurveIdtc26gost341012512paramSetA()
prv, err := GenPrivateKey(c, rand.Reader)
if err != nil {
- b.FailNow()
+ b.Fatal(err)
}
digest := make([]byte, 64)
rand.Read(digest)
c := CurveIdtc26gost341012512paramSetA()
prv, err := GenPrivateKey(c, rand.Reader)
if err != nil {
- b.FailNow()
+ b.Fatal(err)
}
digest := make([]byte, 64)
rand.Read(digest)
sign, err := prv.SignDigest(digest, rand.Reader)
if err != nil {
- b.FailNow()
+ b.Fatal(err)
}
pub, err := prv.PublicKey()
if err != nil {
- b.FailNow()
+ b.Fatal(err)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {