X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=gost3410%2Fprivate.go;h=983d8d2849399c80a5617e8a5917180f9b96eb75;hb=0ad3c46736ab347028125436c7d8435003969f53;hp=7629563c1c736857c5033cb5a12f4a7126939bbb;hpb=a37ce7c9168b565aae06e3e66ff34f67f4f0e891;p=gogost.git diff --git a/gost3410/private.go b/gost3410/private.go index 7629563..983d8d2 100644 --- a/gost3410/private.go +++ b/gost3410/private.go @@ -28,6 +28,7 @@ type PrivateKey struct { Key *big.Int } +// Unmarshal little-endian private key. "raw" must be c.PointSize() length. func NewPrivateKey(c *Curve, raw []byte) (*PrivateKey, error) { pointSize := c.PointSize() if len(raw) != pointSize { @@ -52,8 +53,9 @@ func GenPrivateKey(c *Curve, rand io.Reader) (*PrivateKey, error) { return NewPrivateKey(c, raw) } -func (prv *PrivateKey) Raw() []byte { - raw := pad(prv.Key.Bytes(), prv.C.PointSize()) +// Marshal little-endian private key. raw will be prv.C.PointSize() length. +func (prv *PrivateKey) Raw() (raw []byte) { + raw = pad(prv.Key.Bytes(), prv.C.PointSize()) reverse(raw) return raw } @@ -109,6 +111,7 @@ Retry: ), nil } +// Sign the digest. opts argument is unused. func (prv *PrivateKey) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) { return prv.SignDigest(digest, rand) }