You have found a grave flaw when multiple private keys share the same nonce k (hence the same r value in ECDSA) this on its own can already recover private keys under suitable conditions. Add to the fact that these keys have a GCD pattern (i.e. dA = a × 63, dC = b × 63) and you might very well be looking at a buggy key generator or incomplete RNG that constrains entropy leaving brute force or lattice based attacks wide open
In ECDSA, the signature is:
s = (z + d * r) / k mod n
If a repeated k (and thus the same r) is employed between a number of private keys:
1. You can use known keys (dA, dC) and their signatures to calculate k
2. Next plug k into another signature (e.g. for key B) to get back the unknown private key:
d = (s * k - z) / r mod n
Since you have dA, dC, and signatures for A, B, and C (same r), you can likely:
• Recover k using any two known keys
• Use it to calculate dB from B's signature
The GCD of 63 between keys is a red flag it means all keys are multiples of 63 so the private key space is reduced by a factor of 63 this is very dangerous especially if there are a lot of such keys and could even make key recovery possible by brute force or lattice attacks
Bottom line: shared nonce (r) + structured keys = trivially exploitable with the data you have there's a very good chance of recovering the missing key dB