Fix mlkem.GenerateKeyPair to handle 3 return values

The mlkem.GenerateKeyPair function now returns (privateKey, publicKey, error)
instead of just (privateKey, error). Updated all 4 occurrences in pqcrypto.go
to handle the additional public key return value.
This commit is contained in:
Zach Kelling
2025-09-22 22:17:33 +00:00
parent 987ea3489e
commit 5e65623652
2 changed files with 12 additions and 5 deletions
+8 -4
View File
@@ -77,24 +77,27 @@ func NewPQSigner(algo Algorithm) (*PQSigner, error) {
signer.mldsaPriv = priv
case AlgoMLKEM512:
priv, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM512)
priv, pub, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM512)
if err != nil {
return nil, err
}
_ = pub // public key is part of private key
signer.mlkemPriv = priv
case AlgoMLKEM768:
priv, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM768)
priv, pub, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM768)
if err != nil {
return nil, err
}
_ = pub // public key is part of private key
signer.mlkemPriv = priv
case AlgoMLKEM1024:
priv, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM1024)
priv, pub, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM1024)
if err != nil {
return nil, err
}
_ = pub // public key is part of private key
signer.mlkemPriv = priv
case AlgoSLHDSA128s:
@@ -140,10 +143,11 @@ func NewPQSigner(algo Algorithm) (*PQSigner, error) {
}
signer.classical = classical
priv, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM512)
priv, pub, err := mlkem.GenerateKeyPair(rand.Reader, mlkem.MLKEM512)
if err != nil {
return nil, err
}
_ = pub // public key is part of private key
signer.mlkemPriv = priv
default:
+4 -1
View File
@@ -12,7 +12,6 @@ github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHG
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU=
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
github.com/consensys/bavard v0.1.31-0.20250406004941-2db259e4b582/go.mod h1:k/zVjHHC4B+PQy1Pg7fgvG3ALicQw540Crag8qx+dZs=
github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM=
@@ -75,9 +74,13 @@ github.com/yosssi/ace v0.0.5/go.mod h1:ALfIzm2vT7t5ZE7uoIZqF3TQ7SAOyupFZnkrF5id+
github.com/zeebo/blake3 v0.2.4/go.mod h1:7eeQ6d2iXWRGF6npfaxl2CU+xy2Fjo2gxeyZGCRUjcE=
golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
golang.org/x/telemetry v0.0.0-20250710130107-8d8967aff50b/go.mod h1:4ZwOYna0/zsOKwuR5X/m0QFOJpSZvAxFfkQT+Erd9D4=
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=