Reduce Computation Steps Can Increase the Efficiency of Computation Algorithm

Problem statement: Lucas function is a special form of second-order linear recurrence relation. It is used in LUC cryptosystems. The performance of LUC cryptosystem depends on the size of public key, messages and two relatively primes. The increasing of size of these parameters will increase the computation time need to perform the LUC Cryptosystem computation. The efficiency means the quality to avoid wasted time. Approach: Therefore, the main theme of this study was to design and implement an improve version of computation algorithm. The efficiency of computation can skip some computations time for a computerized calculation. Smaller computation time means the algorithm is better and more efficient than the other algorithm. In this study, the technique on reducing redundant number of computations steps in LUC Cryptosystem was investigated. The use of two variables w and t were proposed in order to reduce some computations steps in LUC Cryptosystem computation. Results: The new technique showed a better computation time compared to the existing algorithm. It also reduced some redundant multiplications without sacrificed the security of LUC Cryptosystem. At the same time, it increases the efficiency of computation algorithm. Conclusion: The proposed algorithm showed better speed and efficiency by reducing some redundant computation steps. It can reduce up to 20% of computation efforts compare to the existing one.


INTRODUCTION
The analysis of algorithms is the area of computer science that provides tools for contrasting the efficiency of different methods of solution. Notice the use of the term methods of solution rather than programs; it is important to emphasize that the analysis concerns itself primarily with significant differences in efficiency where these differences that can be usually obtain only through superior methods of solution and rarely through clever tricks in coding.
Although the efficient use of both time and space is important, inexpensive memory has reduced the significance of space efficiency. Thus, in this study the focus is primarily on time efficiency. Based on this focus, the possible approach is to implement the existing and proposed algorithms in C and run the programs.
In general, the total amount of computation for LUC Cryptosystems is approximately equal to the amount needed for the RSA cryptosystems (Rivest et al., 1978). Horster et al. (1996), the author discussed another approaches of using Lucas functions. Full Lucas Functions computation that involved both sequences U n and V n are shown in (Horster et al., 1996). The cubic analogue of Lucas Functions is discussed in (Castagnos, 2007).
Meanwhile, the work in (Chiou and Laih, 2000) shows different technique compared to the work in (Ali et al., 2010). Smith and Lennon (1993) also provided two factors that give an impact to the performance and behavior of calculation of LUC cryptosystems, there are: (a) Computations of V e and V d are huge and require long computation for large values of e and d (b) The private-key d has to be recomputed for each block of messages The related techniques to overcome these factors are provided. For factor (a) above, the computation of Lucas Function, V e is almost the same as computation of powers. Therefore, the fast technique for the computation of powers can also be implemented on the computation of Lucas Functions.
Meanwhile, factor (b) shows that more computation works are required in the calculation of private key d than in the calculation of the private key for RSA systems. One of the techniques to compute private key d is shown in (Ali et al., 2010). However, this technique is only work when the value of two primes p and q are known.
In this study, the new computation technique that required smaller numbers of computation compare to the existing computation algorithm will be discussed. Briefly, the proposed algorithm is based on Addition Chain.
Two variables such w and t are introduced in order to design an efficient computational algorithm. These values could be used in order to skip some redundant computation of LUC Cryptosystem.
As a result the number of computation is reduced. At the same time, the computations time were also reduced. The efficiency of computation algorithm was increased.

MATERIALS AND METHODS
LUC cryptosystem: Lucas Functions are the second order linear recurrence relation using large public integer as modulo. These functions used in LUC Cryptosystem.
These functions are used in encryption and decryption processes. It is clear that LUC Cryptosystem is a recurrence relation based cryptosystem compared to the RSA that was based on exponentiation (Ribenboim, 1988).
In Lucas Functions computation, the computation of V n needs two values of previous computation. The initial values should be V 0 and V 1 .
A ciphertext, C is obtained by encrypting the message, P by E (P) = V e (P,1)(mod N) = C (mod N). Where, V e is a Lucas Function and e is a public key. While, the decryption function is applied to C by D(C) = V d (C,1) = V d (V e (P,1),1) = V ed (P,1) = P(mod N). Where, V d is a Lucas Function and d is a private key.
An existing algorithm: The existing algorithm can be found in (Ali et al., 2010). In this algorithm, the generated Addition Chain will be used. The following ideas should be considered: (a) An Addition Chain provides an idea of skipping the iterations steps needed to compute Lucas Functions. (b) The computation of V 2n , V 2n−1 and V 2n+1 is done for every k[m] = 0 (c) No computation need for every k[m] = 1 and the only thing to do here is to initiate the next value to be used for next computation Detail explanation on this algorithm can be found in (Ali et al., 2010). The algorithm to generate Addition Chain is shown in Fig. 1, while the algorithm on how to use it is shown in Fig. 2.
The generated array k [0,1,…m] should be used in backward. It means that the computation start with k  It is also clear that V n V j is also compute twice as shown in line 4.i.b and 4.i.c. Meanwhile, V n V j is also computed twice as can found it in line 4.i.b and line 4.i.c. These redundant computations can increase the computation time and surely decrease the efficiency of computation algorithm.
On the other hand, in line 4.i.c, the computation of (4) can be skipped. This is unnecessary computation step found in this algorithm.
Therefore, the computation of this function for each k[m] = 1. Table 1 shows the illustration of LUC Cryptosystem computation for V 1103 for the existing algorithm.
Remember that, array k [0,1,…,m] is generated by Fig. 1. The generating of array k did not show in this study, because the detail of generating array k can be found in (Ali et al., 2010).
Noted that, 'Yes' indicates the required computation, while 'No' indicates no computation is required.  Proposed algorithm: This algorithm shows another computation technique for LUC Cryptosystems. This technique is definitely better than the sum redundancy computation in the existing algorithm. The using of two variables w and t can reduce redundancy in computation of LUC Cryptosystem. The main purpose of this algorithm is to reduce the computation of Lucas Functions. The improvements from the existing algorithm are shown in the following facts: Two variables w and t are introduced in such away to reduce some computation steps. It is clearly shown in lines 4.i.a and 4.i.t.
These values are then used in line 4.ii.a. Table 2 shows the illustration of LUC Cryptosystem computation for V 1103 for the proposed algorithm. Once again, noted that the array k [0, 1,..., m] is generated by Fig. 1.

RESULTS
In this study, the efficiency of those algorithms will be tested with very large size of keys, messages and primes. These three different situations may produce different computation time. When the size of keys, messages and primes are increased; the computation time is increased.
The public key e would also be relatively large integer, because e is chosen so that e is relatively primes to p and q. The primes p and q should also be in large size. Therefore, the value of N is also large, because N = p×q. It is a property of the encryption technique that modest increase in computational cost can produce vast increases in security.
In many applications, the cryptography itself accounts for only a small fraction of the computing cost, compared to such processes of video, voice or image compressions required to prepare the material of encryption. The size of encryption keys could strengthen the security of the systems and the difficulty of all possible keys grows exponentially with the number of bits used. The bigger the primes size, the more work is needed to compute modulo N.

DISCUSSION
The discussion on these algorithms will look into all aspect that could give an impact onto their performance. The following symbols are useful in the discussion: (a) M is a total number of iterations for Addition Chain (b) R is a total number of k [m] = 0 for Addition Chain (c) s is total number of k [m] = 1 for Addition Chain Based on the notation of symbols above, the simplified number of computation for the existing algorithm as 9r and the number of computation for proposed algorithm as 4r+3s.     Table 6-8 show the combination of r and s for  Table 3-5. The total of 1 and 0 must equal to the total number of iterations for Addition Chain.
Consider the situation of Addition Chain (Table 6) with the size of public key is e = 579 with 2868 iterations, s = 948 and r = 1920. The total number of computation for existing algorithm is 17280 (9×1920).
On the other hand, the total number of computation for proposed algorithm is only 10524 (4×1920+3×948). The efficiency of those algorithms also gives an impact to the decryption process.

CONCLUSION
The proposed algorithm shows better computation time and smaller total number of computations. The algorithms are proposed to manipulate the Addition Chain. All algorithms have been implemented to increase the speed of LUC Cryptosystem computation. The proposed algorithm surely shows better speed and efficiency by reducing some redundant computation steps.
The longer the Addition Chain, the longer computation time is needed. Therefore, the size of array k[m] generated by Addition Chain is always depends on the size of public key or private keys. Thus, increasing the key size to gain greater security is feasible by the computation algorithm. Surely, the size of primes plays important roles in LUC Cryptosystems computations.
The two primes, p and q built up modulo N used in LUC computations. It is also found that, the size of private key is almost double when the size of primes is increased. The proposed algorithm proposed can speed up the computations of LUC cryptosystems compared to the existing algorithm (Ali et al., 2010).
The proposed techniques discussed here leads to high reduction in the multiplications required for both encryption and decryption operations without sacrificed the key size of LUC Cryptosystem security. It makes the LUC cryptosystem computations more efficient for security implementation.
The improvement of the proposed algorithms in this study can be focused on: (a) Generating shorter sequence compare to Addition Chain and (b) Finding new property of Lucas Functions.