DESIGN OF POLYNOMIAL BASIS MULTIPLIERS OVER GF(2233) Vladimir Trujillo-Olaya, Jaime Velasco-Medina, Julio C. López-Hernández* Grupo de Bionanoelectrónica, Escuela EIEE, Universidad del Valle, Cali, Colombia * Instituto de computacao, UNICAMP, Campinas, Brasil E-mail: vlatruo, [email protected], [email protected] ABSTRACT This article addresses an efficient hardware implementations for multiplication over finite field GF(2233). Multiplication in GF(2n) is very commonly used in cryptography and error correcting codes. An efficient hardware could reduce the cost and development for these applications. This work presents the hardware implementation of polynomial basis. In this case, the multipliers were designed using bit-serial multiplication , bit-parallel multiplication, PCA based serial multiplication and PCA parallel based multiplication algorithms, the synthesis and simulation were carried out using Quartus II v.5.0 of Altera, and the designs were synthesized on the Stratix II EP2S60F1020C3. The simulation results show that the multipliers designed present a very good performance using small area. 1. INTRODUCTION In order to protect or exchange confidential data, the cryptography and error correcting codes play an important role in the security of the information. Therefore, it is necessary to implement efficient cryptosystems, which can reduce the cost and development for these applications. In this context, public key cryptography based on elliptic curves is widely used because it presents higher security per key bit, and their two main applications are the private key exchange and the digital signature. Additionally, the Elliptic Curve Cryptosystems (ECC) can be used in applications where the computation resources are limited such as smart cards and cellular telephones. The ECC systems are included in the NIST and ANSI standards, and the principal advantage over other systems of public key like RSA is the size of the parameters, which are very small, however the ECC systems provide the same level of computational security. The efficiency of an algorithm is often measured by the number of gates and the total gate delay, this work presents different algorithms for polynomial basis multiplication. On the other hand, it is import to mention that the most expensive operation applied in elliptic curve based cryptosystems is the “scalar multiplication” of a

large natural number with a point on an elliptic curve [1]. In this case, the performance of an elliptic curve cryptoprocessor depends on the multiplication over GF(2m). Therefore, the multiplier is the most important functional block for elliptic curve cryptoprocessor design. In the literature are presented a variety of algorithms and architectures for the polynomial basis multiplication over GF(2m). In [2] G. Orlando and C. Paar present a super serial galois field multiplier over GF(2167). In [3] M. Hütter, J Groβschädl and G. Kamendje present a versatile and scalable digit serial/parallel multiplier over GF(2256). In [4] P. Kitsos, G Theorodiris and O. Koufopavlou present an efficient reconfigurable multiplier architecture over GF(2210). In [5] C. Grabbe, M. Bednara, J. Teich, J. von zur Gathen and J. Shokrollahi present FPGA designs of parallel high performance GF(2233). This work addresses efficient hardware implementations for polynomial basis multiplication over GF(2233). In this case, the multipliers designed present a good speed/area ratio, which is very suitable for elliptic curve cryptoprocessor design. Therefore, elliptic curve based cryptosystems can be used in applications that require small area, good speed and low consumption power, such as smart cards and cellular telephones. This article is organized as follows. Initially, section 2 presents the arithmetic in finite field GF(2m). Section 3 presents algorithms for polynomial basis multiplication over GF(2m). Section 4 presents hardware architectures for polynomial basis multipliers. In section 5 the simulation results are presented. Finally, section 6 presents the conclusions and the future work. 2. ARITHMETIC IN THE FINITE FIELD GF(2m) A set of m linearly independent elements β ={β0 ,β1,..., βm-1} of GF(2m) is called a basis for GF(2m). A basis for GF(2m) is important because any element a ∈ GF(2m) can be represented as a linear combination of the elements of β over GF(2). The two most common types of bases used in conventional hardware and software implementations are the polynomial basis and normal basis.

A polynomial basis for GF(2m) is as follows: {1, α, α2 , … , αm-1} where α is a root of an irreducible m −1

polynomial p ( x) = x m + ∑ pi x i of

degree

m

with

i =0

coefficients pi ∈GF(2). When using polynomial basis, each element of the field is represented by a polynomial of the form all a( x) = am −1 x m −1 + am − 2 x m − 2 + ... + a2 x 2 + a1 x + a0 operations within the field are then performed modulo the polynomial p(x). Addition in GF(2m) is implemented as componentwise XOR while a multiplication can be performed modulo an irreducible polynomial p(x).

In [6], H. Li and C. N Zhang present a low complexity Programmable Cellular Automata (PCA) based versatile modular multiplier in GF(2m). in this case, the PCA rules is shown in Table 1. Where Cm is configured as the coefficients of B(x) and Cr is configured as the coefficients of P(x), Xs is configured as coefficients of A(x), Xl and Xs are partial results of neighborhood PCA. The architecture of PCA cell is shown in Figure 2 Cm 0 0 1 1

2.1. Addition The addition of two field elements of GF(2m) is performed by adding the coefficients modulo 2, which is nothing else than bit-wise XOR-ing the coefficients of equals powers of x, that is if a = (am −1am − 2 ....a2a1a0 ) and b = (bm−1bm−2 ....b2b1b0 ) are elements of GF(2m),

Xl Xs

∑ i =0



i

i =0



i

i =0

i

field multiplication can be carried out by multiplying A(x) and B(x) and then performing reduction modulo p(x) or alternatively by interleaving multiplication and reduction, the multiplication is shown as follows:

MUX 4:1

Cm Cr

Figure 2: PCA cell This work presents an architecture modular multiplier based on PCA (Programmable Cellular Automata) and the polynomial basis representation, the basic architecture of the multiplier is suitable for both parallel and serial multiplier. The algorithm is shown in Figure 3.

(b( x)am−1 x m−1 + ... + b( x)a2 x 2 + b( x)a1 x + b( x)a0 ) mod p( x)

2. PCA based modular multiplication algorithm Input: A(x),B(x), p(x) Output: C=AB mod p(x)

m −1

C ( x) = ∑ b( x)ai x i mod p( x)

5. 6.

i =0

3. ALGORITHMS FOR POLYNOMIAL BASIS MULTIPLICATION OVER GF(2m) The serial multiplier, sometimes referred to as “MSB first multiplier” is a polynomial basis multiplier and computes the GF(2m) multiplication in m cycles. The product is obtained by the addition of partialproducts, and the reduction is interleaved with the addition steps and performed by additions of the irreducible polynomial. The algorithm is shown in Figure 1. 1. MSB first polynomial basis multiplication algorithm Input: A,B ∈ GF(2m) 1. 2. 3.

Output: C=AB mod p(x)

-1

C (x)=0 For k = 0 to m-1 do Ci(x)=[Ci-1(x)x+bm-1-iA(x)]mod p(x)

Figure 1: MSB first polynomial basis multiplication algorithm

S

Xr

then a + b = c = (c0 c1c 2 ...cm−1 ) where ci = (ai + bi ) mod 2. 2.2. Multiplication The multiplication of two field element C=AB, where m −1 m −1 m −1 i c x i , finite A( x) = a x i , B( x) = b x and C ( x) =

Cr S 0 Xl 1 Xl+Xr 0 Xl+Xm 1 Xl+Xr+Xm Table 1: PCA rules

Reset PCA Configure coefficients of B(x) as Cm, and coefficients of P(x) as Cr Run PCA m clock cycles

7.

Figure 3: PCA based modular multiplication algorithm In [7] H. Wu presents a bit-parallel finite field multiplier which is implemented in two steps: polynomial multiplication and reduction modulo the irreducible polynomial. 1. Polynomial multiplication: S=AB 2 m−2 2 m−2 S= s x i and sk is given by

∑ i =0

sk =

i

∑a b

i i + j =k 0≤i , j ≤ m −1

j

2. Reduction modulo the irreducible polynomial: m −1

∑c x i =0

i

i

=

2 m−2

∑s k =0

k

x k mod p( x)

4.

C0

HARDWARE ARCHITECTURES FOR POLYNOMIAL BASIS MULTIPLIERS

D

D

clk

In this section are presented the hardware architectures for polynomial basis multiplication over GF(2233). In this case, MSB first multiplication, bit-parallel multiplication and modular multiplier based on PCA algorithms are implemented. 4.1. MSB first based multipliers The hardware multiplier based on the MSB first multiplication, uses m cells and computes the multiplication in m cycles. The hardware architecture for the polynomial basis multiplier is shown in Figure 4. a

a 3

b0,b1,b2,b3

a 2

C2

C1

Q

D

Q

C3

Q

D

clk

clk

Q

clk

CLK

0 A3

Xl Cm Cr

Xs

Xr

Xl Cm Cr

Xs

Xs

Xl Cm Cr

Xr

Xs

Xr

Xl Cm Cr

Xs

Xs

Xs

Xr

Xs

0 A2

Xl Cm Cr

Xs

Xr

Xl Cm Cr

Xs

Xs

Xl Cm Cr

Xr

Xs

Xr

Xl Cm Cr

Xs

Xs

Xs

Xr

Xs

a 1

0

0 A1

Xl Cm Cr

Xs

Xr

Xl Cm Cr

Xs

Xs

r

r

r

Xs

Xr

Xl Cm Cr

Xs

Xs

Xs

Xr

Xs

r 1

2

3

Xl Cm Cr

Xr

0

0 A0

p

p 3

p 2

Xl Cm Cr

p 1

0

Xs

Xr

Xl Cm Cr

Xs

Xs

Xl Cm Cr

Xr

Xs

Xr

Xl Cm Cr

Xs

Xs

Xs

Xr

Xs

4

Figure 4: MSB first based multiplier in GF(2 ) B0

4.2. Serial and parallel PCA multiplier An array of PCA cells determine the architecture of the polynomial multiplier GF(2n), in this case in Figure 5 and Figure 6 is shown an serial and parallel multiplier over GF(24) respectively. C0

D

C2

C1

Q

D

clk

D

Q

D

clk

clk

B1

P1

B2

P2

B3

P3

Figure 6: Parallel multiplier in GF(24)

bm-1

bm-2

bm-i

b1

b0 Modular Reduction

C3

Q

P0

am-1

Q

cm-1

clk

am-2 CLK

am-i

0 A

cm-2 Xl Cm Cr

Xs

Xr

Xl Cm Cr

Xs

Xs

Xl Cm Cr

Xr

Xs

Xr

Xl Cm Cr

Xr

a1

Xs

Xs

Xs

Xs

a0 B0

P0

B1

P1

B2

P2

B3

P3

Figure 5: Serial multiplier in GF(24) 4.3. Parallel multiplier The hardware architecture for the parallel multiplier algorithm for GF(2233) is presented in Figure 7. In this case, the two modules correspond to the polynomial multiplication and modulo reduction respectively, polynomial multiplication module uses an array which uses XOR and AND functions, where m2 AND gates and (m-1)2 XOR gates are used. The equation presents the modular reduction as follows:

ci = 0,1, 2...k − 2 = si + sm + i + s2 m − k + i ck −1 = sk −1 + sm + k −1

ci = k ...2 k − 2 = si + sm + i + sm − k + i + s2 m − 2 k + i ci = 2 k −1....m − 2 = si + sm + i + sm − k + i cm −1 = sm −1 + s2 m − k −1

c1

c0

Figure 7: Hardware architecture for GF(24) multiplier based on parallel multiplier algorithm

5. SIMULATION RESULTS In order to verify the performance of the multipliers, several simulations were carried out. The simulation results for hardware implementations are shown in Tables 1 and 2. The multipliers are implemented on the FPGA EP2S60F1020C3, and the simulation and synthesis were carried out using Quartus II version 5.0.

Serial

LC combinationals

LC registers

FMAX(MHz)

MSB PCA

163 163

163 163

215.8 215.8

Table 1: Simulation results for serial multiplier parallel

Logic elements

Parallel PCA

30909 26569

LC registers 0 163

FMAX(MHz) 34.44 4.64

Table 2: Simulation results parallel multiplier As could be observed from Tables 1, the MSB first and PCA algorithm based multipliers present a good performance using small area, which is very suitable for elliptic curve cryptoprocessor design. In Table 2, the Parallel multiplier present a good performance using smaller area than the PCA algorithm based multiplier. 6. CONCLUSIONS AND FUTURE WORK This article presents the design of efficient hardware implementations for the polynomial basis multiplication over GF(2233). In this case, the multipliers were designed using bit-serial multiplication, bit-parallel multiplication, PCA based serial multiplication and PCA parallel based multiplication algorithms for the multiplication over GF(2m). The MSB first and PCA algorithm based multipliers present a good performance this allows that elliptic curve based cryptosystems can support applications economically feasible such as smart cards and cellular telephones. The multipliers were simulated using Quartus II of Altera and synthesized on the FPGA EP2S60F1020C3. The future work, will be oriented to design hardware for squarin and inversion using polynomial basis over GF(2233), design a fast parallel multiplier over GF(2233) and to implement new multiplication algorithms. 7. ACKNOWLEDGMENT This work was sponsored by Altera Corporation through the University Program. The authors give a special thanks to Mrs Ralene Marcoccia of Altera Corporation. 8. BIBLIOGRAPHY [1] M. Jung, “FPGA Based Implementation Of An Elliptic Curve Coprocessor Utilizing Synthesizable VHDL code”, Darmstadt University of Technology. Available at http:// www.vlsi.informatik.tu-darmstadt.de/staff/ mjung/ publications/comprehensive.pdf

[2] G. Orlando, C. Paar, “a super serial galois fields multiplier for FPGAs and its application to public key algorithms”, ieeexplore.ieee.org/iel5/6529/17422/00803685.pd f?arnumber=803685 [3] M.  Hütter, J.  Großschädl, G.-A.  Kamendje,  “A versatile and scalable digit serial/parallel multiplier  architecture  for  finite fields GF(2m)”, International Conference on Information Technology: Coding and Computing (ITCC '03), 692-700. [4] P. Kitsos, G Theorodiris and O. Koufopavlou, “an efficient reconfigurable multiplier architecture for galois field GF(2m) ”, microelectronic journal 34 (2003) 975-980. [5] C. Grabbe, M. Bednara, J. Teich, J. von zur Gathen and J. Shokrollahi, “FPGA design of parallel high performance GF(2233) multipliers”, ieeexplore.ieee.org/iel5/8570/27136/01205958.pd f? isnumber=&arnumber=1205958 [6] H. Li and C. N Zhang, “Efficient cellular automata versatile multiplier for GF(2m)”, http://www.iis.sinica.edu.tw /JISE/2002/ 2002 07_01.pdf. [7] H. Wu, “bit-parallel finite field multiplier and squarer using polynomial basis”, http//: www. ieeexplore.ieee.org/iel5/12/21897/01017695.pdf?a rnumber=1017695.

Design of Polynomial Basis Multipliers over GF(2^233)

implementations for multiplication over finite field. GF(2233). Multiplication in GF(2n) is very commonly used in cryptography and error correcting codes. An.

376KB Sizes 1 Downloads 116 Views

Recommend Documents

Inverting bijective polynomial maps over finite fields
K–variety of dimension r and degree δ and suppose that the linear projection π : V → Ar defined by π(x) := (x1,...,xr) is a finite morphism of degree D. Definition ...

Forward Basis Selection for Sparse Approximation over ...
ting of non-negative/convex sparse approxi- ... tend the FBS to non-negative sparse approximation ..... tion is restricted in the l1-norm ball which is a convex.

PARAMETER ESTIMATION OF 2D POLYNOMIAL ...
still important to track the instantaneous phases of the single com- ponents. This model arises, for example, in radar ... ods do not attempt to track the phase modulation induced by the motion. Better performance can be .... set of lags as τ(l). 1.

Polynomial-mal.pdf
+cx+d F¶ _lp]Z ̄nsâ Hcq LSIw (x+1) Bbm a+c=b+d F¶v. sXfnbn¡qI? 16. P(x)= x. 3. +6x2. +11x-6+k bpsS LSI§fmW" (x+1), (x+2) Ch F¦n k bpsS hne F ́v ? 17. P(x)=x15. -1 sâ LSIamtWm (x-2) F¶v ]cntim[n¡qI. 18. P(x)=x2. +1 sâ LSIamtWm (x-2) FÂ

Polynomial Functions of Higher Degree.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Polynomial Functions of Higher Degree.pdf. Polynomial Functions of Higher Degree.pdf. Open. Extract. Open wi

Design and Implementation of MPICH2 over InfiniBand with RDMA ...
from Intel Corporation, and National Science Foundation's grants #CCR-. 0204429 and ... the best of our knowledge, this is the first high performance design and implementation of ... data and the receive queue holds instructions that describe.

Improving the Evolvability of Digital Multipliers using Embedded ...
All of the experiments were run on a single processor desktop PC with ... We have presented for the first time the application of PR with CGP and ECGP ... [7] Miller, J. F., Job D., and Vassilev, V. K (2000) Principles in the Evolutionary Design of.

Improving the Evolvability of Digital Multipliers using ... - CiteSeerX
Embedded Cartesian Genetic Programming and Product ..... genotype and to also help induce a selection pressure on the modules so that they .... the cumulative probability of success, R(z) represents the number of independent runs required.

Polynomial Division.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Polynomial ...

Are Government Spending Multipliers Greater during Periods of Slack ...
Page 1. 129. American Economic Review: Papers & Proceedings 2013, 103(3): 129–134 http://dx.doi.org/10.1257/aer.103.3.129. A key question that has arisen during recent debates is whether ... To view additional materials, and author disclosure state

Keynesian government spending multipliers and ...
The European spending plans would result in a reduction in private sector spending for con- ..... would even have an incentive to go slow on domestic stimulus while encouraging other countries, ..... Reduction in health insurance contributions.

What determines government spending multipliers?
bi,t-1: beginning-of-period debt stock, expressed as a share of GDP fci,t-1: dummy variable indicating a financial crisis ..... C is twice as much. Response of I strengthens over time. ▷ Current account worsens, real depreciation. ▷ Policy mix: i

Improving the Evolvability of Digital Multipliers using ...
ECGP and CGP share the same structure and represent a program as a directed graph. (that for ..... pp 719-736, MIT Press, Cambridge. [9] Spector, L. (1996) ...

Improving the Evolvability of Digital Multipliers using ... - CiteSeerX
Embedded Cartesian Genetic Programming and Product ..... 3rd European Conference on Genetic Programming, Edinburgh, Lecture Notes in Computer.

Federal Transfer Multipliers. Quasi-Experimental ...
Surico gratefully acknowledges financial support from the European Research Council. Starting Independent Grant ... [email protected]. Paolo Surico. London Business School ..... As the number of municipalities falls with population (Appendi

Automatic Polynomial Expansions - GitHub
−0.2. 0.0. 0.2. 0.4. 0.6. 0.8. 1.0 relative error. Relative error vs time tradeoff linear quadratic cubic apple(0.125) apple(0.25) apple(0.5) apple(0.75) apple(1.0) ...

CONSTRAINED POLYNOMIAL OPTIMIZATION ...
The implementation of these procedures in our computer algebra system .... plemented our algorithms in our open source Matlab toolbox NCSOStools freely ...

2.3 Polynomial Division.pdf
Page 1 of 6. 2.3 POLYNOMIAL DIVISION. Objectives. Use long division to divide polynomials by other polynomials. Use the Remainder Theorem and the Factor Theorem. Long Division of Polynomials. *In the previous section, zeros of a function were discuss

Keynesian government spending multipliers and ...
Research Network electronic library at http://ssrn.com/abstract_id=1705013. ..... than the sustained stimulus advocated by advisers of the U.S. administration. ..... European Monetary System with policy focused on German targets to a monetary ...

budget constrained expenditure multipliers
Spanish data to illustrate. 2. Analysis .... with recent 2004 data for the Spanish economy for unitary new injections, i.e.. , with ... Coke, Refinery and Nuclear. Fuels.

[PDF BOOK] Evolutionary Architecture: Nature as a Basis for Design ...
Design Free Online ... Evolutionary processes give rise to biodiversity at every Evolutionary Database Design Over the last decade we ve developed and refined ...

Polynomial algorithm for graphs isomorphism's
Polynomial algorithm for graphs isomorphism's i. Author: Mohamed MIMOUNI. 20 Street kadissia Oujda 60000 Morocco. Email1 : mimouni.mohamed@gmail.

Molecular Basis of Colorectal Cancer
Dec 17, 2009 - From the Department of Medicine and. Ireland Cancer Center, Case Western Re- serve University School of Medicine and. Case Medical Center, Cleveland (S.D.M.); the Howard Hughes Medical Institute,. Chevy Chase, MD (S.D.M.); and Brigham