© 2010 Science Publications Methods of Fast Exponentiation

Problem statement: Modular exponentiation constitutes the basis of many well-known and widely used public key cryptosystems. Approach: A fast portable modular exponentiation algorithm considerably enhanced the speed and applicability of these systems, also an efficient implementation of this algorithm was the key to high performance of such system. Results: In this study, two main approaches for solving this problem were proposed. The proposed approaches involved calculations without usage of extra operational memory for saving constants and calculations with usage of preliminary calculated constants. Conclusion/Recommendations: The estimation of complexity of the speedup and effectiveness of proposed approaches for the data were presented.


INTRODUCTION
Protection of information is one of the most important and complicated problems in computer equipment. Specialists face the task of creation of systems for transmission of information, which would maintain the high level of protection and security.
Nowadays the speediest systems of confidential information transmission are the systems with open keys. The majority of these systems use operation of modular exponentiation x y mod z as basic for great numbers (Diffie and Hellman, 1976). The performance of given operation requires high expenses of machinery time. That is why the necessarily of this procedure optimization raises. The given problem can be decided with the help of fastening of exponentiation operation performance for numbers of high digit capacity.
There two main approaches solving this problem to be underlined: the calculation without usage of extra operational memory for saving of constants and calculation with usage of preliminary calculated constants, which will be saved in memory location. The purpose of the work is investigation of exactly these methods of exponentiation.

MATERIALS AND METHODS
Calculation without usage of extra operational memory for saving of constants: In systems of calculus with alphabet {0, 1} numbers are given in such way: From this we have: For binary calculus the expression (2) takes the form of: With the help of Horner's method the formula (3) can be represented by means of the following expression: The expression (4) is basis for description of the "binary" method of quick exponentiation (Knuth, 1981) resulting in the fact that the process of exponentiation for the numbers represented in binary calculus comes to execution of the following calculations: The number of multiplication operations n m required for the realization of the exponentiation can be calculated according to the formula:  Fig. 1 the necessity of execution of division operation, which requires high time spending (Knuth, 1981). That is why representation of numbers in FC is more reasonable.
Any natural number in FC is represented as the following (Stakhov and Luzhetsky, 1981): Hence expression takes on the following form: Process of exponentiation for numbers represented in FC comes to execution of the following calculations: If the number of digits n for representation of number N is same for different Calculus's, than the following in equation is valid: So, for maintenance of minimal number of multiplications it is reasonable to represent data in the calculus, for which the following equation is valid: i.e., in binary calculus. It is known that consistent calculation character is a principal lack of Horner's method. That is why for parallelization of calculations let us represent the other method of quick exponentiation described as follows: So, the process of exponentiation comes to execution of the following calculations: According to expression (6)  Where: F p p 1 w k = ⋅ α k = Coefficient α P = "golden" p-ration (Stakhov and Luzhetsky, 1981) The values of the k and a are listed in the Table 1 and 2 correspondingly.
On the basis of the expression (7) was created a diagram of dependence between the average number of the operations of multiplication and the value of p (Fig. 3). The diagram analysis shows that fulfillment of exponentiation over the data operation, represented in FC, requires greater number of the operations than over the data, represented in calculus systems with frame of s = 2 t .
In case of using parallel algorithm the amount of multiplication operations equals to: Having analyzed the diagram of dependence of the number of multiplication operations upon the value of p and the value of speedup and effectiveness in case of using parallel algorithm for data Fig. 4, represented in FC, we may conclude the following: to provide the minimum amount of multiplication operations and to provide the greater effectiveness of parallel algorithm it's reasonable to represent the data in calculus systems with frame of s = 2 t . Considering that fact we have diagram of dependence of amount of memory cells upon the p parameter (Fig. 6).
Comparative analysis of diagrams of dependence ( Fig. 5 and 6) shows that the fulfillment of exponentiation operation in case of representation of figure in FC requires the less amount of memory cells, than in case of representation of figures in calculus's with frame of s = 2 t .

RESULTS AND DISCUSSION
• Diagram of dependence of the number of multiplication operations upon the value of frame of calculus s has the highest advantage in number of operations • Parallel algorithm with frame of s=2 t provides the minimum amount of multiplication operations and provides the greater effectiveness