i'm testing the ECDH on two keys, and as expected getting a 50% failure rate if i just use randomly generated secret keys and don't screen out 3s (could be 2s for all it matters)
just do a simple test - generate two keys, derive the secret in both directions while overwriting teh first byte of the pubkey with a 2 no matter what, then compare the shared secret result, and count how many times they don't generate the secret
spoiler alert: ~50% +/- 0.1% for 10,000 samples
it's a very simple test to write, i'm just busy, i bumped into it, oop bug, fix, onto other things, let the people know about it
i don't see any way around it
3 pubkeys don't have the same secret as otherwise identical 2 pubkeys