]> Cypherpunks.ru repositories - gogost.git/blobdiff - gost3410/private.go
PrivateKey % Q
[gogost.git] / gost3410 / private.go
index 689a9612d7ba3d2ad1f5fe5620ee046876aac6e7..237a906cfacfbe3127cd21c79d14f37d0284f6fe 100644 (file)
@@ -1,5 +1,5 @@
 // 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
@@ -41,7 +41,7 @@ func NewPrivateKey(curve *Curve, raw []byte) (*PrivateKey, error) {
        if k.Cmp(zero) == 0 {
                return nil, errors.New("gogost/gost3410: zero private key")
        }
-       return &PrivateKey{curve, k}, nil
+       return &PrivateKey{curve, k.Mod(k, curve.Q)}, nil
 }
 
 func GenPrivateKey(curve *Curve, rand io.Reader) (*PrivateKey, error) {