|| In this paper, we focus on developing a high-speed square root (SQRT) algorithm required for an elliptic curve cryptosystem. Examining Smart algorithm, the previously well-known SQRT algorithm, we can see that there is a lot of computation overlap in Smart algorithm and the quadratic residue (QR) test, which must be implemented prior to a SQRT computation.
It makes Smart algorithm inefficient. The essence of our proposition is thus to present a new QR test and an efficient SQRT algorithm to avoid all the overlapping computations. The authors devised a SQRT algorithm for which most of the data required have been computed in the proposed QR test. Not only there is no computation overlap in the proposed algorithm and the proposed QR test, but also in the proposed algorithm
over GF(p(2)) (4 | p − 1) some computations can be executed in GF(p); whereas in Smart algorithm over GF(p(2)) all the computations must be executed in GF(p(2)). These yield many reductions in the computational time and complexity. We implemented the two QR tests and the two SQRT algorithms over GF(pm) (m=1, 2) in C++ language with NTL (Number
Theory Library) on Pentium4 (2.6GHz), where the size of p is around 160 bits. The computer simulations showed that the proposed QR test and the proposed algorithm over GF(p(m)) were about 2 times faster than the conventional QR test and Smart algorithm over GF(p(m)).