Abstract
We introduce a new class of irreducible pentanomials over \({\mathbb F}_{2}\) of the form \(f(x) = x^{2b+c} + x^{b+c} + x^b + x^c + 1\). Let \(m=2b+c\) and use f to define the finite field extension of degree m. We give the exact number of operations required for computing the reduction modulo f. We also provide a multiplier based on Karatsuba algorithm in \(\mathbb {F}_2[x]\) combined with our reduction process. We give the total cost of the multiplier and found that the bitparallel multiplier defined by this new class of polynomials has improved XOR and AND complexity. Our multiplier has comparable time delay when compared to other multipliers based on Karatsuba algorithm.
1 Introduction
Finite field extensions \({\mathbb F}_{2^m}\) of the binary field \({\mathbb F}_{2}\) play a central role in many engineering applications and areas such as cryptography. Elements in these extensions are commonly represented using polynomial or normal bases. We center in this paper on polynomial bases for bitparallel multipliers.
When using polynomial bases, since \({\mathbb F}_{2^m}\cong {\mathbb F}_{2}[x]/(f)\) for an irreducible polynomial f over \({\mathbb F}_{2}\) of degree m, we write elements in \({\mathbb F}_{2^m}\) as polynomials over \({\mathbb F}_{2}\) of degree smaller than m. When multiplying with elements in \({\mathbb F}_{2^m}\), a polynomial of degree up to \(2m2\) may arise. In this case, a modular reduction is necessary to bring the resulting element back to \({\mathbb F}_{2^m}\). Mathematically, any irreducible polynomial can be used to define the extension. In practice, however, the choice of the irreducible f is crucial for fast and efficient field multiplication.
There are two types of multipliers in \(\mathbb {F}_{2^m}\): onestep algorithms and twostep algorithms. Algorithms of the first type perform modular reduction while the elements are being multiplied. In this paper, we are interested in twostep algorithms, that is, in the first step the multiplication of the elements is performed, and in the second step the modular reduction is executed. Many algorithms have been proposed for both types. An interesting application of twostep algorithms is in several cryptographic implementations that use the lazy reduction method [2, 23]. For example, in [15] it is shown the impact of lazy reduction in operations for binary elliptic curves. An important application of the second part of our algorithm, the reduction process, is to sidechannel attacks. Indeed, we prove that our modular reduction requires a constant number of arithmetic operations, and as a consequence, it prevents sidechannel attacks.
The complexity of hardware circuits for finite field arithmetic in \({\mathbb F}_{2^m}\) is related to the amount of space and the time delay needed to perform the operations. Normally, the number of exclusiveor (XOR) and AND gates is a good estimation of the space complexity. The time complexity is the delay due to the use of these gates.
Several special types of irreducible polynomials have been considered before, including polynomials with few nonzero terms like trinomials and pentanomials (three and five nonzero terms, respectively), equally spaced polynomials, allone polynomials [7, 12, 19], and other special families of polynomials [27]. In general, trinomials are preferred, but for degrees where there are no irreducible trinomials, pentanomials are considered.
The analysis of the complexity using trinomials is known [26]. However, there is no general complexity analysis of a generic pentanomial in the literature. Previous results (see [5] for details) have focus on special classes of pentanomials, including:

\(x^m + x^{b+1} + x^{b} + x^{b1} + 1\), where \(2 \le b \le m/21\) [9, 11, 18, 20, 28];

\(x^m + x^{b+1} + x^{b} + x + 1\), where \(1< b < m1\) [9, 10, 18,19,20, 28];

\(x^{m} + x^{mc} + x^{b} + x^{c} + 1\), where \(1 \le c< b < mc\) [3];

\(x^m + x^a + x^b + x^c + 1\), where \(1 \le c< b < a \le m/2\) [19];

\(x^{m} + x^{ms} + x^{m2s} + x^{m3s} + 1\), where \((m1)/8 \le s \le (m1)/3\) [19];

\(x^{4c} + x^{3c} + x^{2c} + x^{c} + 1\), where \(c = 5^i\) and \(i \ge 0\) [7, 8].
Like our family, these previous families focus on bit operations, i.e., operations that use only AND and XOR gates. In the literature, it is possible to find studies that use computer words to perform the operations [17, 21], but this is not the focus of our work.
1.1 Contributions of this paper
In this paper, we introduce a new class of irreducible pentanomials with the following format:
We compare our pentanomial with the first two families from the list above. The reason to choose these two family is that [18] presents a multiplier considering these families with complexity 25% smaller than the other existing works in the literature using quadratic algorithms. Since our multiplier is based on Karatsuba’s algorithm, we also compare our method with Karatsuba type algorithms.
An important reference for previously used polynomials and their complexities is the recent survey on bitparallel multipliers by Fan and Hasan [5]. Moreover, we observe that all finite fields results used in this paper can be found in the classical textbook by Lidl and Niederreiter [13]; see [14] for recent research in finite fields.
We prove that the complexity of the reduction depends on the exponents b and c of the pentanomial. A consequence of our result is that for a given degree \(m=2b+c\), for any positive integers \(b>c>0\), all irreducible polynomials in our family have the same space and time complexity. We provide the exact number of XORs and gate delay required for the reduction of a polynomial of degree \(2m2\) by our pentanomials. The number of XORs needed is \(3m2=6b+3c2\) when \(b \ne 2c\); for \(b=2c\) this number is \(\frac{12}{5}m  1=12c1\). We also show that AND gates are not required in the reduction process. It is easy to verify that our reduction algorithm is “constanttime” since it runs the same amount of operations independent of the inputs and it avoids timing sidechannel attacks [6].
For comparison purposes with other pentanomials proposed in the literature, since the operation considered in those papers is the product of elements in \({\mathbb F}_{2^m}\), we also consider the number of ANDs and XORs used in the multiplication prior to the reduction. In the literature, one can find works that use the standard product or use some more efficient method of multiplication, such as Karatsuba, and then add the complexity of the reduction.
In this paper, we use a Karatsuba multiplier combined with our fast reduction method. The total cost is then \(C m^{\log _2{3}} + 3m2\) or \(C m^{\log _2{3}} + \frac{12}{5}m1\), depending on \(b \not = 2c\) or \(b = 2c\), respectively. The constant C of the Karatsuba multiplier depends on the implementation. In our experiments, C is strictly less than 6 for all practical degrees, up to degrees 1024. For the reduction, we give algorithms that achieve the above number of operations using any irreducible pentanomial in our family. We compare the complexity of the Karatsuba multiplier with our reduction with the method proposed by Park et al. [18], as well as, with Karatsuba variants given in [5].
1.2 Structure of the paper
The structure of this paper is as follows. In Sect. 2, we give the number of required reduction steps when using a pentanomial f from our family. We show that for our pentanomials this number is 2 or 3. This fact is crucial since such a low number of required reduction steps of our family allows for not only an exact count of the XOR operations but also for a reduced time delay. Our strategy for that consists in describing the reduction process throughout equations, cleaning the redundant operations and presenting the final optimized algorithm. Section 3 provides the first component of our strategy. In this section, we simply reduce a polynomial of degree at most or exactly \(2m2\) to a polynomial of degree smaller than m. The second component of our strategy is more delicate, and it allows us to derive the exact number of operations involved when our pentanomial f is used to define \({\mathbb F}_{2^m}\). Sections 4 and 5 provide those analyses for the cases when two and three steps of reduction are needed, that is, when \(c=1\) and \(c>1\), respectively. We give algorithms and exact estimates for the space and time complexities in those cases. Also, we describe a Karatsuba multiplier implementation combined with our reduction. In Sect. 6, based on our implementation, we show that the number of XOR and AND gates is better than the known space complexity in the literature. On the other hand, the time complexity (delay) in our implementation is worse than quadratic methods but comparable with Karatsuba implementations. Hence, our multiplier would be preferable in situations where space complexity and saving energy are more relevant than time complexity. We demonstrate that our family contains many polynomials, including degrees where pentanomials are suggested by NIST. Conclusions are given in Sect. 7.
2 The number of required reductions
When operating with two elements in \({\mathbb F}_{2^m}\), represented by polynomials, we obtain a polynomial of degree at most \(2m2\). In order to obtain the corresponding element in \({\mathbb F}_{2^m}\), a further division with remainder by an irreducible polynomial f of degree m is required. We can see this reduction as a process to bring the coefficient in interval \([2m2,m]\) to a position less than m. This is done in steps. In each step, the coefficients in interval \([2m2,m]\) of the polynomial is substituted by the equivalent bits following the congruence \(x^m \equiv x^a+x^b+x^c+1\). Once the coefficient in position \(2m2\) is brought to a position less than m, the reduction is completed.
In this section, we carefully look into the number of steps needed to reduce the polynomial by our polynomial f given in Eq. (1). The most important result of this section is that we need at most 3 steps of this reduction process using our polynomials. This information is used in the next sections to give the exact number of operations when the irreducible pentanomial given in Equation (1) is employed. This computation was possible because our family has a small number of required reduction steps.
Let \( D_0(x) = \sum _{i=0}^{2m2}d_ix^i\) be a polynomial over \({\mathbb F}_{2}\). We want to compute \(D_{red}\), the remainder of the division of \(D_0\) by f, where f has the form \(f(x) = x^{2b+c} + x^{b+c} + x^b + x^c + 1\) with \(2b+c=m\) and \(b>c>0\). The maximum number \(k_a\) of reduction steps for a pentanomial \(x^{m} + x^{a} + x^b + x^c + 1\) in terms of the exponent a is given by Sunar and Koç [22]
In our case \(m=2b+c\) and \(a=b+c\), thus
Using the same method as in [22], we can derive the number of steps required associated to the exponents b and c. These numbers are needed in Sect. 3. We get
and
Thus, the reduction process for our family of pentanomials involves at most three steps. This is a special property that our family enjoys.
The general process for the reduction proposed in this paper is given in the next section. The special case \(c=1\), that is when our polynomials have the form \(f(x) = x^{2b+1} + x^{b+1} + x^b + x + 1\), requires two steps. This family is treated in detail in Sect. 4. The general case of our family \(f(x) = x^{2b+c} + x^{b+c} + x^b + x^c + 1\) for \(c>1\) involves three steps and is treated in Sect. 5.
3 The general reduction process
The general process that we follow to get the original polynomial \(D_0\) reduced to a polynomial of degree smaller than m is depicted in Fig. 1. Without loss of generality, we consider the polynomial to be reduced as always having degree \(2m2\). Indeed, the cost to determine the degree of the polynomial to be reduced is equivalent to checking if the leading coefficient is zero.
The polynomial \(D_0\) to be reduced is split into two parts: \(A_0\) is the piece of the original polynomial with degree at least m and hence that requires extra work, while \(B_0\) is formed by the terms of \(D_0\) with exponents smaller than m and so that it does not require to be reduced. Dividing the leading term of \(A_0\) by f with remainder we obtain \(D_1\). In the same way as before, we split \(D_1\) in two parts \(A_1\) and \(B_1\) and repeat the process obtaining the tree of Fig. 1.
3.1 Determining \(A_0\) and \(B_0\)
We trivially have
and hence
3.2 Determining \(A_1\) and \(B_1\)
Using for clarity the generic form of a pentanomial over \({\mathbb F}_{2}\), \(f(x) = x^{m} + x^{a} + x^b + x^c + 1\), dividing the leading term of \(A_0\) by f and taking the remainder, we get
Separating the already reduced part of \(D_1\) from the piece of \(D_1\) that still requires more work, we obtain
and
Since \(m=2b+c\) and \(a=b+c\), we have
3.3 Determining \(A_2\) and \(B_2\)
As before, we divide the leading term of \(A_1\) by f and we obtain the remainder \(D_2\). We get \(D_2 = D_{2_a} + D_{2_b} + D_{2_c}\), where \(D_{2_a}\), \(D_{2_b}\) and \(D_{2_c}\) refer to the reductions of the sums in Eq. (6).
We start with \(D_{2_{a}}\):
Separating \(D_{2_a}\) in the pieces \(A_{2_{a}}\) and \(B_{2_{a}}\), we get \(A_{2_{a}} = \sum _{i=m}^{2a2}d_{i+2m2a}x^i\) since \(b+a2 < m\), and
Substituting \(m=2b+c\) and \(a=b+c\), we get \(A_{2_{a}} = \sum _{i=2b+c}^{2b+2c2}d_{i+2b}x^i\), and
Proceeding with the reduction now of the second sum in Eq. (6), we obtain
Clearly, \(D_{2_b}\) is already reduced, and thus \(A_{2_{b}} = 0\), and
We finally reduce the third and last sum in Eq. (6):
Again, we easily check that \(D_{2_c}\) is reduced and so \(A_{2_{c}} = 0\), and
Concluding, \(A_2\) is given by
and \(B_2 = B_{2_a} + B_{2_b} + B_{2_c}\) is
3.4 Determining \(A_3\) and \(B_3\)
Dividing the leading term of \(A_2\) in Eq. (8) by f, we have
We have that \(D_3\) is reduced so \(A_3=0\) and
3.5 The number of terms in \(A_r\) and \(B_r\)
Let \(G(i) = 1\) if \(i > 0\) and \(G(i) = 0\) if \(i \le 0\). Let r be a reduction step. It is clear now that the precise number of terms for \(A_r\) and \(B_r\), for \(r \ge 0\), can be obtained using \(k_{b+c}\), \(k_b\) and \(k_c\) given in Eqs. (2), (3) and (4). We have:

(i)
The number of terms of \(A_0\) and \(B_0\) is 1.

(ii)
For \(r >0\), the number of terms of \(A_r\) is \(G(k_{b+c}  r) + G(k_b r) + G(k_c r)\), while the number of terms of \(B_r\) is 4 times the number of terms of \(A_{r1}\).
4 The family of polynomials \(f(x) = x^{2b+1} + x^{b+1} + x^b + x + 1\)
In this section, we consider the case when \(c=1\), that is, when \(k_{b+c}=2\), as given in Eq. (2). The polynomials in this subfamily have the form \(f(x) = x^{2b+1} + x^{b+1} + x^b + x + 1\). For the subfamily treated in this section, since \(k_{b+c}=2\), we immediately get \(A_2 = 0\) and the expressions in the previous section simplify. As a consequence, the desired reduction is given by
Using Eqs. (5), (7) and (9), we obtain
A crucial issue that allows us to give improved results for our family of pentanomials is the fact that redundancies occur for \(D_{red}\) in Eq. (11). Let
A careful analysis of Eq. (11) reveals that \(T_1\), \(T_2\) and \(T_3\) are used more than once, and hence, savings can occur. We rewrite Eq. (11) as
One can check that by plugging \(T_1\), \(T_2\), \(T_3\) and \(T_4\) in Eq. (12) we recover Eq. (11). Figure 2 shows these operations. We remark that even though the first row in this figure is \(B_0\), the following two rows are not \(B_1\) and \(B_2\). Indeed, those rows are obtained from \(B_1\) and \(B_2\) together with the optimizations provided by \(T_1\), \(T_2\), \(T_3\) and \(T_4\).
Using Eq. (12), the number \(N_{\oplus }\) of XOR operations is
It is also easy to see from Fig. 2 that the time delay is \(3T_X\), where \(T_X\) is the delay of one 2input XOR gate.
We are now ready to provide Algorithm 1 for computing \(D_{red}\) given in Eq. (12), and as explained in Fig. 2, for the pentanomials \(f(x) = x^{2b+1} + x^{b+1} + x^b + x + 1\).
Putting all pieces together, we give next the main result of this section.
Theorem 1
Algorithm 1 correctly gives the reduction of a polynomial of degree at most \(2m2\) over \({\mathbb F}_{2}\) by \(f(x) = x^{2b+1} + x^{b+1} + x^b + x + 1\) involving \(N_{\oplus } = 3m 2 = 6b + 1\) number of XORs operations and a time delay of \(3T_X\).
5 Family \(f(x) = x^{2b+c} + x^{b+c} + x^b + x^c + 1, c>1\)
For polynomials of the form \(f(x) = x^{2b+c} + x^{b+c} + x^b + x^c + 1\), \(c>1\), we have that \(k_{b+c}=3\), implying that \(A_3 = 0\). The reduction is given by
Using Eqs. (5), (7), (9) and (10), we have that \(D_{red}\) satisfies
Let
Again, a careful analysis of Eq. (13) shows that \(T_1\), \(T_2\) and \(T_3\) are used more than once. Thus, we can rewrite Eq. (13) for \(D_{red}\) as
Figure 3 depicts these operations. Using Eq. (14) and Fig. 3, we have Algorithm 2. For code efficiency reasons, in contrast to Algorithm 1, in Algorithm 2 we separate the last line before the equality in Fig. 3. The additions of this last line are done in lines 17 to 20 of Algorithm 2. As a consequence, lines 3 to 16 of Algorithm 2 include only the additions per column from 0 to \(2b+c1\) of the first three lines in Fig. 3.
The time delay is \(3T_X\); after removal of redundancies and not counting repeated terms, we obtain that the number \(N_\oplus \) of XORs is
Theorem 2
Algorithm 2 correctly gives the reduction of a polynomial of degree at most \(2m2\) over \({\mathbb F}_{2}\) by \(f(x) = x^{2b+c} + x^{b+c} + x^b + x^c + 1\) involving \(N_{\oplus } = 3m 2 = 6b + 3c2\) number of XORs operations and a time delay of \(3T_X\).
5.1 Almost equally spaced pentanomials: the special case \(b=2c\)
Consider the special case \(b=2c\). In this case, we obtain the almost equally spaced polynomials \(f(x) = x^{5c} + x^{3c} + x^{2c} + x^c + 1\). Our previous analysis when applied to these polynomials entails
Let
In the computation of \(D_{red}\), \(T_1\), \(T_2\), \(T_3\) and \(T_4\) are used more than once. Figure 4 shows, graphically, these operations. After removal of redundancies, the number \(N_\oplus \) of XORs is \( N_\oplus = 12c  1 = \displaystyle \frac{12}{5}m 1.\) This number of XORs is close to 2.4m providing a saving of about \(20\%\) with respect to the other pentanomials in our family. Irreducible pentanomials of this form are rare but they do exist, for example, for degrees 5, 155 and 4805. We observe that the extension 155 is used in [1].
6 Multiplier in \(\mathbb {F}_{2}[x]\), complexity analysis and comparison
So far, we have focused on the second step of the algorithm, that is, on the reduction part. For the first step, the multiplication part, we simply use a standard Karatsuba recursive algorithm implementation; see Algorithm 4.
Recursivity in hardware can be an issue; see [24] and [4], for example, for efficient hardware implementations of polynomial multiplication in finite fields using Karatsuba’s type algorithms.
As can be seen our multiplier consists of two steps. The first is the multiplication itself using Karatsuba arithmetic or, if necessary, the school book method, and the second is the reduction described in the previous sections. The choice of the first step method will basically depend on whether the application requirement is to minimize area (Karatsuba), i.e., the number of ANDs and XORs gates, or to minimize the arithmetic delay (School book); see [5] for several variants of both the schoolbook and Karatsuba algorithms. Minimizing the area is interesting in applications that need to save power at the expense of a longer runtime.
We chose the Karatsuba multiplier since our goal is to minimize the area, i.e., to minimize the number of gates AND and XOR. A summary of our results compared with related works is given in Tables 1 and 2. Table 1 presents comparison costs among multipliers that perform two steps for the multiplication, that is, they execute a multiplication followed by a reduction. The table shows the multiplication algorithm used in each case. Table 2 gives a comparison among the stateoftheart bit multipliers in the literature. The main target for us is [18] since it presents the smallest area in the literature. However, Type 3 polynomials are also considered; this is another practically relevant family of polynomials. With respect to Karatsuba variants, Table 3 of survey [5] shows asymptotic complexities of several Karatsuba multiplication algorithms without reduction.
For each entry in Table 1, we give the multiplication algorithm and the amount of gates AND, XOR as well its delay. We point that for [19] and [25], their multipliers are general for any pentanomial with \(a \le \frac{m}{2}\) instead of for a specific family such as [20]. In the case of our family, in addition to the number of XORs for the reduction, we include the cost for the multiplication due to the recursive Karatsuba implementation multiplier, that is, the XOR count is formed by the sum of the XORs of the Karatsuba multiplier and the ones of the reduction part. In our implementation, the constant of Karatsuba is strictly less than 6; see Fig. 5 for degrees up to 1024. As can be seen, for degrees powers of 2 minus 1 (\(2^k 1, k \ge 1\)), the constant achieves local minimum. For the number of AND gates, we provide an interval. The actual number of AND gates depends on the value of m; it only reaches a maximum when \(m = 2^{k}1\), for \(k \ge 1\).
In Table 2, we provide the number of XORs and ANDs gates for Type 1 and Type 2 families in [18] and [20], Type 3 in [19] and our family of pentanomials. We point out that in [18] the authors compute multiplication and reduction as a unique block with a divideandconquer approach using squaring. In contrast, we separate these two parts and use Karatsuba for the multiplier followed by our reduction algorithm.
The costs for using our pentanomials for degrees proposed by NIST can be found in Table 3. The amount of XOR and AND gates are the exact value obtained from Table 1. The delay costs can be separated in \(T_A\) and \(T_X\), delay for AND gates and XOR gates, respectively. The delay for AND gates is due to only 1 AND gate at the lowest level of the Karatsuba recursion. The delay for the XOR gates in the Karatsuba multiplier is \(3 \lceil \log _2{(m1)} \rceil \) since there are 3 delay XORs per level of the Karatsuba recursion. For the reduction part, we only have 3 delay XORs. Hence, the total number of XOR delays is \(3 \lceil \log _2{(m1)} \rceil + 3\).
Table 4 shows the number of irreducible pentanomials of degrees 163, 283 and 571 for the families considered since those are NIST degrees where pentanomials have been recommended [16]. Analyzing the table, we have that family Type 1 has the most irreducible pentanomials, but few of them have degrees recommended by NIST [16]. The first family of Type 2, proposed in [18], has restrictions in the range of c; this family presents the highest number of representatives with NIST degrees of interest. The second family of Type 2, proposed in [20], has no restrictions for c; this family presents the largest number of irreducible polynomials. Type 3 is the special case from [19]. Our family for \(b \not = 2c\) has less irreducible polynomials, and it has no irreducible polynomials with degrees 163, 283 and 571. In the other side, when \(b \ne 2c\) our family has 730 polynomials of degrees up to 1024 and it presents 5 pentanomials of NIST degrees.
In the following, we comment on the density of irreducible pentanomials in our family. Table 5 lists all irreducible pentanomials of our family for degrees up to 1024; \(N_\oplus \) is the number of XORs required for the reduction. We leave as an open problem to mathematically characterize under which conditions our pentanomials are irreducible.
7 Conclusions
In this paper, we present a new class of pentanomials over \(\mathbb {F}_2\), defined by \(x^{2b+c}+ x^{b+c}+ x^b + x^c + 1\). We give the exact number of XORs in the reduction process; we note that in the reduction process no ANDs are required.
It is interesting to point out that even though the cases \(c=1\) and \(c>1\), as shown in Figs. 2 and 3, are quite different, the final result in terms of number of XORs is the same. We also consider a special case when \(b=2c\) where further reductions are possible.
There are irreducible pentanomials of this shape for several degree extensions of practical interest. We provide a detailed analysis of the space and time complexity involved in the reduction using the pentanomials in our family. For the multiplication process, we simply use the standard Karatsuba algorithm.
The proved complexity analysis of the multiplier and reduction considering the family proposed in this paper, as well as our analysis suggests that these pentanomials are as good as or possibly better to the ones already proposed.
We leave for future work to produce a onestep algorithm using our pentanomials, that is, a multiplier that performs multiplication and reduction in a single step using our family of polynomials, as well as a detailed study of the delay obtained using this algorithm.
References
Agnew, G.B., Mullin, R.C., Vanstone, S.A.: An implementation of elliptic curve cryptosystems over $\mathbb{F}_{2^{155}}$. IEEE J. Sel. Areas Commun. 11(5), 804–813 (1993)
Bernstein, D.J., Schwabe, P.: Neon crypto. In: International Workshop on Cryptographic Hardware and Embedded Systems, p. 320339. Springer (2012)
Cilardo, A.: Fast parallel $GF(2^m)$ polynomial multiplication for all degrees. IEEE Trans. Comput. 62(5), 929–943 (2013)
El Hadj Youssef, W., Machhout, M., Zeghid, M., Bouallegue, B., Tourki, R.: Efficient hardware architecture of recursive KaratsubaOfman multiplier. In: IEEE DTIS 2008 3rd International Conference on Design and Technology of Integrated Systems in Nanoscale Era, pp. 1–6. (2008)
Fan, H., Hasan, M.A.: A survey of some recent bitparallel $GF(2^n)$ multipliers. Finite Fields Their Appl. 32, 5–43 (2015)
Fan, J., Guo, X., De Mulder, E., Schaumont, P., Preneel, B., Verbauwhede, I.: Stateoftheart of secure ECC implementations: a survey on known sidechannel attacks and countermeasures. In: 2010 IEEE International Symposium on HardwareOriented Security and Trust (HOST), pp. 76–87 (2010)
Halbutogullari, A., Koç, C.K.: Mastrovito multiplier for general irreducible polynomials. IEEE Trans. Comput. 49, 503–518 (2000)
Hasan, M.A., Wang, M., Bhargava, V.K.: Modular construction of low complexity parallel multipliers for a class of finite fields $GF(2^m)$. IEEE Trans. Comput. 41, 962–971 (1992)
Imaña, J.L.: Highspeed polynomial basis multipliers over $GF(2^m)$ for special pentanomials. IEEE Trans. Circuits Syst. I Regul. Pap. 63(1), 58–69 (2016)
Imaña, J.L., Hermida, R., Tirado, F.: Low complexity bitparallel multipliers based on a class of irreducible pentanomials. IEEE Trans. Very Large Scale Integr. Syst. (VLSI) 14(12), 1388–1393 (2006)
Imaña, J.L., Hermida, R., Tirado, F.: Low complexity bitparallel polynomial basis multipliers over binary fields for special irreducible pentanomials. Integr. VLSI J. 46(2), 197–210 (2013)
Itoh, T., Tsujii, S.: Structure of parallel multipliers for a class of fields $GF(2^m)$. Inf. Comput. 83(1), 21–40 (1989)
Lidl, R., Niederreiter, H.: Finite Fields. Cambridge University Press, Cambridge (1997)
Mullen, G.L., Panario, D.: Handbook of Finite Fields. CRC Press, Boca Raton (2013)
Negre, C., Robert, J.: Impact of optimized field operations AB, AC and AB+CD in scalar multiplication over binary elliptic curve. In: International Conference on Cryptology in Africa, pp. 279–296. Springer (2013)
NIST. Digital signature standard. Report p. 41, National Institute of Standards and Technology (NIST) (2000)
Oliveira, T., López, J., RodríguezHenríquez, F.: Software implementation of Koblitz curves over quadratic fields. In: International Conference on Cryptographic Hardware and Embedded Systems, pp. 259–279. Springer (2016)
Park, S.M., Chang, K.Y., Hong, D., Seo, C.: New efficient bitparallel polynomial basis multiplier for special pentanomials. Integr. VLSI J. 47(1), 130–139 (2014)
ReyhaniMasoleh, A., Hasan, M.A.: Low complexity bit parallel architectures for polynomial basis multiplication over $GF(2^m)$. IEEE Trans. Comput. 53, 945–959 (2004)
RodríguezHenríquez, F., Koç, C.K.: Parallel multipliers based on special irreducible pentanomials. IEEE Trans. Comput. 52, 1535–1542 (2003)
Scott, M.: Optimal irreducible polynomials for ${GF}(2^m)$ arithmetic. IACR Cryptol. ePrint Arch. 2007, 192 (2007)
Sunar, B., Koç, C.K.: Mastrovito multiplier for all trinomials. IEEE Trans. Comput. 48, 522–527 (1999)
Unterluggauer, T., Wenger, E.: Efficient pairings and ECC for embedded systems. In: International Workshop on Cryptographic Hardware and Embedded Systems, pp. 298–315. Springer (2014)
von zur Gathen, J., Shokrollahi, J.: Efficient FPGAbased Karatsuba multipliers for polynomials over ${\mathbb{F}} _2$. In: International Workshop on Selected Areas in Cryptography, pp. 359369. Springer (2005)
Wu, H.: Low Complexity BitParallel Finite Field Arithmetic Using Polynomial Basis. Cryptographic Hardware and Embedded Systems, pp. 280–291. Springer, Berlin (1999)
Wu, H.: Bitparallel finite field multiplier and squarer using polynomial basis. IEEE Trans. Comput. 51(7), 750–758 (2002)
Wu, H.: Bitparallel polynomial basis multiplier for new classes of finite fields. IEEE Trans. Comput. 57, 1023–1031 (2008)
Zhang, T., Parhi, K.K.: Systematic design of original and modified Mastrovito multipliers for general irreducible polynomials. IEEE Trans. Comput. 50(7), 734–749 (2001)
Acknowledgements
This project has received funding under the European Union’s Horizon 2020 research and innovation programme (Marie SkłodowskaCurie grant agreement 643161 ECRYPTNET).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Banegas, G., Custódio, R. & Panario, D. A new class of irreducible pentanomials for polynomialbased multipliers in binary fields. J Cryptogr Eng 9, 359–373 (2019). https://doi.org/10.1007/s1338901801976
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s1338901801976
Keywords
 Irreducible pentanomials
 Polynomial multiplication
 Modular reduction
 Finite fields