From 26f0fedebdf954c7dd1301a1ad81470d12aa5207 Mon Sep 17 00:00:00 2001 From: Bas Westerbaan Date: Thu, 16 Feb 2023 12:17:26 +0100 Subject: [PATCH] ckem: pass xof to elliptic.GenerateKey directly --- kem/hybrid/ckem.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/kem/hybrid/ckem.go b/kem/hybrid/ckem.go index 118a44a8..c0620e8d 100644 --- a/kem/hybrid/ckem.go +++ b/kem/hybrid/ckem.go @@ -3,7 +3,6 @@ package hybrid // TODO move over to crypto/ecdh once we can assume Go 1.20. import ( - "bytes" "crypto/elliptic" cryptoRand "crypto/rand" "crypto/subtle" @@ -123,10 +122,7 @@ func (sch *cScheme) DeriveKeyPair(seed []byte) (kem.PublicKey, kem.PrivateKey) { } h := xof.SHAKE256.New() _, _ = h.Write(seed) - buf := make([]byte, sch.PrivateKeySize()) - _, _ = h.Read(buf) - rnd := bytes.NewReader(buf) - key, x, y, err := elliptic.GenerateKey(sch.curve, rnd) + key, x, y, err := elliptic.GenerateKey(sch.curve, h) if err != nil { panic(err) }