2014 Volume 11 Issue 2 Pages 20130955
Squaring and exponentiation of a number are fundamental arithmetic and widely used in the real-time applications such as image processing, digital filtering and cryptography. In this paper, we propose a squaring algorithm of an integer with canonical signed-digit (CSD) number representation. For an n-digit CSD number, our method generates n/4 CSD numbers of 2n-digit length as partial products. This result is half with respect to the conventional squaring algorithms. We implement the squaring circuit based on this algorithm and compare with some existing circuits. Our circuit is 40% faster than the known squaring circuit for binary numbers.