feat: Add DH and ECDH support #862
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feat: Add DH and ECDH support with benchmarks
Description
This PR implements full support for Diffie-Hellman (DH) and Elliptic Curve Diffie-Hellman (ECDH) key exchanges in react-native-quick-crypto, complete with C++ native implementations, benchmarks, and comprehensive tests.
Changes
Core Implementation
Diffie-Hellman (DH):
DiffieHellmanclass mirroring the Node.js API (createDiffieHellman,getDiffieHellman).EVP_PKEYfor key generation and shared secret derivation.Elliptic Curve Diffie-Hellman (ECDH):
ECDHclass mirroring the Node.js API (createECDH).EC_KEYandEVP_PKEY.secp256k1,prime256v1, and others.Benchmarks & Tests
Benchmarks:
crypto-browserify(where applicable) and native baselines.Tests:
Added comprehensive test coverage validating:
Verification
Checklist
cryptoAPI.main(synced with release1.0.6).