A New Computation Algorithm for a Cryptosystem Based on Lucas Functions

: Most of public-key cryptosystems rely on one-way functions. The cryptosystems can be used to encrypt and sign messages. The LUC Cryptosystem is a cryptosystem based on Lucas Functions. The encryption process used a public key which was known publicly and the decryption used a private key which was known only by sender and receiver of the messages. The performance of LUC cryptosystem computation influenced by computation of V e the public key process and V d the private key process. Very large scales of computations and timing overhead involved for large values of e and d. We are presenting the so-called Doubling with Remainder compared to the existing technique. It shows better performance in LUC computations by reducing time consumed in its computations. The experimental results of existing and new algorithm are included.


INTRODUCTION
Since the concept of public-key cryptosystems was first published in [2] , there are a lot of possible trapdoor functions proposed. Probably, the best known and most widely used trapdoor function is the exponentiation based cryptosystems. This system is known as RSA public key cryptosystems [7] .
After two decades, the authors in [8] introduced a public key based on Lucas Functions instead of exponentiation based. This system is believed offers good alternative to the RSA.
Lucas Functions are special form of second-order linear recurrence relations using large public integer as modulus. The key distribution concept [2] can be constructed using Lucas Functions. Another interested point is its cryptographic strength. It is much stronger than or at least strong as the exponentiation based systems.
The performance of cryptographic functions is the most critical issues. The effectiveness determined by the performance of its computation. Smith and Lennon [8] concluded that, it has big complications in terms of storage and timing overheads. With very big number e (V e ), the encryption of LUC Cryptosystem cost a huge time and space.
On the other hand, several researchers on fast exponentiation evaluation for RSA have been proposed. Knuth in [5] presented a simple square-multiply method based on the binary representation of the exponent.
Similarly, some researchers worked on fast computation technique for Lucas Functions. Yen and Laih [11] are among the first to propose an efficient algorithms to compute the Lucas Function. They showed the way to reduce the number of multiplications when evaluating the Lucas Function by shortens the length of the LUC Chain. They also proposed two algorithms by scanning the binary form of the exponent and sequentially evaluate the Lucas sequences. A LUC Chain is based on Addition Chain where has been discussed in detail in [5] .
Chiou and Laih in [1] proposed another fast algorithm in which their computation techniques that was slightly better than works in [11] . In other related study [9] also proposed another algorithm. Joye and Quisquater in [4] proposed a technique to compute both U n and V n .
In this study, we proposed fast computation algorithm that was based on Doubling Step. Doubling Steps technique is discussed in [10] . Our algorithm concentrates on how to use a remainder sequence in order to organize the computations and finally obtain the required value of V n .
We proposed a Doubling with Remainder technique. Our technique follows these steps: • Generate a remainder sequence • Use this sequence to direct the LUC cryptosystems computations Lucas function and LUC cryptosystems: Lucas functions can be seen as generalized linear recurrences. A Lucas Function is a sequence of integers V n defined as V 0 =2, V 1 =P, V n =PV n-1 -QV n-2 for n 2. This dentition referred as n th order linear recurrence as stated by [6] . The other sequence in Lucas Function is known as U n . It is defined as U 0 =0, U 1 =1, U n =PU n-1 -U n-2 for n 2. We know that for U n , if the parameters are selected as P=1 and Q=-1, the sequence is the well known Fibonacci sequence.
Noted that, the sequence V n with Q=1 is usually used to devise cryptosystems by cryptographers.

Encryption and decryption for LUC cryptosystems:
It is uses two keys (e,N) and (d,N) which works in pairs for encryption and decryption respectively. A ciphertext, C is obtained by f(P)=Ve(P,1)(mod N) C(mod N), where V e is a Lucas Function, or the e th term of the Lucas sequence. It is derived from the second order recurrence relation: Initial conditions V 0 = 2 and V 1 = P. Meanwhile, the decryption function is applied to ciphertext C by f(C)=V d (C,1)=V d (V e (P,1),1)=V ed (P,1) P(mod N). This function will recover the original message, P. We can use Eq. 1 in existing method.
There are two factors that give impact to the performance and behavior of calculation of LUC Cryptosystems: Eq. 1, we first compute V 2 using V 1 and V 0 . This computation continues with V 3 , where we have V 2 and V 1 . After we get V 3 , we need to calculate V 4 , until finally we compute V 1103 . In general, the computation of V n is done by computation of V 2 , V 3, …, V n-1 and finally V n . Algorithm 1 shows an existing algorithm in [8] . Note that, e is public key and P is message.
3. V f = V 0 and V g = P and Q = 1

. End While
Properties of Lucas Functions: Williams [10] introduced a method of factorization which is known as " +1 factorization" technique. He suggested that Lucas Functions can be used to find a prime divisor of N when +1 have only small prime factors. Smith and Lennon [8] then used some Lucas Functions relation in their public-key cryptosystems.
Some of them are: V n 2 = DU n 2 +Q n (5) These properties are not limited. More results on another property can be found in [10] . Horster et al. [3] have also introduces another relations on Lucas Functions.

A proposed algorithm:
For the purpose of this study, we only focused on Eq. 2-4. We are sure that those selected equations are very useful to reduce a number of computation steps needed to compute the sequences of V n for LUC Cryptosystems. In this study we are only manipulating the Doubling Steps technique.
Our algorithm concentrates on how to reduce as much as multiplication processes. Because, we are sure that the reduction of multiplication processes can reduce time consumed for calculating V n .
We give a name to our algorithm as Doubling with Remainder (DwR). Here V n is either V e or V d . We have the following strategies to achieve high speed of computation technique: • Generate the remainder sequence. This is considered as a part 1 of this proposed algorithm. It is relatively easy as we generate a remainder for any give value of n. • Use the generated remainder sequence to direct the LUC Cryptosystems computation and it is considered as part 2 of the algorithm The Algorithm 2 shows how to use the remainder sequence.
The calculation of private key d: The private key d can be computed from Eq. 7: R = LCM((p-(D/p),q-(D/q)). Note that, LCM is Least Common Multiple, D is discriminant for either prime p or prime q. An e is public key which is known publicly.
The following steps show the computation of private key d: In Algorithm 3, the function with the name of ExtendedEuclid() is the Extended Euclid Algorithm. It is a classical computational number theory that can be found in most numbers theory text books.
The LCM is also classical computational number theory which was known as Least Common Multiple. Algorithm 3 has been tested with the maximum number of digit up to 2000 digits.
Once we got private key d, we can compute V d as the same way we compute V e to get back the original messages, P. We recorded time consume for both encryption and decryption processes. Algorithm 3 shows how to compute private key d. The computation time for both algorithms is our main results. Last but not least we also discuss a difference between two algorithms.
We implemented the SL to compute the value of V n . We can only start the computation with V 2 , because we only know V 0 and V 1 . To calculate V 3 , we need to know V 1 and V 2 . It followed by V 4 because we know the values of V 2 and V 3 . This process continues until we achieved the calculation of V n . The computation will be V 2 , V 3 , V 4 , V 5, ... V n . Very simple computation steps involved. The algorithm is shown in Algorithm 1.
Meanwhile, the remainder sequence is the heart of DwR. For example, compute V 1103 . In this case n = 1103. Table 1 shows how to generate remainder sequence. Use this sequence to direct the doubling steps. The illustration on using remainder sequence is shown in Table 2.   Table 3-5 show time consumed SL and DwR for both encryption (Enc) and decryption (Dec) processes. As a result, the algorithm reduces iterations, speedup the computation and at the same time reduces the computation time.

RESULTS
The results in Table 3-5 are based on the running time for each algorithm in C language in Windows XP Environment, Crusoe Processor TM5800 with 658 MHz and 240 MB of RAM. All computation times are in seconds.
The computation of private key d is possible because we know the values of prime p and q. We also know the value of ciphertext C and public key e. All these values are needed in the computation of private key. In real world, it is not easy to compute private key d.
In our experiments, the times recorded for decryption process also include the time for calculation of Legendre Symbols, Lease Common Multiple and Extended Euclid Algorithm. These three processes required approximately 35% of total decryption process. If we can construct or apply any fast computations algorithm for these three processes, we are sure that we can reduce a computation time.

CONCLUSION
We can speed up the LUC Cryptosystem computation by Doubling with Remainder. The comparison as shown in Table 3-5 proved that the speed can be increased by reducing the number of steps of multiplication. It makes the LUC cryptosystem computations more efficient for security implementation.
Likewise, the reduction of multiplications with the DwR algorithm, enabled us to achieve a good reduction of computation time. It also leads to high reduction in the multiplications required for both the encryption and decryption operations without sacrificing the key size of LUC cryptosystem security.
However, the construction of shorter sequence than the remainder sequence could be interesting research topics. Another interesting research topic is the reduction of some modular multiplications in Lucas Functions itself.