go-ethereum/crypto
fengjian c974722dc0
Some checks are pending
/ Docker Image (push) Waiting to run
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Keeper Build (push) Waiting to run
/ Windows Build (push) Waiting to run
crypto/ecies: fix ECIES invalid-curve handling (#33669)
Fix ECIES invalid-curve handling in RLPx handshake (reject invalid
ephemeral pubkeys early)
- Add curve validation in crypto/ecies.GenerateShared to reject invalid
public keys before ECDH.
- Update RLPx PoC test to assert invalid curve points fail with
ErrInvalidPublicKey.
 
Motivation / Context
RLPx handshake uses ECIES decryption on unauthenticated network input.
Prior to this change, an invalid-curve ephemeral public key would
proceed into ECDH and only fail at MAC verification, returning
ErrInvalidMessage. This allows an oracle on decrypt success/failure and
leaves the code path vulnerable to invalid-curve/small-subgroup attacks.
The fix enforces IsOnCurve validation up front.
2026-01-29 10:56:12 +01:00
..
blake2b crypto: using testing.B.Loop (#32645) 2025-09-19 17:12:41 -06:00
bn256 crypto/bn256: switch to gnark again (#32659) 2025-09-19 15:18:42 +02:00
ecies crypto/ecies: fix ECIES invalid-curve handling (#33669) 2026-01-29 10:56:12 +01:00
kzg4844 crypto/kzg4844: preallocate proof slice in ComputeCellProofs (#33703) 2026-01-29 15:49:10 +08:00
secp256k1 crypto: using testing.B.Loop (#32645) 2025-09-19 17:12:41 -06:00
secp256r1 core/vm: implement EIP-7951 - precompile for secp256r1 (#31991) 2025-07-07 20:59:45 +02:00
signify crypto/signify: fix fuzz test compilation (#33402) 2025-12-13 12:09:07 +08:00
crypto.go cmd/keeper: use the ziren keccak precompile (#32816) 2025-10-20 11:52:02 +02:00
crypto_test.go crypto: using testing.B.Loop (#32645) 2025-09-19 17:12:41 -06:00
keccak.go cmd/keeper: use the ziren keccak precompile (#32816) 2025-10-20 11:52:02 +02:00
keccak_ziren.go crypto: implement ziren keccak state (#32996) 2025-10-23 14:02:13 +02:00
signature_cgo.go crypto: use pure Go signature implementation in tinygo (#31878) 2025-05-23 11:14:40 +02:00
signature_nocgo.go crypto: validate hash length in no cgo Sign (#33104) 2025-11-08 11:25:53 +01:00
signature_test.go crypto: using testing.B.Loop (#32645) 2025-09-19 17:12:41 -06:00