Making the Signing and Verification Functions Inverses

Suppose x is a message, represented as a number.

Then the signature s is computed by the signing function:

     s = xe mod m
for a chosen signing exponent e and modulus m.

This function is private because e is known only to the author.

The modulus m must be public because it is used by the receiver of the message in the verification function:

     x = s3 mod m
This works because m and e are chosen in such a way that:
     x = (xe mod m)3 mod m