X-Git-Url: http://www.git.cypherpunks.ru/?p=gogost.git;a=blobdiff_plain;f=gost3410%2Fvko2001.go;h=8559ed2a9c2dc807302a22d0b02fedea1c8b68be;hp=c9aeada21a90a36f782a49497aaa8c4af347a813;hb=7ed4c1e0857134c14ef5c03dee48c1cc7a555e98;hpb=4b8bfe9cc90778192b77d5d3eaa8a67a89e486df diff --git a/gost3410/vko2001.go b/gost3410/vko2001.go index c9aeada..8559ed2 100644 --- a/gost3410/vko2001.go +++ b/gost3410/vko2001.go @@ -26,8 +26,8 @@ import ( // RFC 4357 VKO GOST R 34.10-2001 key agreement function. // UKM is user keying material, also called VKO-factor. func (prv *PrivateKey) KEK2001(pub *PublicKey, ukm *big.Int) ([]byte, error) { - if prv.Mode != Mode2001 { - return nil, errors.New("gogost/gost3410: KEK2001 can not be used in Mode2012") + if prv.C.PointSize() != 32 { + return nil, errors.New("gogost/gost3410: KEK2001 is only for 256-bit curves") } key, err := prv.KEK(pub, ukm) if err != nil {