Research Article

Efficient Big Integer Multiplication and Squaring Algorithms for Cryptographic Applications

Algorithm 3

Multiple-precision classical squaring, SQ( ).
Input: positive integer   having base digits.
Output: the square in base representation.
    Note: are digits in base r, indicating the result of the addition.
(1) For from 0 up to do: .
(2) For from 0 up to do the following:
  (2.1) Compute , set , and .
  (2.2) For from up to do the following:                 // v  is a single-
  (2.2.1) Compute , set , and .    // precision digit and u
  (2.3) .                             // is a multi-precision
(3) Return .                           // digit in base r