I have read that the RSA numeric signature works as the following:
- Generation of keys : $p,q,N,e,d$
- Process of signing the message $m$ (which is BigInteger) : it uses the secret key $sk=(p,q,d)$ so that $s=m^d\bmod N$ where $N=p*q$.
Why do we use the secret key to sign the message?
How I can hash the message ?
- Process of verification that uses the public key $pk=(N,e)$ and a couple (message $m$, potential signature $s$), and consists in: verifying whether the signature is valid (return true) or not (return false).
Can I get more information and explanation here in the verifying process? (I have read somewhere they use encrypt method and others use decrypt method).