Skip to content

Commit 4cc6f25

Browse files
authored
crypto.ecda: improvement the performance of PrivateKey.new by avoiding match+assignments (#23899)
1 parent f787e03 commit 4cc6f25

File tree

1 file changed

+1
-16
lines changed

1 file changed

+1
-16
lines changed

vlib/crypto/ecdsa/ecdsa.v

+1-16
Original file line numberDiff line numberDiff line change
@@ -166,21 +166,6 @@ mut:
166166
// PrivateKey.new creates a new key pair. By default, it would create a prime256v1 based key.
167167
// Dont forget to call `.free()` after finish with your key.
168168
pub fn PrivateKey.new(opt CurveOptions) !PrivateKey {
169-
// Default to prime256v1 based key
170-
mut group_nid := nid_prime256v1
171-
match opt.nid {
172-
.prime256v1 {}
173-
.secp384r1 {
174-
group_nid = nid_secp384r1
175-
}
176-
.secp521r1 {
177-
group_nid = nid_secp521r1
178-
}
179-
.secp256k1 {
180-
group_nid = nid_secp256k1
181-
}
182-
}
183-
// New high level keypair generator
184169
evpkey := C.EVP_PKEY_new()
185170
pctx := C.EVP_PKEY_CTX_new_id(nid_evp_pkey_ec, 0)
186171
if pctx == 0 {
@@ -195,7 +180,7 @@ pub fn PrivateKey.new(opt CurveOptions) !PrivateKey {
195180
return error('EVP_PKEY_keygen_init failed')
196181
}
197182
// set the group (curve)
198-
cn := C.EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, group_nid)
183+
cn := C.EVP_PKEY_CTX_set_ec_paramgen_curve_nid(pctx, int(opt.nid))
199184
if cn <= 0 {
200185
C.EVP_PKEY_free(evpkey)
201186
C.EVP_PKEY_CTX_free(pctx)

0 commit comments

Comments
 (0)