Patent ID: 7016927

Claim:
A method for performing a modular multiplication on data processing means between a multiplicand and a multiplier consisting of a plurality of digits, using a modulus, the modular multiplication being part of a modular exponentiation within the framework of a cryptographic application, and the multiplicand, the multiplier and the modulus being variables of the cryptographic application, the method comprising: determining l multiplication shift values by means of a multiplication-lookahead method while taking into account l blocks of consecutive digits of the multiplier, l being equal to or larger than 2; determining l reduction shift values by means of a reduction-lookahead method for the l blocks of digits of the multiplier; applying the l multiplication shift values and the l reduction shift values to an intermediate result from a previous iteration step, to the modulus or to a value derived from the modulus, and to the multiplicand so as to obtain 2l+1 operands; and combining the operands to obtain an updated intermediate result for an iteration step following the previous iteration step, an iteration being continued for such time until all digits of the multiplier have been processed, wherein the updated intermediate result, once all digits of the multiplier have been processed, is a result of the modular exponentiation within the framework of the cryptographic application.