Why does the all 0 public key have a known private key in SR25519 and ED25519?
substrate.stackexchange.com
Why does the all 0 public key have a known private key in SR25519 and ED25519?
1–10 of 64 posts
Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#2Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#3[flagged]
Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#4Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#5Well that made zero sense to me. Can someone ELI16?
Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#6Well that made zero sense to me. Can someone ELI16?
- If you remember RSA, ECC replaces RSA because it has better performance.
- In ECC, public keys are points on a curve. There's two main types of EC curves:
- A Weierstrass curve looks like a pimple (classical ECC) - you'll see this in older crypto systems.
- An Edwards curve looks like a butthole - more popular these days, as it has less 'exceptional cases' on the curve which don't confirm to normal 'add two points together to get a third point' maths.
- 'Ristretto' turns out to be the ECC-based key derivation algorithm used by Polkadot cryptocurrency: https://wiki.polkadot.network/docs/learn-cryptography or https://ristretto.group/ and is based on Edwards curves.
The second answer (typical for Stack Exchange sites) summarizes it well):
> In the Ristretto group, 0 is a member of the group, while in Secp256k1 it is not.
Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#7Well that made zero sense to me. Can someone ELI16?
Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#8Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#9Well that made zero sense to me. Can someone ELI16?
If you understand this it becomes obvious why it is strange that people seem to be able to know the private key of the all 0 public key. Getting to that point on the curve would either require undoing the multiplication or brute force, both of which are not feasible assuming that ECC is not broken.
Without going to deep: the explanation of this penomenon is that ed25519 uses a different curve model (not Weierstrasser curves) where this logic does not completely apply due to special cases.
Re: Why does the all 0 public key have a known private key in SR25519 and ED25519?
#10Wow. I'm not a cryptographer by any means, but have come into contact with asymmetric cryptography often enough to not do totally stupid things... But this response is really just complete and utter gibberish to me.