Recall that a message is its own digest, 40 digits long. See the definition
of
message in
basic.rkt at right.
Both the signing function and verification
function require taking the mod of a power.
Since the
modulus is the product of two
100-digit primes, it will be about 200
digits long, as in the example at right.
Since the signature is a large number mod
modulus, it is also
large. We will consider computing the signature in a moment but for now
assume we have computed it as shown at right.
Recall that verifying a signature requires taking its cube and mod-ing it:
x = s3 mod m
In Racket, this is computed by the
verify procedure, used by
the
verified? predicate, both at right.
Then if we try
>(verified? signature) ;; returns #t
How do we create the signature?