Second Attempt: mod-expt

     (define mod-expt
       (lambda (base exponent modulus)
         (define mod*
           (lambda (x y)
             (remainder (* x y) modulus)))
         (if (= exponent 0)
             1
             (if (even? exponent)
                 (mod* (mod-expt base (/ exponent 2) modulus)
                       (mod-expt base (/ exponent 2) modulus))
                 (mod* (mod-expt base (- exponent 1) modulus)
                       base)))))
Q: What is the recursion depth in terms of the exponent e?

A: Θ(log e)

     > (log signing-exponent)
     455.10833485713016

Q: How many multiplications does it have to do?