10. The computational complexity on the elliptic scalar multiplication methods

This chapter discusses the problems of the computational complexities which are determined depending on the account operations. These operations are the elliptic curve operations, namely, the addition A and doubling D on the points which lie on elliptic curve E defined over a prime field Fp. Also, the finite field operations which are field inversion I, field multiplication M and a field squaring S. The computational complexity problems are determined first of the original binary methods and NAF for computing the scalar multiplications on E. The computational complexities of the proposed methods which are dependent on the graphs and subgraphs are determined as well.

#### 10.1 The computational complexity of the binary methods

Let #E (Fp) = n, where n is prime number and it is the nearest number to prime p. A point P in E(Fp) which has order n. Suppose v is a scalar such as v is a randomly selected integer from the interval [1, n�1]. The binary representation of v is denoted (em – <sup>1</sup>… e2.e1.e0)2 where m ≈ t = log2p.

The computational complexity of Algorithm (4.1) or (4.2) is roughly t/2 point additions and t point doublings, which is denoted by

$$\frac{t}{2}A + tD,\tag{3}$$

The Graphs for Elliptic Curve Cryptography DOI: http://dx.doi.org/10.5772/intechopen.83579

in addition to the time of binary representation which is approximately t/2d and t/2S, where d and S are normal addition and squaring. Using Lemmas (6.1) and (6.2) in [18, 19], the points addition A and doubling D can be re-expressed by 1I þ 2 M þ 1S and 1I þ 2 M þ 2S, respectively. In other words, the computational complexity of Algorithm (4.1) or (4.2) is expressed in terms of field operations by.

$$\text{3tS} + \text{3tM} + \text{1.5tI} + \text{0.5td.} \tag{4}$$

Several computational complexity results to compute a scalar multiplication by applying the binary method are given in Table 6.

#### 10.2 The computational complexity of the NAF

With same the multiplier v which belongs to the interval [1,n � 1], the computational complexity to compute a scalar multiplication vP using the NAF is given by

$$D + \frac{t}{3}A + tD = \frac{t}{3}A + (t+1)D. \tag{5}$$

In Eq. (5), D in the first term is the cost of NAF to represent a positive integer v, t/3A þ tD is the cost of computing a scalar multiplication vP using NAF method, and t is the length of the NAF string. In other words, the running time of Algorithm (5.1) is expressed in terms of field operations by

$$\begin{aligned} \mathbf{t}/\mathbf{3}(\mathbf{1} + \mathbf{2}\,\mathbf{M} + \mathbf{1S}) + (\mathbf{t} + \mathbf{1})(\mathbf{1} + \mathbf{2}\,\mathbf{M} + 2\mathbf{S}) &= ((\mathbf{t}/\mathbf{3}) + \mathbf{t} + \mathbf{1})\mathbf{I} + ((2/3)\mathbf{t} + 2\,\mathbf{t} + 2)\mathbf{M} \\ &+ ((\mathbf{t}/\mathbf{3}) + \mathbf{2}\,\mathbf{t} + 2)\mathbf{S}. \end{aligned} \tag{6}$$


Table 6.

The experimental results of the computational complexity for the scalar multiplications using the binary method.


Table 7.

The experimental results of the computational complexity for the scalar multiplications using the NAF method.

Some numerical results of the computational complexity to compute a scalar multiplication using the NAF method are given in Table 7.
