Issue No. 02 - February (2008 vol. 57)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2007.70793
This paper proposes a new fast method for calculating modular multiplication. The calculation is performed @using a new representation of residues modulo M called KT -residue. This representation enables the multiplier to be split into two parts which can then be processed separately, in parallel, potentially doubling the calculation speed. The upper part of the split multiplier can be processed by calculating a multiplication modulo M between the multiplicand and this part of the split multiplier. The lower part of the split multiplier can be processed by calculating a multiplication modulo M between the multiplicand, this part of the split multiplier and the inverse of a constant R, where R < M. Two different implementations based on this method are proposed. One uses an interleaved modular multiplier and an interleaved Montgomery multiplier. The other one generates the partial products for each part of the split multiplier separately, which are added and accumulated in a single pipelined unit. A radix-4 version of this hardware implementation is presented as an example. The proposed method is also suitable for software implementation in a multiprocessor environment.
Computer arithmetic, Algorithms
N. Takagi and M. Kaihara, "Bipartite Modular Multiplication Method," in IEEE Transactions on Computers, vol. 57, no. , pp. 157-164, 2007.