X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=gost3410%2Fvko2012.go;h=76fa0a4d15138e57581e776dadefe020d3ae6adb;hb=e38f7b828c16660814ac5b55b53644b3822e067b;hp=7a30b4ed367d07a34cec98cffbd5a04f5219e33e;hpb=c07494bbd559b9d00f391e28cfd070e18afe9900;p=gogost.git diff --git a/gost3410/vko2012.go b/gost3410/vko2012.go index 7a30b4e..76fa0a4 100644 --- a/gost3410/vko2012.go +++ b/gost3410/vko2012.go @@ -1,5 +1,5 @@ // GoGOST -- Pure Go GOST cryptographic functions library -// Copyright (C) 2015-2019 Sergey Matveev +// Copyright (C) 2015-2020 Sergey Matveev // // 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 @@ -18,8 +18,8 @@ package gost3410 import ( "math/big" - "go.cypherpunks.ru/gogost/v4/gost34112012256" - "go.cypherpunks.ru/gogost/v4/gost34112012512" + "go.cypherpunks.ru/gogost/v5/gost34112012256" + "go.cypherpunks.ru/gogost/v5/gost34112012512" ) // RFC 7836 VKO GOST R 34.10-2012 256-bit key agreement function. @@ -30,7 +30,9 @@ func (prv *PrivateKey) KEK2012256(pub *PublicKey, ukm *big.Int) ([]byte, error) return nil, err } h := gost34112012256.New() - h.Write(key) + if _, err = h.Write(key); err != nil { + return nil, err + } return h.Sum(key[:0]), nil } @@ -42,6 +44,8 @@ func (prv *PrivateKey) KEK2012512(pub *PublicKey, ukm *big.Int) ([]byte, error) return nil, err } h := gost34112012512.New() - h.Write(key) + if _, err = h.Write(key); err != nil { + return nil, err + } return h.Sum(key[:0]), nil }