**5. The complexity of CAC**

Time and space are usually prominent factors to establish the effectiveness of security solutions. In the before seen sections, we have established the computational difficulty to break the proposed work. Further, we would demonstrate the complexity of the solution in terms of worst-case running time.

The time complexity of Algorithm 1 in worst case is <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ. Since formation of matrix of order *<sup>e</sup>* and Update\_Table() individually will take <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ. In algorithm 2, **for** loop in line number 9, 15, and 17 contributes <sup>O</sup> *<sup>e</sup>*<sup>3</sup> ð Þ in worst case. Since,

$$e = \frac{p - 1}{k}$$

$$\Rightarrow e^3 = \left(\frac{p - 1}{k}\right)^3 \equiv \left(\frac{p^3}{k^3}\right)^3$$

Since *k* is a positive integer, therefore when *k* attains its minimum value i.e. 1,

$$\frac{p^3}{k^3} \equiv p^3 \equiv e^3.$$

For any higher value of *k*, there is guarantee that

$$\frac{p^3}{k^3} < e^3.$$

Hence, we conclude that Algorithm 2 can take <sup>O</sup> *<sup>e</sup>*<sup>3</sup> ð Þ in worst case.

Similarly, in Algorithm 3, **for** loop in line number 4, 5, 6, 7 contributes *e: e: k: k* or say O *e*<sup>2</sup>*k*<sup>2</sup> � � running time in worst case. Using similar analogy as in case of Algorithm 2, worst case complexity will be <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ.

#### **5.1 Encryption**

Encryption as expressed in Algorithm 5 constitutes of three logical divisions and the complexity of encryption would be the sum of the complexity of its part. The state divisions within are as follows;

1.Generating cyclotomic matrix


Starting from the generation of the cyclotomic matrix, comprises the total complexity <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ as stated earlier. Further, checking singularity involves the computation of determinants of the matrix of order *e*. In worst case computing determinant of a matrix of order *<sup>n</sup>* by fast algorithm [43] takes <sup>O</sup> *<sup>n</sup>*2*:*<sup>373</sup> ð Þ. Hence, singularity of the cyclotomic matrix of order *<sup>e</sup>* could be computed in <sup>O</sup> *<sup>e</sup>*2*:*<sup>373</sup> ð Þ time. Finally, multiplication of cyclotomic matrix of order *e* and matrix corresponds to plain text of order *e* will take O *e*2*:*<sup>3728639</sup> time. Therefore, Complexity of Encryption would become <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þþ <sup>O</sup> *<sup>e</sup>*2*:*<sup>373</sup> ð Þþ <sup>O</sup> *<sup>e</sup>*2*:*<sup>3728639</sup> � <sup>O</sup> *<sup>e</sup>*2*:*<sup>373</sup> ð Þ. Thus a polynomial time complexity seems to be quite worthwhile.

#### **5.2 Decryption**

Decryption as expressed in Algorithm 6 that include Algorithm 4 which sums the complexity of Algorithm 1 and 3, therefore takes <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ <sup>+</sup> <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ� <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ time. Further, multiplication of cyclotomic matrix of order *e* by a constant value *r*0, therefore yield <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ complexity. Likewise, inverse of a matrix of order *<sup>n</sup>* can be computed by a fast algorithm [43] in <sup>O</sup> *<sup>n</sup>*<sup>2</sup>*:*<sup>373</sup> ð Þ, therefore, inverse of generated matrix of order *<sup>e</sup>* could be computed in <sup>O</sup> *<sup>e</sup>*<sup>2</sup>*:*<sup>373</sup> ð Þ time. Finally multiplication of two matrix of order *e* could be computed in O *e*<sup>2</sup>*:*<sup>3728639</sup> by best known algorithm [44] till date. Therefore, Complexity of decryption would be <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ <sup>+</sup> <sup>O</sup> *<sup>e</sup>*<sup>2</sup> ð Þ <sup>+</sup> <sup>O</sup> *<sup>e</sup>*<sup>2</sup>*:*<sup>373</sup> ð Þ <sup>+</sup> <sup>O</sup> *<sup>e</sup>*<sup>2</sup>*:*<sup>3728639</sup> , which becomes <sup>O</sup> *<sup>e</sup>*<sup>2</sup>*:*<sup>373</sup> ð Þ.
