Ethereum: why can’t a private key from a public key be able?
Ethereum The Public Key Equation K = K G C G
May appears as a direct formula for deriving a private key from a public key. However, this assumption is fundamentally faulty in the context of cryptography and blockchain technology.
In platforms of cryptomains and intelligent contracts, including ethereum, public and private keys are used to safely store and transfer sensitive information such as balances, transactions and cryptographic secrets. The idea of ​​infrastructure for public key infrastructure (PKI), such as ethereum, is that the shared secret key, known as a private key (“k”), can be used to encrypt messages and decrypting their corresponding public key.
However, there are severe reasons why it is not possible to get a private key from a public key in ethereum:
1 However, this equation assumes that both sides have access to the same generator point (g c). This means that even if one party knows its private key ("k"), they can't use it to encrypt the message and decrypt it without access to the relevant public key.
- Computing Complexity: Mathematical Operations Needed to derive a private key from the public key are calculating expensive, which makes them impractical for extensive applications. In particular, multiplication ofk * g
is an algorithm of doubling the elliptical curve (ECDPA), which has time complexity O (
sqrt (n)), Where the order of the generator (
). Most practical purposes, this means that even if one party knows its private key, it can't be derive it from the public key.
3 in the implementation of Ethereum, points are represented by 4 bytes (32 bits), which is relatively small compared to other cryptoTographic protocols that use more advanced elliptical curves such . This Limited Representation Size makes it difficult to present the complexity of the point to the ECC.
- Although one party knows its private key, it can't easily use it without knowing the corresfonding value of nonce.
Finally, while the public key equationk = k g c g c g c g c g c g c g c g. May appear as a simple formula for deriving a private key from the public key, it is fundamentally erroneous due to computing complexity, mathematical restrictions and security considerations. In ethereum, other protocols and mechanisms are used to safty store and exchange cryptographic secrets such as the Digital Signature Algorithm of the Elliptical Curve (ECDSA) with HMAC-Sha256.
Recommendations:
- Use a safer protocol than ECDSA with HMAC-SHA256 to store and replace keys.
- Consider using a zero knowledge system such as zk-snarks or zk-trex, to ensure more efficient and safer cryptographic services.
- Always use Safe Procedures such as password hash to protect the identity of users and sensitive information.
I hope this explanation will help!