If Alice wants to prove to Bob that she is the owner of the private key, x
without exposing x
They can use the Schnorr identification protocol with public functions sG = kG + exG
And a private scalar function s = k +ex
. In these features G
This is the static generator point. k
A hidden nonce chosen by Alice to protect. x
so as not to reveal it to Bob e
A nonce that Bob chooses to trust. kG
(If someone pretends to hold it, it can’t be counted. x
).
This all makes sense to me, but I wonder why. e
is multiplied x
Instead of just following the same addition operator k
. So the equation is: sG = kG + eG + xG
and s = k + e + x
. k
There is a very good reason to use addition. x
It’s hidden. I can’t think of a meaningful difference in the goals of the protocols if: e
If we multiply or add, wouldn’t we be missing a key concept?