# Rabin signature algorithm

In Rabin's scheme, the public key is an integer n where $n = pq\,$, and p and q are prime numbers which form the private key. The message to be signed must have a $\sqrt{mod~n}\,$; otherwise, it has to be modified slightly. Only about 1/4 of all possible messages have square roots mod n.
Signature:
$s = m^{1/2}mod~n\,$

Verification:
$m = s^2 mod~n\,$