Modular reduction and modular multiplication for large numbers are
required operations in public key cryptography. Moreover, efficient
execution of these two operations is important to achieve high
performance levels in cryptographic engines and processes. The present
invention uses multiplication and addition instead of using division and
subtraction to perform modular arithmetic. The present invention also
achieves some of its advantages through processing which begins with the
high order bits coupled with judicious observations pertaining to
circumstances under which carry output signals from addition operations
are generated. These carry output signals are used to provide corrections
which thus enable the use of the higher order bits and the efficiencies
that such use engenders. Additionally, unlike other methods, the present
invention avoids the baggage of preprocessing and post processing
operations.