// GoGOST -- Pure Go GOST cryptographic functions library
-// Copyright (C) 2015-2021 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2015-2023 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
Y *big.Int
}
-func NewPublicKey(curve *Curve, raw []byte) (*PublicKey, error) {
- pointSize := curve.PointSize()
+func NewPublicKey(c *Curve, raw []byte) (*PublicKey, error) {
+ pointSize := c.PointSize()
key := make([]byte, 2*pointSize)
if len(raw) != len(key) {
return nil, fmt.Errorf("gogost/gost3410: len(key) != %d", len(key))
key[i] = raw[len(raw)-i-1]
}
return &PublicKey{
- curve,
+ c,
bytes2big(key[pointSize : 2*pointSize]),
bytes2big(key[:pointSize]),
}, nil
if !ok {
return false
}
- return our.X.Cmp(their.X) == 0 && our.X.Cmp(their.Y) == 0 && our.C.Equal(their.C)
+ return our.X.Cmp(their.X) == 0 && our.Y.Cmp(their.Y) == 0 && our.C.Equal(their.C)
}