[PDF] Double-Base Chains for Scalar Multiplications on Elliptic Curves





Previous PDF Next PDF



Computing Polynomials with Few Multiplications

16 Sept 2011 Key words and phrases: arithmetic circuits multiplications. 1 Introduction. Arithmetic complexity is a branch of theoretical computer ...



AdderNet: Do We Really Need Multiplications in Deep Learning?

In this paper we present adder networks (AdderNets) to trade these massive multiplications in deep neural networks



On the Arithmetic Complexity of Strassen-Like Matrix Multiplications

The Strassen algorithm for multiplying 2 × 2 matrices requires seven multiplications and 18 additions. The recursive use of this algorithm for matrices of 



Profinite Braid Groups Galois Representations and Complex

1-adic power series for complex multiplications of Fermat type or equivalently



Galois Action on Division Points of Abelian Varieties with Real

Suppose that X has no complex multiplication (i.e. EndcX= Z). Then the image of p.



Lecture 11 – Fast matrix multiplication

16 Jun 2014 373.) 1.4 Boolean matrix multiplication. Strassen's algorithm uses not only additions and multiplications so as to multiply matrices but also ...



Witnesses for Boolean Matrix Multiplication and for Shortest Paths

We use O(n?) to denote the running time of some subcubic algorithm for Boolean matrix multiplication. All our algorithms can be derived from any such algorithm 



A NONCOMMUTATIVE ALGORITHM FOR MULTIPLYING 3 x 3

The standard definition for the multiplication of two n x n matrices yields a noncommutative algorithm using n3 multiplications. Strassen [7] produced a.



Double-Base Chains for Scalar Multiplications on Elliptic Curves

Keywords: Elliptic curve cryptography Scalar multiplication



Fast Secure Matrix Multiplications over Ring-Based Homomorphic

HElib is a software library that implements the Brakerski-Gentry-Vaikuntanathan (BGV) homomorphic scheme in which secure matrix-vector multiplication is 

Double-Base Chains for Scalar Multiplications on

Elliptic Curves

Wei Yu

1, Saud Al Musa2, and Bao Li1,3

1 State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China yuwei_1_yw@163.com

2College of Computer Science and Engineering, Taibah University, Medina, Saudi Arabia

smusa@taibahu.edu.sa

3School of Cyber Security, University of Chinese Academy of Sciences, Beijing 100049, China

libao@iie.ac.cn Abstract.Double-base chains (DBCs) are widely used to speed up scalar multiplications on elliptic curves. We present three results of DBCs. First, we display a structure of the set containing all DBCs and propose an iterative algorithm to compute the number of DBCs for a positive integer. This is the first polynomial time algorithm to compute the number of DBCs for positive integers. Secondly, we present an asymptotic lower bound on average

Hamming weights of DBCs

logn8.25 for a positive integern. This result answers an open question about the Hamming weights of DBCs. Thirdly, we propose a new algorithm to generate an optimal DBC for any positive integer. The time complexity of this algorithm isO³¡logn¢2loglogn´ bit operations and the space complexity isO³¡logn¢2´ bits of memory. This algorithm accelerates the recoding procedure by more than 6 times compared to the state-of-the- art Bernstein, Chuengsatiansup, and Lange"s work. The Hamming weights of optimal DBCs are over 60% smaller than those of NAFs. Scalar multiplication using our optimal DBC is about 13% faster than that using non-adjacent form on elliptic curves over large prime fields. Keywords:Elliptic curve cryptography, Scalar multiplication, Double-base chain, Hamming weight

1 Introduction

A double-base chain (DBC), as a particular double-base number system (DBNS) representation, represents an integernasPl iAE1ci2bi3tiwhereci2{§1},bi,tiare non-increasing sequences. It is called an unsigned DBC whenci2{1}. A DBC was first used in elliptic curve cryptography for its sparseness by Dimitrov, Imbert, and Mishra [1], and Ciet, Joye, Lauter, and Montgomery [2]. Scalar multiplication is the core operation in elliptic curve cryptosystems. A DBC allows one to represent? The proceeding version of this paper appears at EUROCRYPT 2020 [3]. This is the full version.

2 W. Yu et al.

an integer in a Horner-like fashion to calculate scalar multiplication such that all partial results can be reused. In the last decade, DBCs were widely investigated to speed up scalar multiplications [4-6] and pairings [7,8]. The generalizations of DBCs were also applied to the arithmetics of elliptic curves. The generalizations include simultaneously representing a pair of numbers to accelerate multi-scalar multipli- cations [9-11], using double-base representation to speed up scalar multiplication on Koblitz curves [12], and representing an integer in a multi-base number system to promote scalar multiplications [13-15]. Dimitrov, Imbert, and Mishra pointed out that DBC is highly redundant, and counting the exact number of DBCs is useful to generate optimal DBCs [1]. A precise estimate of the number of unsigned DBNS representation of a given positive integer was presented in [16]. 100 has exactly 402 unsigned DBNS representations and

1000 has 1295579 unsigned DBNS representations. For unsigned DBC, Imbert and

Philippe [5] introduced an efficient algorithm to compute the number of unsigned DBCs for a given integer. By their algorithm, 100 has 7 unsigned DBCs and 1000 has 30 unsigned DBCs. DBCs are more redundant than unsigned DBCs. For a given integern, Doche [17] proposed a recursion algorithm to calculate the number of

DBCs with a leading term dividing 2

b3t. His algorithm is efficient to find the number of DBCs with a leading term dividing 2 b3tfor integers less than 270andb,tÇ70. But it does not work for calculating the number of DBCs of a positive integer used in elliptic curve cryptography. We will show how to calculate the number of DBCs of a

256¡bit integer or even a larger integer.

The Hamming weight is one of the most important factors that affect the effi- ciency of scalar multiplications. Dimitrov, Imbert, and Mishra proved an asymptotic upperboundO³lognloglogn´ approach [16]. Every integernhas a DBC with Hamming weightO¡logn¢. The upper bounds of DBNS representations and DBCs have been well investigated, in and Habsieger [4] showed that the DBCs produced by the tree approach is shorter than those produced by greedy approach [1] for integers with several hundreds of bits experimentally. They observed that the average Hamming weight of the DBCs produced by the tree approach is logn4.6419 . They also posed an open question that the average Hamming weight of DBCs generated by the greedy approach may be not

O³lognloglogn´

. We will give affirmation to this question. Canonic DBCs are the DBCs with the lowest Hamming weight for a positive integer and were introduced by Dimitrov, Imbert, and Mishra [1]. Several algorithms were designed to produce near canonic DBCs such as greedy algorithm [1], bi- nary/ternary approach [2], multi-base non-adjacent form (mbNAF) [14], and tree approach [4]. In Asiacrypt 2014, Doche proposed an algorithm to produce a canonic DBC [17]. As Doche"s algorithm was in exponential time, Capuñay and Thériault [8] improved Doche"s algorithm to generate a canonic DBC or an optimal DBC. This is the first algorithm to generate an optimal DBC in polynomial time, explicitly

O³¡logn¢4´

bit operations andO³¡logn¢3´ bits of memory. Bernstein, Chuengsa- tiansup, and Lange [18] presented a directed acyclic graph algorithm (DAG) to Double-Base Chains for Scalar Multiplications on Elliptic Curves 3 produce a canonic DBC or an optimal DBC. Their algorithm takes timeO³¡logn¢2.5´ bit operations andO³¡logn¢2.5´ bits of memory. As scalar multiplication requires

O³¡logn¢2loglogn´

when field multiplications use FFTs, we will focus on producing a canonic DBC or an optimal DBC in the same order of magnitude. In this paper, we are concerned with the theoretical aspects of DBCs arising from their study to speed up scalar multiplication and producing a canonic DBC or an optimal DBC efficiently. The main contributions are detailed as follows. 1. As Doche "salgor ithmis i nexpon entialt imet ocompute t hen umberof DBC s with a leading term dividing 2 b3t[17], we propose an iterative algorithm in

O³¡logn¢3´

bit operations and inO³¡logn¢2´ bits of memory. Our algorithm is based on our new structure of the set containing all DBCs. It requires 10 milliseconds for 256-bit integers and 360 milliseconds for 1024-bit integers. Using the iterative algorithm, 100 has 2590 DBCs with a leading term dividing 2

3034and 1000 has 28364 DBCs with a leading term dividing 23036. These results

termdividing2 a leading term dividing 2 b3tminus the number of DBCs with a leading term dividing 2 b¿3tis(b¡b¿)C¿whenb¸b¿for someb¿andC¿. We also present that the number of DBCs with a leading term dividing 2 b3tisO¡logn¢¡bit when bothbandtareO¡logn¢. 2. D ocheand H absiegerposed an open qu estiont odec idew hethert heav erage Hamming weight of DBCs produced by the greedy approach isO³lognloglogn´ or not [4]. We show that an asymptotic lower bound of the average Hamming weight of the DBCs returned by any algorithm for a positive integernislogn8.25 . This theoretical result answers their open question. Experimental results show that the Hamming weight of canonic DBCs is 0.179822lognfor 3000-bit integers. It is still a long way from the theoretical bound. 3. W ep roposea dy namicpr ogrammingal gorithmto gener atean o ptimalD BC. We introduce an equivalent representative for large integers to improve the efficiency of the dynamic programming algorithm. Our dynamic programming algorithm using equivalent representatives requiresO³¡logn¢2loglogn´ bit op- erations andO³¡logn¢2´ bits of memory. It accelerates the recoding procedure Many researches [1,2,4,7,8,17,18] indicate that the leading term of an optimal

DBC is greater than

n2 and less than 2n. We will prove it in this work. 4. C apuñayandThériault"salgorithm[8],Bernstein,Chuengsatiansup,andLange"s DAG algorithm [18], and our algorithms (Algorithms 2¡4) can generate the same optimal DBC for a given integer. Using optimal DBCs to speed up pairing computations has been fully investigated by Capuñay and Thériault"s algorithm in [8]. Using optimal DBCs to speed up scalar multiplication on Edwards curves has been studied by Bernstein, Chuengsatiansup, and Lange in [18]. We will prime fields, both theoretical analyses and experimental results show that scalar

4 W. Yu et al.

multiplication protecting against simple side-channel attack using our optimal

DBC is about 13% faster than that using NAF.

This paper is organized as follows. In Section 2, we present background of elliptic curves and DBCs. In Section 3, we show the structure of the set containing all DBCs, and give an iterative algorithm to compute the number of DBCs. In Section 4, we show an asymptotic lower bound of the average Hamming weights of DBCs. Section 5 shows a dynamic programming algorithm. Section 6 presents equivalent representatives for large numbers to improve our dynamic programming algorithm and presents the comparisons of several algorithms. Section 7 gives some comparisons of scalar multiplications. Finally, we conclude this work in Section 8.

2 Preliminaries

We give some basics about elliptic curves and DBCs.

2.1 Elliptic Curves

In what follows, point doubling (2P), tripling (3P), and mixed addition [19] (PÅQ) are denoted byD,T, andArespectively wherePandQare rational points on an elliptic curve. Cost of scalar multiplications are expressed in terms of field multipli- cations (M) and field squarings (S). To allow easy comparisons, we disregard field additions/subtractions and multiplications/divisions by small constants. Moreover, we assume thatS= 0.8Mas customary of software implementation (different CPU architectures usually imply differentSandMration) and thatS=Min the case of implementations on a hardware platform or protecting scalar multiplications against some simple side channel attack by side-channel atomicity [20]. LetEWbe an elliptic curve over a large prime fieldFpdefined by the Weierstrass equation in Jacobian projective coordinate:Y2AEX3ÅaX Z4ÅbZ6, whereaAE ¡3, b2Fp, and 4a3Å27b26AE0. The respective cost of a doubling, a mixed addition, and a tripling are 3MÅ5S, 7MÅ4S, and 7MÅ7SonEWrespectively [21,22]. More about

Weierstrass elliptic curves please refer to [23].

The cost of point operations onEWare summarized in Table 1.EWwithSAE0.8M andEWwithSAEMare denoted byEW0.8 andEW1 respectively. Table 1.Cost of elliptic curve point operationsoperationEW0.8EW1A7MÅ4S(10.2M)11M

D3MÅ5S(7M)8M

T7MÅ7S(12.6M)14M2.2 DBCs

DBNS represents an integer as

Pl iAE1ci2bi3tiwhereci2{§1}, andbi,tiare non- negative integers. It was first used in elliptic curve cryptography by Dimitrov, Im- bert, and Mishra [1]. Meloni and Hasan proposed new algorithms using DBNS Double-Base Chains for Scalar Multiplications on Elliptic Curves 5 representation to speed up scalar multiplications [24, 25]. The drawback of DB- NS representation to compute scalar multiplication is that it requires many pre- computations and space to compute scalar multiplication. A DBC is a special case of DBNS representations. It allows us to representnin a Horner-like fashion such that all partial results can be reused. It is defined as follows. Definition 1 (DBC [1])A DBC represents an integer n asPl iAE1ci2bi3tiwhere ci2CAE

{§1},bl¸bl¡1¸...¸b1¸0and tl¸tl¡1¸...¸t1¸0. We call2bi3tia term of the

DBC,2bl3tlthe leading term of the DBC, and l the Hamming weight of the DBC. IfCAE{1}, the DBC is called an unsigned DBC. Since computing the negative of a pointPcan be done virtually at no cost, we usually setCAE{§1}. The leading term of a DBC encapsulates the total number of point doublings and that of point triplings necessary to compute scalar multiplicationnPwhose total cost is (l¡1)¢AÅbl¢DÅ t l¢T. The number 0 has only one DBC that is 0. If a DBC does not exist, we denote it by DBC for a negative integer is the negative of the DBC of its absolute value. Therefore, we usually investigate the DBCs of a positive integer.

Some properties of DBCs are useful. LetnAEPl

iAE1ci2bi3tibe a DBC withci2 {§1},bl¸bl¡1¸...¸b1andtl¸tl¡1¸...¸t1. We have 1. 2 bk3tkis a factor ofl 0P iAEkci2bi3ti, whenk·l0·l; 2. l 0P iAEkci2bi3tiis not equal to 0 when 0Çk·l0·l; 3.

2bkÅ&3tkÅ&2

&¡1ÈkP iAE1ci2bi3tiÈ¡2bkÅ&3tkÅ&2 &¡1, when 1·&·l¡k; 4. 2 bl3tlÈn2 [26]; 5.P& iAE1ci2bi3tiÈ0 if and only ifc&AE1, when 1·&·l. Following from Dimitrov, Imbert, and Mishra"s definition of canonic DBC, Definition 2 (Canonic DBC [16])The canonic DBCs of a positive integer n are the ones with minimal Hamming weight. The canonic DBCs of a positive integer have the same Hamming weight. When we affecting the efficiency of scalar multiplication. The cost of point operations should also be considered. The works in [8,17,18] indicate the definition of an optimal DBC as follows. Definition 3 (Optimal DBC)Letwbe a DBC of a positive integer n whose leading term is2bl3tland its Hamming weight is l, and the value function ofwis defined byval(w)=(l¡1)¢AÅbl¢DÅtl¢T for given numbers AÈ0, D¸0, and T¸0. An optimal DBC of n is the DBC with the smallest value in the set{val(w)jw2X}where X is the set containing all DBCs of n.

6 W. Yu et al.

Let minL

{w1,w2,...,wm}be a DBC with the smallest Hamming weight among these DBCs. If the Hamming weight of w is the smallest in a corresponding set, we say w is "minimal". Let minV{w

1,w2,...,wm} be a DBC with the smallest val(wi) in

the set {val(w

1), val(w2), ...,val(wm)}. If more than one DBC has the same Hamming

weight or the same value of its value function, we choose the one with the smallest is used to generate canonic DBCs, and minV is used to generate optimal DBCs. An optimal DBC is associated with an elliptic curve. Let log denote binary logarithm. If the value of TD is log3, then the optimal DBC is a canonic DBC. In this case, we usually setDAETAE0. For canonic DBCs of a positive integer, our concern is their Hamming weight.

3 The Number of DBCs

DBCs are special cases of DBNS representations. In 2008, Dimitrov, Imbert, and Mishra showed an accurate estimate of the number of unsigned DBNS representa- tions for a given positive integer [16]. The number of signed DBNS representation is still an open question. Dimitrov, Imbert, and Mishra pointed out that counting the exact number of DBCs is useful to show DBC is redundant [1] and to generate an optimal DBC. Dimitrov, Imbert, and Mishra [1] and Imbert and Philippe [5] both noticed that each positive integer has at least one DBC such as binary representation. Imbert and Philippe [5] proposed an elegant algorithm to compute the number of unsigned DBCs for a given integer and presented the first 400 values. These values behave rather irregularly. To determine the precise number of DBCs for a positive integer is usually hard, but we are convinced that this number is infinity. The number of

DBCswithaleadingtermdividing2

Doche [17]. His algorithm is very efficient for less than 70¡bit integers with a leading term dividing 2 b3tfor the mostbandt. The algorithm requires exponential time. Before we present a polynomial time algorithm to calculate the number of DBCs of large integers, a structure of the set containing all DBCs is introduced.

3.1 The Structure of the Set Containing All DBCs

Let©(b,t,n) be the set containing all DBCs of an integern¸0 with a leading term strictlydividing2 2 b3tbut is not equal to 2b3t. Let¯©(b,t,n) be the set containing all DBCs of an integern·0 with a leading term strictly dividing 2b3t. Both definitions of©(b,t,n) and ¯©(b,t,n) arise from Imbert and Philippe"s structure of unsigned DBCs [5] and Capuñay and Thériault"s definition of the set containing all DBCs (see Definition 5 of [8]). Letzbe 2b03t0or¡2b03t0with integersb0¸0 andt0¸0. The set {wÅzjw2©} is denoted by z©(the similar is for¯©).z©is inspired by Imbert and Philippe"s mark [5]. If 2 b3tjz,z©(b,t,n) are the DBCs ofnÅz. Letz1,z2©AEz1(z2©). Take©(1,4,100)AE {3

4Å33¡32Å1} for example,2¢34©(1,4,100)AE{2¢34Å34Å33¡32Å1}.

Some properties of©and¯©are given.

Double-Base Chains for Scalar Multiplications on Elliptic Curves 7 1. I f©AE;, thenz©AE;; if¯©AE;, thenz¯©AE;. 2. I f©AE{0}, thenz©AE{z}; if¯©AE{0}, thenz¯©AE{z}. 3. I fnÇ0 orn¸2b3torbÇ0 ortÇ0, then©(b,t,n)AE¯©(b,t,¡n)AE;.

4.©(0,0,0)AE¯©(0,0,0)AE{0}.

5.

A DBC 0 plu szequals toz.

6.

A DBC NUL Lplu szequals to NULL.

Imbert and Philippe"s structure of the set containing unsigned DBCs [5] can be used to calculate the number of unsigned DBCs. Since the terms of DBCs ofnmay be larger thann, calculating the number of DBCs is usually difficult. Following from

Capuñay and Thériault"s definition [8],

n b,t´n(mod 2b3t) where 0·nb,tÇ2b3t.

We redefine

nb,tAEnb,t¡2b3t. To calculate the number of DBCs,©(b,t) and¯©(b,t) are introduced to describe the structure of the set containing DBCs shown as Lemma 1 where©(b,t) and¯©(b,t) represent©(b,t,nb,t) and¯©(b,t,¯nb,t) respectively. Lemma 1Let n be a positive integer, b¸0, t¸0, and bÅtÈ0. The structure of©(b,t) and that of

¯©(b,t)are described as follows.

1. I fn b,tÇ2b3t¡1, i.e., nb,tAEnb¡1,tAEnb,t¡1, then 2. I f2b3t¡1·nb,tÇ2b¡13t, i.e., nb,tAEnb¡1,tAEnb,t¡1Å2b3t¡1, then 3.

I f2b¡13t·nb,tÇ2¢2b3t¡1, i.e., nb,tAEnb¡1,tÅ2b¡13tAEnb,t¡1Å2b3t¡1, then

4. I fn b,t¸2¢2b3t¡1, i.e., nb,tAEnb¡1,tÅ2b¡13tAEnb,t¡1Å2£2b3t¡1, then

8 W. Yu et al.

The proof is shown as Appendix A.1.

The definitions ofnb,tand¯nb,tindicate that bothnb,tAEnb¡1,tAEnb,t¡1Å2bÅ13t¡1 andnb,tAEnb¡1,tÅ2b¡13tAEnb,t¡1are impossible. From Lemma 1,©(b,t) and¯©(b,t)

only rely on©(b¡1,t),¯©(b¡1,t),©(b,t¡1) and¯©(b,t¡1). By the definitions ofnb,t

and ¯nb,t, the structure of©(b,t) and that of¯©(b,t) still work fornb,tAE0 in Case 1, n b,tAE2b3t¡1in Case 2,nb,tAE2b¡13tin Case 3, andnb,tAE2¢2b3t¡1in Case 4. dividing 2 b3tin the literature. Based on this structure, we will show the number of

DBCs with a leading term dividing 2

b3tfor a positive integern.

3.2 The Number of DBCs

LetjSjbe the cardinality of the setS. The number of DBCs with a leading term dividing 2 b3tfor representingnb,tisj©(b,t)jÅj¯©(b,t)j. We will provide some initial j©(0,0,0)jAEj¯©(0,0,0)jAE1. Based on Lemma 1, the cardinality of©(b,t) and that of¯©(b,t) are shown as

Theorem 1.

I tspr oofis giv enin A ppendixA .2.

Theorem 1Let n be a positive integer, b¸0, t¸0, and bÅtÈ0. We have 1. I fn b,tÇ2b¡13t¡1, then j

¯©(b,t)jAEj¯©(b¡1,t)j.

2.

I f2b¡13t¡1·nb,tÇ2b3t¡1, then

Åj j

¯©(b,t)jAEj¯©(b¡1,t)j.

3.

I f2b3t¡1·nb,tÇ2b¡13t, then

j 4.

I f2b¡13t·nb,tÇ2¢2b3t¡1, then

j 5. I f2¢2b3t¡1·nb,tÇ5¢2b¡13t¡1, then j©(b,t)jAEj©(b¡1,t)j, j Åj Double-Base Chains for Scalar Multiplications on Elliptic Curves 9 6. I fn b,t¸5¢2b¡13t¡1, then j©(b,t)jAEj©(b¡1,t)j, j Åj

Based on Theorem 1, we have

Corollary 11.I fb ¸0and t¸0, thenj©(b,t)j¸j©(b¡1,t)j,j©(b,t)j¸j©(b,t¡1)j,

j ¯©(b,t)j¸j¯©(b¡1,t)j, andj¯©(b,t)j¸j¯©(b,t¡1)j. 2. I fb ¸0and t¸0, thenj©(b,t)j·4bÅtandj¯©(b,t)j·4bÅt. By Corollary 1,j©(b,t)jandj¯©(b,t)jare bothO(logn)-bit integers when bothb andtareO(logn).

DBCs with a leading term strictly dividing 2

b3tfornb,tand¯nb,tshown as Algorithm

1. The number of DBCs with a leading term dividing 2

b3tfornis

1.j©(b,t)jÅj¯©(b,t)jwhen 2b3tÈn;

2.j©(b,t)jwhenn2

Ç2b3t·n;

quotesdbs_dbs47.pdfusesText_47
[PDF] multiplications des nombres relatifs

[PDF] multiplicité des critères pour rendre compte de la structure sociale

[PDF] Multiplié deux identités remarquables

[PDF] multiplier

[PDF] Multiplier des equations par (-1) et Diviser des equations par (-2)

[PDF] Multiplier des fractions

[PDF] multiplier des heures

[PDF] multiplier des nombres en écriture fractionnaire

[PDF] multiplier des nombres en écritures fractionnaires

[PDF] Multiplier des nombres positifs en écriture fractionnaire

[PDF] Multiplier des nombres positifs en écriture fractionnaire - 4eme

[PDF] Multiplier des nombres positifs en écriture fractionnaire - Maths

[PDF] multiplier deux fractions

[PDF] multiplier deux racines carrées identiques

[PDF] Multiplier et diviser des nombres relatifs en écriture fractionnaire