@@ -8,7 +8,6 @@ package cng
88
99import (
1010 "errors"
11- "fmt"
1211 "runtime"
1312
1413 "github.com/microsoft/go-crypto-winnative/internal/bcrypt"
@@ -87,34 +86,31 @@ func generateMLKEMKey(paramSet string, dst []byte) error {
8786 var hKey bcrypt.KEY_HANDLE
8887 err = bcrypt .GenerateKeyPair (alg .handle , & hKey , 0 , 0 )
8988 if err != nil {
90- return errors . New ( "mlkem: key generation failed" )
89+ return err
9190 }
9291 defer bcrypt .DestroyKey (hKey )
9392
9493 // Set the parameter set
9594 if err := setString (bcrypt .HANDLE (hKey ), bcrypt .PARAMETER_SET_NAME , paramSet ); err != nil {
9695 return err
9796 }
98- if err != nil {
99- return errors .New ("mlkem: failed to set parameter set" )
100- }
10197
10298 err = bcrypt .FinalizeKeyPair (hKey , 0 )
10399 if err != nil {
104- return errors . New ( "mlkem: key finalization failed" )
100+ return err
105101 }
106102
107103 // Export the private key blob
108104 var size uint32
109105 err = bcrypt .ExportKey (hKey , 0 , utf16PtrFromString (bcrypt .MLKEM_PRIVATE_BLOB ), nil , & size , 0 )
110106 if err != nil {
111- return errors . New ( "mlkem: failed to get key blob size" )
107+ return err
112108 }
113109
114110 blob := make ([]byte , size )
115111 err = bcrypt .ExportKey (hKey , 0 , utf16PtrFromString (bcrypt .MLKEM_PRIVATE_BLOB ), blob , & size , 0 )
116112 if err != nil {
117- return errors . New ( "mlkem: failed to export key" )
113+ return err
118114 }
119115
120116 // Extract raw key bytes into destination
@@ -164,19 +160,19 @@ func mlkemDecapsulate(paramSet string, keyBytes []byte, ciphertext []byte, expec
164160
165161 alg , err := loadMLKEM ()
166162 if err != nil {
167- return nil , errors . New ( "mlkem: failed to open algorithm provider" )
163+ return nil , err
168164 }
169165
170166 // Construct blob from raw key bytes
171167 blob , err := newMLKEMKeyBlob (paramSet , keyBytes , bcrypt .MLKEM_PRIVATE_MAGIC )
172168 if err != nil {
173- return nil , fmt . Errorf ( "mlkem: failed to construct key blob: %w" , err )
169+ return nil , err
174170 }
175171
176172 var hKey bcrypt.KEY_HANDLE
177173 err = bcrypt .ImportKeyPair (alg .handle , 0 , utf16PtrFromString (bcrypt .MLKEM_PRIVATE_BLOB ), & hKey , blob , 0 )
178174 if err != nil {
179- return nil , fmt . Errorf ( "mlkem: failed to import key: %w" , err )
175+ return nil , err
180176 }
181177 defer bcrypt .DestroyKey (hKey )
182178
@@ -185,7 +181,7 @@ func mlkemDecapsulate(paramSet string, keyBytes []byte, ciphertext []byte, expec
185181
186182 err = bcrypt .Decapsulate (hKey , ciphertext , sharedKey , & cbResult , 0 )
187183 if err != nil {
188- return nil , fmt . Errorf ( "mlkem: decapsulation failed: %w" , err )
184+ return nil , err
189185 }
190186 return sharedKey [:cbResult ], nil
191187}
0 commit comments