// GoGOST -- Pure Go GOST cryptographic functions library
-// Copyright (C) 2015-2020 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2015-2021 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
}
return tx, ty, nil
}
+
+func (our *Curve) Equal(their *Curve) bool {
+ return our.P.Cmp(their.P) == 0 &&
+ our.Q.Cmp(their.Q) == 0 &&
+ our.A.Cmp(their.A) == 0 &&
+ our.B.Cmp(their.B) == 0 &&
+ our.X.Cmp(their.X) == 0 &&
+ our.Y.Cmp(their.Y) == 0 &&
+ ((our.E == nil && their.E == nil) || our.E.Cmp(their.E) == 0) &&
+ ((our.D == nil && their.D == nil) || our.D.Cmp(their.D) == 0) &&
+ our.Co.Cmp(their.Co) == 0
+}