How is the Schnorr digital signature working what is the intution behind its working

101 Views Asked by At

To the best of my understanding any digital signature scheme takes message and private key as input and generates the digital signature for the message and that signature can be verified using message,signatue(message(256 bits)),public key . If you change the message the signature for it would change and will have to guess 2^256 numbers to guess the correct signature.

I was reading schnorr signature scheme from below source which gave information only about mathematical calculation of it and not much of how intutively its working:

Appendix A.1: Schnorr signature

In the Schnorr signature scheme, primes p and q are chosen such that q divides p-1 and q is a safe prime. An integer t (e.g., t ≥ 20) is defined, and g is a generator of a multiplicative subgroup of Z with order q. The message to be signed is denoted as m.

The signer's private key, denoted as s, is a random number chosen from the set {1, 2,..., q}. The corresponding public key, denoted as u, is calculated as v = g mod p.

During the signing phase, the signer chooses a random number k from Z and computes r = g^k, e = H(r, m) (where H is a hash function), and y = se + k mod q. The resulting values (e, y) form the signer's signature of the message m. During the verification phase, the verifier computes x = g^v mod q and checks if e(x, m) holds, where e is the hash value obtained from the signature.

This scheme allows the signer to create a signature for a message using their private key and for the verifier to verify the signature using the signer's public key and the original message.

But what is the intution in most simple non mathematical language behind the working of Schnorr signature scheme How is it working (intution) and how is it different from other signature schemes?