Abstract
Modular arithmetic over integers is required for many cryptography systems. Montgomery reduction is an efficient algorithm for the modulo reduction after a multiplication. Typically, Montgomery reduction is used for rings of ordinary integers. In contrast, we investigate the modular reduction over rings of Gaussian integers. Gaussian integers are complex numbers where the real and imaginary parts are integers. Rings over Gaussian integers are isomorphic to ordinary integer rings. In this work, we show that Montgomery reduction can be applied to Gaussian integer rings. Two algorithms for the precision reduction are presented. We demonstrate that the proposed Montgomery reduction enables an efficient Gaussian integer arithmetic that is suitable for elliptic curve cryptography. In particular, we consider the elliptic curve point multiplication according to the randomized initial point method which is protected against side-channel attacks. The implementation of this protected point multiplication is significantly faster than comparable algorithms over ordinary prime fields.
1. Introduction
Montgomery reduction is an efficient method that performs modulo reduction after an integer multiplication. The reduction algorithm uses multiplication and simple bit-wise operations instead of an expensive division [1]. Public-key cryptography based on the Rivest-Shamir-Adleman (RSA) system benefits from the efficient Montgomery modulo reduction [2,3]. Similarly, elliptic curve cryptography (ECC) systems over prime fields apply Montgomery reduction to support arbitrary prime curves [4,5,6,7,8,9,10,11,12,13,14].
In this work, we consider the modulo reduction for Gaussian integers. Gaussian integers are complex numbers such that the real and imaginary parts are integers. Arithmetic over Gaussian integers for the RSA system was proposed in [15,16,17,18]. In [17,18], it was shown for the RSA system that a significant complexity reduction can be achieved with Gaussian integers. Due to the isomorphism between Gaussian integer rings and ordinary integer rings, this arithmetic is suitable for many cryptography systems. The Rabin cryptography system and elliptic curve cryptography over Gaussian integers were considered in [19,20,21,22]. Moreover, coding applications over Gaussian integers use Gaussian integer arithmetic [23,24,25,26,27,28].
To reduce the complexity of the modular reduction, we investigate Montgomery reduction algorithms for finite Gaussian integer rings. However, it is not trivial to generalize Montgomery reduction to Gaussian integers. The final step of the reduction algorithm is based on the total order of integers which does not exist for complex numbers. In [29], a Montgomery reduction algorithm was proposed that utilizes the absolute value to measure the size of a Gaussian integer. This study is an extension of our paper [29]. In this work, we present a new approach that aims on reducing the complexity of the reduction presented in [29]. In this algorithm, the absolute value is replaced by the Manhattan weight. The calculation of the Manhattan weight requires only a single addition, whereas the calculation of the absolute value requires addition and two squaring operations. On the other hand, the reduction using the Manhattan weight may not always obtain a unique solution. There are at most two possible solutions that are congruent. For many applications uniqueness is not an issue for the intermediate results in calculations, which require many subsequent reduction steps. For the final result, the correct representative can be calculated using absolute values.
The proposed concept of Montgomery reduction was applied in [22] for the efficient calculation of the elliptic curve point multiplication. In particular, an area-efficient coprocessor was designed in [22]. This processor uses the proposed Montgomery modular arithmetic over Gaussian integers. It is shown in [21,22] that a key representation with a Gaussian integer expansion is beneficial for the calculation of the point multiplication. This key representation reduces the computational complexity and the memory requirements of a secure hardware implementation, which is protected against side-channel attacks [30,31,32,33,34,35,36,37]. In this work, we provide the theoretical justification for the reduction algorithms applied in [22]. Furthermore, we present new results for protected implementations of the point multiplication. In particular, we consider the randomized initial point method proposed in [38]. This method is protected against several side-channel attacks, i.e., differential power analysis (DPA), zero-value point attacks (ZPA), and refined power analysis (RPA) [32,38]. We present synthesis results for a field-programmable gate array (FPGA) based on the architecture proposed in [22]. The protected implementation of the point multiplication is significantly faster with Gaussian integers. Moreover, it requires less memory and fewer flip-flops than the PM algorithms over ordinary prime fields reported in [39,40].
This publication is organized as follows. We review the Montgomery multiplication of ordinary integers and discuss some properties of Gaussian integers in Section 2. In Section 3, Montgomery reduction based on the absolute value is investigated. We present a low-complexity reduction algorithm based on the Manhattan weight in Section 4. To demonstrate that the arithmetic over Gaussian integers is useful, we consider the complexity for the elliptic curve point multiplication according to the randomized initial point method in Section 5. In Section 6, we discuss the results and conclude our work.
2. Preliminaries and Problem Statement
In this section, we briefly discuss Montgomery reduction of ordinary integers. Moreover, we review some properties of Gaussian integer rings.
2.1. Montgomery Reduction of Ordinary Integers
Montgomery reduction is considered in several ECC and RSA cryptography systems to decrease the complexity of the arithmetic in prime fields [9,11,14] as well as in rings [2,3]. The Montgomery multiplication uses the arithmetic over a ring that is isomorphic to the integer ring [1]. Montgomery reduction algorithm reduces the complexity of the modulo reduction. The expensive calculation is replaced by , where is a power of two. Hence, the modulo reduction in the ring is a simple bitwise AND operation with .
For the Montgomery arithmetic, an element is mapped to the Montgomery domain as
Addition in the Montgomery domain is isomorphic to ordinary integer modular arithmetic, because
The multiplication in the Montgomery domain needs Montgomery reduction function described in Algorithm 1. This function defines the inverse mapping, since . Using the reduction function, we obtain the product
in the Montgomery domain.
| Algorithm 1 Montgomery reduction according to [1]. |
| input: Z, with , , and |
| output: |
|
Typically, all variables are mapped at the beginning of the calculation into the Montgomery domain using this reduction function as
since only one precomputed value is required.
We illustrate the Montgomery reduction of ordinary integers with an example. The binary representation of positive integers is denoted by brackets with the subscript 2.
Example 1.
We consider the product of two numbers and from . The two integers x and y are mapped to the integers and with in the Montgomery domain. Hence, all elements of the Montgomery domain can be represented with five binary digits. The product corresponds to in the Montgomery domain.
With Algorithm 1, we can reduce the product as follows. With , we first calculate . Note that the modulo reduction of the binary representation is a simple bitwise AND operation with or equivalently the truncation of all bits except the five least significant bits. The integer 3003 has the binary representation and the five least significant bits represent the value .
Next, we calculate the quotient . For , the division by R without remainder in the binary representation is a simple right-shift by five bits or equivalently the truncation of the five least significant bits. The integer 1056 has the binary representation . The division without remainder results in which is the binary representation of 33. The final result in the Montgomery domain is because . To obtain the result in , we apply Montgomery reduction for the inverse mapping .
2.2. Rings of Gaussian Integers
The modulo arithmetic over Gaussian integers is based the modulo function
where x and are Gaussian integers. is the conjugate of the Gaussian integer . The brackets denote rounding to the closest Gaussian integer [23], i.e., for a complex number , we have . The set
is a finite ring. For primes p of the form , is a finite field which is isomorphic to the prime field over ordinary integers [23]. Such fields are suitable for elliptic curve cryptography [21,22]. A prime of the form is the sum of two perfect squares, i.e., with the Gaussian integer .
Moreover, for integers such that c and d are primes of the form and , the set is a ring that is isomorphic to the ring over ordinary integers [26]. Such Gaussian integers are suitable for the RSA public-key system [17,18].
Consider Montgomery reduction in Algorithm 1. Lines 3 to 7 of this algorithm uniquely determine the smallest integer that is congruent to . However, complex numbers cannot be totally ordered [24]. Hence, it is not possible to directly apply this reduction algorithm to Gaussian integers. This reduction problem is not regarded in [17,18].
In this work, we consider two reduction strategies using different norms. One algorithm uses the absolute value of the Gaussian integer . The second approach is based on the Manhattan weight . Calculating the Manhattan weight is less complex than calculating the absolute value, because only addition is required, whereas squaring is necessary to determine . Note that
holds for any x which follows from squaring both sides of the inequality.
2.3. Finding Primes of the Form
An algorithm for primes of the form to find such that is proposed in [23]. This algorithm consists of two steps.
- Find x such that , which can be done using the Tonelli-Shanks algorithm [41].
- Use the Euclidean algorithm to determine the greatest common divisor of p and x. The first two remainders less than are a and b.
On the other hand, there exist many primes of the form such that or . Exploiting this observation we can search for a such that the sum or is prime. This can significantly reduce the search complexity. Table 1 illustrates some examples of such primes with sufficient bit lengths for ECC applications.
Table 1.
Examples for primes of the form with or .
3. Montgomery Reduction for Gaussian Integers
In this section, we consider some important properties of Gaussian integers and derive Montgomery reduction for Gaussian integers using the absolute value. First, we show that the set is symmetric and that the absolute value of any element of this ring is bounded.
Lemma 1.
For any we have the following symmetry
The absolute value is bounded by
Moreover, for any with we have
Proof.
Consider the quotient , where c and d are the real part and the imaginary part of . For we have . Hence, the rounded quotient satisfies
This implies and , . Hence, we can bound the absolute value of the quotient as
Multiplying both sides by results in (9). Note that , or have the same absolute value. Hence, (8) holds.
Finally, consider a Gaussian integer which is congruent to x, i.e., . We use the notation . Note that implies and . Moreover, at least one rounded value or is nonzero because , where results in . Similarly, implies . Hence, we have (10). □
The next example demonstrates that is not a sufficient condition for .
Example 2.
We consider the finite field for the Gaussian integer . All elements of this field are depicted in Figure 1. Consider with , i.e., and . Both Gaussian integers satisfy and . Hence, it is not possible to determine the representative based on the bound (9). The representative follows from (10), as .
Figure 1.
Elements of the Gaussian integer field with .
Next, we consider now Montgomery reduction. The reduction for Gaussian integers can be performed according to Algorithm 2, where
Steps 1 and 2 in Algorithm 2 are applied separately for the real- and imaginary part. We demonstrate that Algorithm 2 always obtains a precision reduction resulting in the correct representative.
| Algorithm 2 Montgomery reduction for Gaussian integers |
| input:, , |
| output: |
Proposition 1.
For M and Z according to Algorithm 2, we have
Proof.
We consider the sum in step 2 of Algorithm 2, where
implies that R divides . Considering the corresponding quotient , we have
This shows that q is congruent to or . The absolute value of is bounded, i.e.,
As shown in Example 2, the quotient q may not be the correct representative even for . The congruent values with are also possible candidates. However, for any and , the lower bound
follows from the triangle inequality and Lemma 1. Consequently, the quotient q is the unique solution for . Furthermore, for any the condition implies
Hence, only the candidates according to (11) are possible for . Using Lemma 1, it follows that the correct candidate can be found by minimizing the absolute value among all candidates according to (11).
If , the result M is calculated as with according to (12). To demonstrate that (12) is correct, we derive the bound . Consider again the quotient . We aim to compensate the offset by , where the absolute values are bounded by
This follows from due to the reduction and implies the bound . □
Example 3.
As an example for Montgomery reduction, we consider the product of two numbers and from or the corresponding field of Gaussian integers with . The two integers x and y are mapped to the Gaussian integers and with in the Montgomery domain. The product corresponds to in the Montgomery domain.
With Algorithm 2, we can reduce the product as follows. With , we first calculate . Note that the modulo reduction is a simple bitwise AND operation with .
Next, we calculate the quotient . For , the division by R without remainder is a simple right-shift by three bits. The quotient is the final result without further reduction steps because .
The product corresponds to in the field . To obtain this result, we apply Montgomery reduction for the inverse mapping . With , we have and the result . Again, no reduction is required because the condition is satisfied.
We illustrate the final reduction procedure of Algorithm 2 in the following example. There are up to eight possible values according to (11) and (12). However, not all potential values have to be considered for the reduction. The number of valid candidates can be reduced based on the signs of the real and imaginary part of q.
Example 4.
We consider again the finite field of Gaussian integers with . Figure 2 depicts all possible quotients q in the Montgomery domain after the first two steps of Algorithm 2. For we have . Thus, should be determined according to (11). However, there are only two possible values for α, i.e., , as q is in the first quadrant. Calculating and leads to . Consequently, we obtain the representative .
Figure 2.
Illustration of the the Montgomery domain for and . Circles centered with a point are possible quotients q after Montgomery reduction and filled circles are possible offsets .
Algorithm 2 achieves the desired precision reduction, where the final reduction step always results in the correct representative . This result satisfies the bound . The number of possible candidates is restricted depending on the absolute value of q, as illustrated in (11) and (12).
Nonetheless, the reduction according to Algorithm 2 can be rather complex due to the squaring to determine the absolute values. This complexity may not be required in all applications of the Montgomery multiplication. For applications in cryptography, it is adequate to find the unique representative only in the last calculation step, whereas for intermediates results a reduction that achieves is sufficient. This motivates a low complexity Montgomery reduction based on the Manhattan weight, which is considered in the next section.
4. Precision Reduction for Gaussian Integers Using the Manhattan Weight
In this section, we present a low complexity precision reduction for Gaussian integers based on the Manhattan weight, i.e., the absolute value in the reduction algorithm is replaced by the Manhattan weight. The calculation of the absolute value requires squaring, whereas the Manhattan weight requires only addition. On the other hand, this algorithm may not obtain a unique solution. However, there are at most two possible solutions that are congruent. In ECC or RSA systems that require many reduction steps, this algorithm can be used for the intermediate results.
Without loss of generality we consider with . The precision reduction is described in Algorithm 3, where
and . We demonstrated that this algorithm always obtains , where .
| Algorithm 3 Precision reduction for Gaussian integers |
| input:, , |
| output: |
|
First, we note that using the symmetry according to Lemma 1, we can restrict the following derivations to the elements of the first quadrant. Next, we consider some important properties of the Manhattan weight.
Lemma 2.
For the Manhattan weight is upper bounded by
Proof.
Let c and d be the real part and the imaginary part of . For we have and consequently
This implies and , . Hence, we consider to upper bound the real and imaginary parts of x as
Note that either a is odd and b is even or vice versa because p is an odd prime. Furthermore, the real- and imaginary parts of x are integers. Consequently, we have
We can bound the Manhattan weight of x as
With , the Manhattan weight of x is upper bounded by
Hence (15) holds. □
Next, we consider bounds on the Manhattan weight for the sum and product of two elements . Note that we consider arithmetic without modulo reduction.
Lemma 3.
For we have the upper bounds
for arithmetic without modulo reduction.
Proof.
The bound on the sum follows from the triangle inequality and (15), i.e.,
Without loss of generality we consider two elements and from the first quadrant for the product in (19). This implies or . Similarly, we have . For the product we have
First, consider the absolute value of the imaginary part
To determine the maximum value, we consider the bivariate function and its partial derivatives
This results in a maximum for and the bound . Due to symmetry this bound also holds for the absolute value of the real part. Hence, we have
□
The following proposition demonstrates that Algorithm 3 results in the desired reduction.
Proposition 2.
For M and Z according to Algorithm 3, we have
Proof.
The first two steps are identical in Algorithm 3 and Algorithm 2. Hence, the first statement (25) follows from the same arguments as in the proof of Proposition 1.
Finally, we can now describe the final reduction step of Algorithm 3. Note that there are eight possible values for according to (14), but not all potential values have to be considered. The reduction procedure is demonstrated in the following example.
Example 5.
Again, we consider the finite field of Gaussian integers with , where all possible values of q after the first two steps of Algorithm 3 are depicted in Figure 2.
For instance, consider the product of and from . The two integers x and y are mapped to the Gaussian integers and with in the Montgomery domain. The product corresponds to in the Montgomery domain.
With Algorithm 2, we can reduce the product as follows. We calculate and the quotient . A valid solution of the reduction is a Gaussian integer M with . We have . Hence, further reduction is required. As q is in the first quadrant, we have three possible values for α, i.e., . Calculating results in , where only the solution satisfies the condition . Hence, we choose as the final result.
The final reduction step results in a Gaussian integer x with . Hence, Algorithm 3 achieves the desired precision reduction using the Manhattan weight. However, the result may not always be an element of the ring. For instance, for some the value is a ring element. Alternatively, the point can be a ring element. Both values are congruent and can satisfy , depending on . The ring element is the value with the smallest absolute value. There exist at most two congruent values with Manhattan weight less or equal N. Consequently, the correct representation can be selected by minimizing the absolute value of these two congruent values. Depending on the application this step might be required once to obtain the final result .
5. Elliptic Curve Point Multiplication
In this section, we consider the elliptic curve point multiplication to demonstrate that the arithmetic over Gaussian integers enables an efficient calculation. Calculations of the elliptic curve point multiplication are prone to side-channel attacks. For example, an attacker can estimate the secret key based on the required power consumption of the different arithmetic operations over time. There are many known attacks on the point multiplication like timing attacks, simple power analysis, differential power analysis, refined power analysis, and zero-value point attacks [32,38].
The concept for the point multiplication over Gaussian integers was introduced in [22], where an area-efficient coprocessor design was proposed with an arithmetic unit that enables Montgomery modular arithmetic over Gaussian integers. It is shown in [22] that a key representation with a Gaussian integer expansion is beneficial to reduce the computational complexity and the memory requirements of a secure hardware implementation considering timing attacks and simple power analysis. This architecture supports different point multiplication algorithms. In contrast to [22], we consider the randomized initial point method which is additionally protected against differential power analysis, refined power analysis, and zero-value point attacks [32,38]. We refer to [22] for the architecture and the implementation details.
In the following, we consider the elliptic curve
which is recommended for prime fields [32,42]. The parameters and are constant coefficients. The pair x and y defines the coordinates of a point on the curve. The one-way function of elliptic-curve cryptography is the point multiplication, i.e., , where P is a point on the elliptic curve and k is an integer. The point multiplication is typically implemented based on the binary expansion of the integer k with binary digits , where r is the length in bits and is the binary representation of the key (the integer k). This method requires two different point operations, the point addition (ADD) and the point doubling operation (DBL) [32]. Let and be two distinct points on an elliptic curve (28), then the sum is calculated as
Similarly, the point doubling operation is defined as
The calculations in (29) and (30) are typically performed using arithmetic over prime fields. However, we consider arithmetic over Gaussian integer fields, where .
As an alternative to the binary expansion key representation, -adic expansions of the integer k with a non-binary basis were proposed to speed up the point multiplication (PM) and to improve the resistance against attacks [38,43,44,45,46,47]. The -adic expansion results in the point multiplication
where we consider digits from a Gaussian integer field.
To demonstrate that a -adic expansion with arithmetic over Gaussian integers can reduce the computational complexity, we consider an example based on the curve (28) with . For the products we use the endomorphism for prime fields [32,48]. Note that is a point on the curve (28) if is a valid point. The negation of any point is according to [32]. Hence, for the products with we have
Using this endomorphism, we can calculate other products , e.g., requires a DBL, the mapping , and an ADD operation. Several other endomorphisms for different curves over prime fields can be fund in [32,48].
For the point multiplication, we consider the randomized initial point method according to Algorithm 4. This method introduces a random point R into the calculation of the point multiplication. Consequently, all intermediate results in the calculation of the point multiplication become randomized. The algorithm starts with a precomputation phase, where the points are computed in steps 1 to 4 and stored in a memory. The point addition in step 5 results in the point . This point is multiplied with and then added to the corresponding precomputed point in the loop in steps 6 to 9 of this algorithm. Due to the second product of the precomputations , we obtain the point after each iteration of this loop. Correspondingly, the final result is the point . Hence, we obtain the correct result of the point multiplication by subtracting R from Q in step 10. The point addition in step 8 is computed in each iteration since the -adic expansion of the key according to [22] excludes all zero elements. This prevents SPA and timing attacks. Furthermore, all stored points are randomized due to the subtracting the random point . Thus, the resistance against DPA, RPA, and ZPA is increased.
We can use the reduction based on the Manhattan weight in Algorithm 3 for all interim results in the point multiplication. The aim of the reduction of interim results is finding a Gaussian integer that has a Manhattan weight satisfying and is congruent to the actual representative x. The reduction algorithm can be stopped once a value with is found. Hence, not all offsets in (14) have to be considered in every reduction. Table 2 presents numerical results on the number of required reduction steps for different field sizes. The four columns on the right in Table 2 provide the percentage for the number of required offset reduction steps after an arithmetic operation, where no reduction is required if the result q already satisfies . These results illustrate that sequential processing of the offset reduction is suitable for the point multiplication because of all operations require no reduction since is satisfied. About of all operations require a single reduction step. Two or three calculation steps were required in approximately of all cases.
| Algorithm 4 Point multiplication according to the randomized initial point method from [38]. |
| input:P, |
| output: |
|
Table 2.
Primes of the form suitable for elliptic curve cryptography (ECC) applications and the percentage of occurrences of offset reduction steps.
On the other hand, the different execution times of the reduction steps may cause concerns about side-channel vulnerabilities. However, the probability for additional reduction steps is relativity low. Moreover, the randomized initial point method also randomizes the occurrence of these additional steps.
Next, we demonstrate that determining the point multiplication using Gaussian integers reduces the computational complexity. The number of required point operations per iteration of the point multiplication is similar to the results in [22]. However, some additional computations are required to subtract the random point. As in [22], we estimate the computational complexity for the point multiplication in terms of multiplication equivalent operations M. Table 3 illustrates two examples for the complexity with different bases . The parameter r denotes the maximum key length in bits and the value l is the number of iterations per point multiplication. A larger value of reduces the number of iterations and speeds up the computation compared with a conventional binary PM, but requires more storage for the precomputed points.
Table 3.
Complexity results for Algorithm 4 with different -adic expansions in comparison with ordinary integer expansions from [38] for a binary key of length .
The results are compared with the point multiplication according to randomized initial point but using ordinary integer expansions as proposed in [38] for comparable base values w. For instance, we can compare the complex base with digits and the base with digits from [38]. For these values, the number M of multiplications is reduced by . This reduction results mainly from the simpler calculation of for Gaussian integers due to the used endomorphism. In [21], a similar PM with -adic expansions over Gaussian integers was proposed. This algorithm additionally reduces the number of precomputed and stored points. However, this method considers only timing and simple power analysis attacks. It is more vulnerable to statistical attacks than the randomized initial point method.
To illustrate the efficiency of Gaussian integer arithmetic, we consider latencies for the point multiplication according to Algorithm 4 using both norms in Table 4. The table provides results for a Xilinx Virtex-7 field-programmable gate array (FPGA) based on the architecture from [22]. The hardware requirements are represented by the number of look-up tables (LUT), flip-flops (FF), slices, and digital signal processor (DSP) units, as well as by the RAM size. The maximum clock frequency is denoted by . These point multiplications are significantly faster than the results from [39,40]. For instance, the design in [40] considers key lengths up to and the unprotected PM. This design is optimized for the use of DSP units which reduces the number of LUT. The number 1990 of LUT is similar to the proposed design with key length using DSP units. It employs much more flip-flops (1786) and memory (234 kbit). An unprotected PM of length requires 23.5ms whereas the proposed protected PM requires only 6.87ms for .
Table 4.
Field-programmable gate array (FPGA) synthesis results for the point multiplication according to Algorithm 4 using the absolute value (abs.) and the Manhattan weight (Man).
Note that the latency values for the reduction algorithms depend on the hardware architecture. The calculation of the Manhattan weight requires one addition which is performed in a single clock cycle with the architecture from [22]. For the absolute value, two additional multiplications are required which need four clock cycles each. Hence, the latency for calculating the Manhattan weight is only 11% of the time for the absolute value. The results in Table 4 illustrate the impact of this complexity reduction on the total latency of a point multiplication. Applying the Manhattan weight reduces the latency of a PM by 13% compared with the reduction algorithm from [29].
6. Conclusions
Gaussian integers are suitable for RSA [17,18] and ECC applications [22]. Furthermore, Gaussian integers have applications in coding theory [23,26]. The Montgomery multiplication for Gaussian integers was previously proposed in [17,18]. However, no reduction algorithm was advised.
The generalization of Montgomery reduction to Gaussian integers is not trivial, because complex numbers cannot be totally ordered. In this work, we have presented two algorithms for Montgomery reduction for Gaussian integers which use different norms. The first algorithm utilizes the absolute value to measure the size of a Gaussian integer. This algorithm can uniquely determine the correct representative. The second algorithm is based on the Manhattan weight of Gaussian integers, which reduces the computational complexity for the modulo reduction. However, two congruent solutions may occur. It is not possible to determine the correct candidate based on the Manhattan weight. The correct representative is the candidate with the smaller absolute value. Hence, the first algorithm is required to determine the final result, e.g., for the inverse mapping from the Montgomery domain to the original field representation.
It is shown in [21,22] that a key representation with a Gaussian integer expansion is beneficial to reduce the computational complexity and the memory requirements of elliptic curve point multiplication algorithms that are protected against side-channel attacks. However, only timing and simple power analysis attacks were considered. This PM is vulnerable to statistical attacks [38]. As an alternative, we have shown that Gaussian integer expansions can be used with the randomized initial point method. This method is protected against statistical attacks like DPA, RPA, and ZPA. The FPGA implementation of this protected PM with Gaussian integer expansions is significantly faster than the PM algorithms over ordinary prime fields reported in [39,40].
However, Gaussian integer fields can only be constructed for primes of the form , hence a generalization of this work to Eisenstein integers could be beneficial. Eisenstein integers are complex numbers of the form , where , and Eisenstein integer fields can be constructed for primes of the form . An elliptic curve point multiplication using Eisenstein integers was considered in [49] showing similar properties as the point multiplication over Gaussian integers. Up to now no efficient modulo operation for Eisenstein integers is known. We believe that a generalization of the Montgomery modular multiplication to Eisenstein integers would be a promising direction for further research.
Author Contributions
The research for this article was exclusively undertaken by M.S. and J.F. Conceptualization and investigation, M.S. and J.F.; writing–review and editing, M.S. and J.F.; writing–original draft preparation, M.S.; supervision, project administration, and funding acquisition J.F.; All authors have read and agreed to the published version of the manuscript.
Funding
The German Federal Ministry of Economics and Technology (ZF4559701ED8) supported the research for this article.
Acknowledgments
The authors would like to thank Hyperstone GmbH, Konstanz for supporting the research for this article.
Conflicts of Interest
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.
References
- Montgomery, P.L. Modular multiplication without trial division. Math. Comput. 1985, 44, 519–521. [Google Scholar] [CrossRef]
- Mahapatra, P.P.; Agrawal, S. RSA Cryptosystem with Modified Montgomery Modular Multiplier. In Proceedings of the IEEE International Conference on Computational Intelligence and Computing Research (ICCIC), Coimbatore, India, 14–16 December 2017; pp. 1–6. [Google Scholar] [CrossRef]
- Parihar, A.; Nakhate, S. Fast Montgomery modular multiplier for Rivest-Shamir-Adleman cryptosystem. IET Inf. Secur. 2019, 13, 231–238. [Google Scholar] [CrossRef]
- Koblitz, N. Elliptic Curve Cryptosystems. Math. Comput. 1987, 48, 203–209. [Google Scholar] [CrossRef]
- Loi, K.C.C.; Ko, S. Scalable Elliptic Curve Cryptosystem FPGA Processor for NIST Prime Curves. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2015, 23, 2753–2756. [Google Scholar] [CrossRef]
- Khan, Z.U.A.; Benaissa, M. Throughput/Area-efficient ECC Processor Using Montgomery Point Multiplication on FPGA. IEEE Trans. Circuits Syst. II Express Briefs 2015, 62, 1078–1082. [Google Scholar] [CrossRef]
- Hossain, M.S.; Saeedi, E.; Kong, Y. High-Speed, Area-Efficient, FPGA-Based Elliptic Curve Cryptographic Processor over NIST Binary Fields. In Proceedings of the IEEE International Conference on Data Science and Data Intensive Systems, Sydney, NSW, Australia, 11–13 December 2015; pp. 175–181. [Google Scholar] [CrossRef]
- Bosmans, J.; Roy, S.S.; Jarvinen, K.; Verbauwhede, I. A Tiny Coprocessor for Elliptic Curve Cryptography over the 256-bit NIST Prime Field. In Proceedings of the 29th International Conference on VLSI Design (VLSID), Kolkata, India, 4–8 January 2016; pp. 523–528. [Google Scholar] [CrossRef]
- Ma, Y.; Zhang, Q.; Liu, Z.; Tu, C.; Lin, J. Low-Cost Hardware Implementation of Elliptic Curve Cryptography for General Prime Fields. In Information and Communications Security; Lecture Notes in Computer Science; Lam, K.Y., Chi, C.H., Qing, S., Eds.; Springer International Publishing: Berlin/Heidelberg, Germany, 2016; pp. 292–306. [Google Scholar]
- Mozhi, S.A.; Ramya, P. Efficient bit-parallel systolic multiplier over GF(2m). In Proceedings of the International Conference on Electrical, Electronics, and Optimization Techniques (ICEEOT), Chennai, India, 3–5 March 2016; pp. 4899–4902. [Google Scholar] [CrossRef]
- Amiet, D.; Curiger, A.; Zbinden, P. Flexible FPGA-Based Architectures for Curve Point Multiplication over GF(p). In Proceedings of the Euromicro Conference on Digital System Design (DSD), Limassol, Cyprus, 31 August–2 September 2016; pp. 107–114. [Google Scholar] [CrossRef]
- Khan, Z.U.A.; Benaissa, M. High-Speed and Low-Latency ECC Processor Implementation Over GF(2m) on FPGA. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2017, 25, 165–176. [Google Scholar] [CrossRef]
- Safieh, M.; Thiers, J.P.; Freudenberger, J. Area Efficient Coprocessor for the Elliptic Curve Point Multiplication. In Proceedings of the 12th International ITG Conference on Systems, Communications and Coding (SCC), Rostock, Germany, 11–14 February 2019; pp. 1–6. [Google Scholar]
- Roy, D.B.; Mukhopadhyay, D. High-Speed Implementation of ECC Scalar Multiplication in GF(p) for Generic Montgomery Curves. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2019, 27, 1587–1600. [Google Scholar] [CrossRef]
- Elkamchouchi, H.; Elshenawy, K.; Shaban, H. Extended RSA cryptosystem and digital signature schemes in the domain of Gaussian integers. In Proceedings of the 8th International Conference on Communication Systems (ICCS), Singapore, 28 November 2002; Volume 1, pp. 91–95. [Google Scholar] [CrossRef]
- Koval, A.; Verkhovsky, B.S. Analysis of RSA over Gaussian Integers Algorithm. In Proceedings of the Fifth International Conference on Information Technology: New Generations (ITNG), Las Vegas, NV, USA, 7–9 April 2008; pp. 101–105. [Google Scholar] [CrossRef]
- Koval, A. Security Systems Based on Gaussian Integers: Analysis of Basic Operations and Time Complexity of Secret Transformations; New Jersey Institute of Technology: Newark, NJ, USA, 2011. [Google Scholar]
- Koval, A. Algorithm for Gaussian Integer Exponentiation. In Information Technology: New Generations; Springer International Publishing: Berlin/Heidelberg, Germany, 2016; pp. 1075–1085. [Google Scholar]
- Bhargava, K.; Soni, V. A novice cryptosystem based on nth root of Gaussian integers. In Proceedings of the 2017 International Conference on Computer, Communications and Electronics (Comptelix), Jaipur, India, 1–2 July 2017; pp. 271–274. [Google Scholar] [CrossRef]
- Awad, Y.; El-Kassar, A.N.; Kadri, T. Rabin Public-Key Cryptosystem in the Domain of Gaussian Integers. In Proceedings of the International Conference on Computer and Applications (ICCA), Beirut, Lebanon, 25–26 August 2018; pp. 336–340. [Google Scholar] [CrossRef]
- Safieh, M.; Thiers, J.; Freudenberger, J. Side Channel Attack Resistance of the Elliptic Curve Point Multiplication using Gaussian Integers. In Proceedings of the Zooming Innovation in Consumer Technologies Conference (ZINC), Novi Sad, Serbia, 26–27 May 2020; pp. 231–236. [Google Scholar]
- Safieh, M.; Thiers, J.; Freudenberger, J. A Compact Coprocessor for the Elliptic Curve Point Multiplication over Gaussian Integers. Electronics 2020, 9, 2050. [Google Scholar] [CrossRef]
- Huber, K. Codes over Gaussian integers. IEEE Trans. Inf. Theory 1994, 40, 207–216. [Google Scholar] [CrossRef]
- Martinez, C.; Beivide, R.; Gabidulin, E. Perfect Codes for Metrics Induced by Circulant Graphs. IEEE Trans. Inf. Theory 2007, 53, 3042–3052. [Google Scholar] [CrossRef]
- Quilles, C.; Palazzo, R. Quasi-Perfect Geometrically Uniform Codes Derived from Graphs over Gaussian Integer Rings. In Proceedings of the IEEE International Symposium on Information Theory (ISIT), Austin, TX, USA, 13–18 June 2010. [Google Scholar]
- Freudenberger, J.; Ghaboussi, F.; Shavgulidze, S. New Coding Techniques for Codes over Gaussian Integers. IEEE Trans. Commun. 2013, 61, 3114–3124. [Google Scholar] [CrossRef]
- Freudenberger, J.; Ghaboussi, F.; Shavgulidze, S. Set Partitioning and Multilevel Coding for Codes Over Gaussian Integer Rings. In Proceedings of the 9th International ITG Conference on Systems, Communications and Coding (SCC), Munich, Germany, 21–24 January 2013; pp. 1–5. [Google Scholar]
- Rohweder, D.; Freudenberger, J.; Shavgulidze, S. Low-Density Parity-Check Codes over Finite Gaussian Integer Fields. In Proceedings of the 2018 IEEE International Symposium on Information Theory (ISIT), Vail, CO, USA, 17–22 June 2018; pp. 481–485. [Google Scholar] [CrossRef]
- Safieh, M.; Freudenberger, J. Montgomery Modular Arithmetic over Gaussian Integers. In Proceedings of the 24th International Information Technology Conference (IT), Zabljak, Montenegro, 18–22 February 2020; pp. 1–4. [Google Scholar]
- Kocher, P. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 1996. [Google Scholar]
- Kocher, P.; Jaffe, J.; Jun, B. Differential Power Analysis. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 1999. [Google Scholar]
- Hankerson, D.; Menezes, A.J.; Vanstone, S. Guide to Elliptic Curve Cryptography; Springer: New York, NY, USA, 2003. [Google Scholar]
- Goubin, L. A Refined Power-Analysis Attack on Elliptic Curve Cryptosystems. In Public Key Cryptography—PKC 2003; Desmedt, Y.G., Ed.; Springer: Berlin/Heidelberg, Germany, 2002; pp. 199–211. [Google Scholar]
- Akishita, T.; Takagi, T. Zero-Value Point Attacks on Elliptic Curve Cryptosystem. In Information Security; Boyd, C., Mao, W., Eds.; Springer: Berlin/Heidelberg, Germany, 2003; pp. 218–233. [Google Scholar]
- Mulder, E.D.; Örs, S.B.; Preneel, B.; Verbauwhede, I. Differential power and electromagnetic attacks on a FPGA implementation of elliptic curve cryptosystems. Comput. Electr. Eng. 2007, 33, 367–382. [Google Scholar] [CrossRef]
- Lerman, L.; Bontempi, G.; Markowitch, O. Side channel attack: An approach based on machine learning. In Proceedings of the Proc. 2nd International Workshop on Constructive Side-Channel Analysis and Secure Design, Darmstadt, Germany, 14 February 2011; pp. 29–41. [Google Scholar]
- Maghrebi, H.; Portigliatti, T.; Prouff, E. Breaking cryptographic implementations using deep learning techniques. In Proceedings of the International Conference on Security, Privacy, and Applied Cryptography Engineering, Hyderabad, India, 14–18 December 2016; pp. 3–26. [Google Scholar]
- Hedabou, M.; Pinel, P.; Bénéteau, L. Countermeasures for Preventing Comb Method Against SCA Attacks. In Information Security Practice and Experience; Deng, R.H., Bao, F., Pang, H., Zhou, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 85–96. [Google Scholar]
- Salman, A.; Ferozpuri, A.; Homsirikamol, E.; Yalla, P.; Kaps, J.; Gaj, K. A scalable ECC processor implementation for high-speed and lightweight with side-channel countermeasures. In Proceedings of the International Conference on ReConFigurable Computing and FPGAs (ReConFig), Cancun, Mexico, 4–6 December 2017; pp. 1–8. [Google Scholar] [CrossRef]
- Matutino, P.M.; Araújo, J.; Sousa, L.; Chaves, R. Pipelined FPGA coprocessor for elliptic curve cryptography based on residue number system. In Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS), Pythagorion, Greece, 17–20 July 2017; pp. 261–268. [Google Scholar] [CrossRef]
- Diekert, V.; Kufleitner, M.; Rosenberger, G.; Hertrampf, U. Discrete Algebraic Methods: Arithmetic, Cryptography, Automata and Groups; De Gruyter: Berlin, Germany, 2016. [Google Scholar]
- Krisell, M. Elliptic Curve Digital Signatures in RSA Hardware; Scholar’s Press: Riga, Latvia, 2012. [Google Scholar]
- Jarvinen, K.; Tommiska, M.; Skytta, J. A scalable architecture for elliptic curve point multiplication. In Proceedings of the IEEE International Conference on Field—Programmable Technology, Brisbane, NSW, Australia, 6–8 December 2004; pp. 303–306. [Google Scholar] [CrossRef][Green Version]
- Okeya, K.; Takagi, T.; Vuillaume, C. Efficient Representations on Koblitz Curves with Resistance to Side Channel Attacks. In Information Security and Privacy; Boyd, C., Gonza’lez Nieto, J.M., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 218–229. [Google Scholar]
- Thériault, N. SPA Resistant Left-to-Right Integer Recodings. In Selected Areas in Cryptography; Preneel, B., Tavares, S., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 345–358. [Google Scholar]
- Tao, Z.; Mingyu, F.; Xiaoyu, Z. Secure and efficient elliptic curve cryptography resists side-channel attacks. J. Syst. Eng. Electron. 2009, 20, 660–665. [Google Scholar]
- Liu, S.; Yao, H.; Wang, X.A. SPA Resistant Scalar Multiplication Based on Addition and Tripling Indistinguishable on Elliptic Curve Cryptosystem. In Proceedings of the 10th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), Krakow, Poland, 4–6 November 2015; pp. 785–790. [Google Scholar] [CrossRef]
- Gallant, R.; Lambert, R.; Vanstone, S. Faster Point Multiplication on Elliptic Curves with Efficient Endomorphisms. In Advances in Cryptology—CRYPTO 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 190–200. [Google Scholar]
- Thiers, J.P.; Safieh, M.; Freudenberger, J. Side Channel Attack Resistance of the Elliptic Curve Point Multiplication using Eisenstein Integers. In Proceedings of the IEEE 10th International Conference on Consumer Electronics (ICCE), Berlin, Germany, 9–13 November 2020. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).