Method and a device for performing torus-based cryptography

Information

  • Patent Grant
  • 8548162
  • Patent Number
    8,548,162
  • Date Filed
    Thursday, June 10, 2010
    14 years ago
  • Date Issued
    Tuesday, October 1, 2013
    10 years ago
Abstract
At CRYPTO 2003, Rubin and Silverberg introduced the concept of torus-based cryptography over a finite field. The present invention extends their setting to the ring of integers modulo N, thus obtaining compact representations for cryptographic systems that base their security on the discrete logarithm problem and the factoring problem. This can result in small key sizes and substantial savings in memory and bandwidth. However, unlike the case of finite field, analogous trace-based compression methods cannot be adapted to accommodate the extended setting of the invention when the underlying systems require more than a mere exponentiation. The invention finds particular application in a torus-based implementation of the ACJT group signature scheme. Also provided is a processor.
Description

This application claims the benefit, under 35 U.S.C. §365 of International Application PCT/EP2010/058131, filed Jun. 10, 2010, which was published in accordance with PCT Article 21(2) on Dec. 23, 2010 in English and which claims the benefit of European patent application No. 09305553.1, filed on Jun. 16, 2009.


TECHNICAL FIELD

The present invention relates generally to cryptography, and more particularly to torus-based cryptography.


BACKGROUND

This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.


Groups where the discrete logarithm problem is assumed to be intractable are central in the design of public-key cryptography. This was first pointed out by Diffie and Hellman in their seminal report: Whitfield Diffie and Martin E. Hellman, “New Directions in Cryptography”, IEEE, Transactions on Information Theory, 22(6):644-654, 1976.


The security of the Diffie-Hellman key-distribution system relies on the intractability of the discrete logarithm problem in the multiplicative group of finite fields. Such groups also enable the construction of encryption schemes, digital signature schemes, and many other cryptographic primitives and protocols; see Alfred J. Menezes, Paul C. van Oorchot, and Scott A. Vanstone, “Handbook of Applied Cryptography”, CRC Press, 1997.


Several solutions have been proposed to improve the efficiency of the so-obtained schemes.


Schnorr suggests working in a prime-order subgroup of custom characterpx rather than in the whole group custom characterpx; see Claus-Peter Schnorr, “Efficient Signature Generation by Smart Cards”. Journal of Cryptology, 4(3):161-174, 1991.


Lenstra extends this idea to the cyclotomic subgroup of custom characterpxr, stating that the underlying field is really custom characterpr and not some intermediate subfield; see Arjen K. Lenstra, “Using Cyclotomic Polynomials to Construct Efficient Discrete Logarithm Cryptosystems Over Finite Fields”, in V. V. Varadharajan, J. Pieprzyk, and Y. Mu, editors, Information Security and Privacy (ACISP '97), volume 1270 of Lecture Notes in Computer Science, pages 127-138. Springer-Verlag, 1997.


More recently, Rubin and Silverberg rephrased cyclotomic subgroups in terms of algebraic tori over custom characterp. The main advantage of their approach resides in the compact representation of the elements. See Karl Rubin and Alice Silverberg, Torus-Based Cryptography, In D. Boneh, editor, Advances in Cryptology—CRYPTO 2003, volume 2729 of Lecture Notes in Computer Science, pages 349-365. Springer-Verlag, 2003.


Other prominent proposals featuring a compact representation include LUC (see Peter Smith and Christopher Skinner, “A public-key cryptosystem and a digital signature system based on the Lucas function analogue to discrete logarithms”, In J. Pieprzyk and R. Safavi-Naini, editors, Advances in Cryptology—ASIACRYPT'94, volume 917 of Lecture Notes in Computer Science, pages 357-364. Springer-Verlag, 1995.) and XTR (see Arjen K. Lenstra and Eric R. Verheul, “The XTR public key system”. In M. Bellare, editor, Advances in Cryptology—CRYPTO 2000, volume 1880 of Lecture Notes in Computer Science, page 119. Springer-Verlag, 2000).


Variants of Diffie-Hellman key-distribution system in the multiplicative group custom characterNx, where N is the product of two primes are proposed by Kevin S. McCurley (see “A key distribution system equivalent to factoring”, Journal of Cryptology, 1(2):95-105, 1988) and Zahava Shmuely (see “Composite Diffie-Hellman public key generating systems hard to break”, Technical Report 356, Israel Institute of Technology, Computer Science Department, Technion, February 1985). The goal is to combine the security of the original scheme with the difficulty of factoring large numbers. McCurley argues that it may be desirable to design cryptographic systems with the property that breaking them requires solving two different computational problems.


SUMMARY OF INVENTION

In a first aspect, the invention is directed to a cryptographic method for obtaining an intermediate result for use in enciphering, authenticating or signing data. The method operates on a torus over custom characterN, where N is a product of at least two prime factors and the torus has parameter D in custom characterN. A processor performs at least one multiplication of two elements m1 and m2 over the torus, and outputs the result of the multiplication. The result of the torus multiplication is equal to a division over custom characterN, where the dividend is the sum of D with the product of m1 and m2 and the divisor is the sum of m1 and m2. At least one of m1 or m2 is one of: a) the data to be enciphered, authenticated or signed, b) a cryptographic key, or c) an intermediate result depending of at least one of a) or b).


In a second aspect, the invention is directed to a processor for performing a cryptographic method for obtaining an intermediate result for use in enciphering, authenticating or signing data. The cryptographic method operates on a torus over custom characterN, where N is a product of at least two prime factors and the torus has parameter D in custom characterN. The processor is adapted to perform at least one multiplication of two elements m1 and m2 over the torus, and output the result of the torus multiplication. The result of the torus multiplication being equal to a division over custom characterN, where the dividend is the sum of D with the product of m1 and m2, and the divisor is the sum of m1 and m2. At least one of m1 or m2 is one of: a) the data to be enciphered, authenticated or signed, b) a cryptographic key, or c) an intermediate result depending of at least one of a) or b).





BRIEF DESCRIPTION OF DRAWINGS

Preferred features of the present invention will now be described, by way of non-limiting example, with reference to the accompanying drawings, in which



FIG. 1 illustrates a device for performing cryptography calculations according to a preferred embodiment of the present invention.





DESCRIPTION OF EMBODIMENTS

The present application introduces torus-based cryptography over the ring custom characterN. It can find applications in settings similar to those considered by McCurley. An advantage is that it can increase the performance of cryptographic schemes whose security requires both the integer factorization assumption and the discrete logarithm assumption, or related assumptions (see for example: Niko Baric and Birgit Pfitzmann, “Collision-free accumulators and fail-stop signature schemes without trees”, In W. Fumy, editor, Advances in Cryptology—EUROCRYPT'97, volume 1233 of Lecture Notes in Computer Science, pages 480-494, Springer-Verlag, 1997. Dan Boneh, “The decision Diffie-Hellman problem”, In J. Buhler, editor, Algorithmic Number Theory (ANTS-III), volume 1423 of Lecture Notes in Computer Science, pages 48-63. Springer-Verlag, 1998. Eiichiro Fujisaki and Tatsuaki Okamoto, “Statistical zero-knowledge protocols to prove modular polynomial equations”, In B. Kaliski, Jr, editor, Advances in Cryptology—CRYPTO'97, volume 1294 of Lecture Notes in Computer Science, pages 16-30. Springer-Verlag, 1997.) Substantial savings both in memory and in transmission can be achieved without security loss. The representation used in LUC offers the same savings as one-dimensional tori over custom characterN . Unfortunately, its usage is mostly restricted to exponentiation: LUC presents an analogue of RSA. However, numerous applications require full use of multiplication. Tori over custom characterN embed a group structure and therefore suit a much wider range of applications. This can be considered as a main feature of torus-based cryptography.


As an illustration, consider the ACJT group signature scheme, Giuseppe Ateniese, Jan Camenisch, Marc Joye, and Gene Tsudik, “A practical and provably secure coalition-resistant group signature scheme”, In M. Bellare, editor, Advances in Cryptology—CRYPTO 2000, volume 1880 of Lecture Notes in Computer Science, pages 255-270. Springer-Verlag, 2000. This AJCT scheme was used in the design of the protocol standardized by the Trusted Computing Group to protect privacy of the device's user (see Trusted Computing Group. TCG TPM specification 1.2. Available at http://www.trustedcomputinggroup.org/, 2003). Group signature schemes, as introduced by Chaum and van Heyst allow a group member to sign anonymously on behalf of the group (see David Chaum and Eugene van Heyst, “Group signatures”, In D. W. Davies, editor, Advances in Cryptology—EUROCRYPT'91, volume 547 of Lecture Notes in Computer Science, pages 257-265. Springer-Verlag, 1991). However, the group manager is able to recover the signer's identity. The ACJT scheme makes use of arithmetic modulo N, where N=pq is a strong RSA modulus. Each group member possesses a membership certificate [A; e] satisfying Ae=axa0(mod N) where {a, a0,N} are common public parameters and x denotes the member's private key. As the group manager may know the factorization of N, the secrecy of private key x is only guaranteed modulo p and q. As remarked by Camenisch and Groth (see Jan Camenisch and Jens Groth, “Group signatures: Better efficiency and new theoretical aspects”, In C. Blundo and S. Cimato, editors, Security in Communication Networks (SCN 2004), volume 3352 of Lecture Notes in Computer Science, pages 120-133. Springer-Verlag, 2004), if it is desired to disallow the group manager to frame group members, the length of modulus N should typically be doubled. Based on current understanding, a torus-based implementation offers the same security level but without requiring an increase of the length of N. For example, for an expected 80-bit security level, the size of the resulting signatures is about 11 kb (this is half than that of the original scheme in the case of a malicious group manager) and the generation of a group signature is more than three times faster.


The rest of this description is organized as follows. First, some background on algebraic tori is provided. A compact representation of one-dimensional tori from the geometric interpretation of the group law on Pell conics is detailed. Compact representations for higher-dimensional tori are also discussed. Then, tori-based representations are extended over rings. The main focus is put on the ring custom characterN where N is an RSA modulus. The so-obtained representations are compared with Lucas-based representations and it is explained why the latter are inappropriate. Finally, applications of the compression are addressed. A torus-based implementation of the basic EIGamal encryption scheme is presented, as is a detailed implementation of the ACJT group signature scheme using a torus-based representation and the performance of the resulting scheme is discussed.


Torus-Based Cryptography


Let custom characterq denote the finite field with q=pr elements. The order of the multiplicative group custom characterpxr=custom characterpr\{0} is pr−1. Note that pr−1Πd|rΦd(p) where Φd (x) represents the r-th cyclotomic polynomial. We let Gp,rcustom characterpxr denote the cyclic subgroup of order Φr (p).


In the previously mentioned article, Rubin and Silverberg identify Gp,r with the custom characterp-points of an algebraic torus custom characterr(custom characterp). Namely, they consider custom characterr(custom characterp)={αεcustom characterpxr|Ncustom characterpr/F(α)=1 whenever custom characterp Fcustom charactercustom characterpr}, that is, the elements of custom characterpxr whose norm is one down to every intermediate subfield F. The key observation is that custom charactercustom characterp) forms a group whose elements can be represented with only φ(r) elements of custom characterp, where φ denotes Euler's totient function. The compression factor is thus of r/φ(r) over the field representation.


Parameterization of custom character(custom characterp)


Now follows an explicit compact representation of custom characterr(custom characterp) for the case r=2. This gives |custom characterpx2|=p2−1, Φ2(p+1, and Gp,2={αεcustom characterpx2|αΦ2(p)=1}. It is assumed that p is odd. custom characterp2 =custom characterp(√{square root over (Δ)}) for some non-square Δεcustom characterpx. Also Gp,2={x+y√{square root over (Δ)}|x,yεcustom characterp and (x+y√{square root over (Δ)})p+1=1}. Since (x+y√{square root over (Δ)})p=x−y√{square root over (Δ)}, it follows that (x+y√{square root over (Δ)})p+1=(x−y√{square root over (Δ)})(x+y√{square root over (Δ)})=x2−Δy2.


So, the group Gp,2 can be seen as the set of custom characterF points on the genus 0 curve C over custom characterp given by the Pell equation

C/custom characterp:x2−Δy2=1  (1)


Further, Gp,2custom character(custom characterp)≅C(custom characterp); see lemma 7 in Rubin and Silverberg (and also theorem 4.5 of Alfred J. Menezes, Elliptic Curve Public Key Cryptosystems; Kluwer Academic Publishers, 1993). If ⊕ denotes the group law on C(custom characterp), given two points (x1, y1), (x2, y2)εC(custom characterp), then

(x1, y1)⊕(x2, y2)=(x1x2y1y2, x1y2+x2y1).


The neutral element is custom character=(1,0) and the inverse of (x, y) is (x, −y).


As remarked by Isabelle Déchène in chapter 3 of Generalized Jacobians in Cryptography (PhD thesis, McGill University, Montreal, Canada), the geometric interpretation of the group law on C(custom characterp) gives rise to a compact representation. Let custom character=(x1, y1) and Q=(x2,y2) be two points of C(custom characterp). The group law on C(custom characterp) is given by the so-called ‘chord-and-tangent’ rule (see Boleslas Niewenglowski, Note sur les équations x2ay2=1 et x2−ay2=−1; Bulletin de la Société Mathématique de France, 35:126-131, 1907; see also §1 of Franz Lemmermeyer, Higher descent on Pell conics (III), Preprint, 2003 for a detailed account). custom character denotes the line passing through custom character and Q; custom character represents the tangent line at custom character if custom character=Q. The parallel line, say custom character′, to custom character that passes through custom character=(1,0) intersects (counting multiplicity) the Pell conic C(custom characterp) at precisely one other point (x3, y3), which is defined as custom character⊕Q. If m denotes the slope of custom character then the equation of custom character′ is given by y=m(x−1). Therefore, (x3, y3) satisfies x32−Δy32=1 and y3=m(x3−1). Thus,








x
3
2

-

Δ








m
2



(


x
3

-
1

)


2



=


1



(


x
3

-
1

)



(



x
3



(

1
-

Δ






m
2



)


+

Δ






m
2


+
1

)



=
0.









As






y
3


=

m


(


x
3

-
1

)



,






(


x
3

,

y
3


)

=


(




Δ






m
2


+
1



Δ






m
2


-
1


,


2

m



Δ






m
2


-
1



)

=

(





(

Δ





m

)

2

+
Δ




(

Δ





m

)

2

-
Δ


,


2


(

Δ





m

)





(

Δ





m

)

2

-
Δ



)







Let now custom character=(x, y) be a point in C(custom characterp)\{custom character}. Since custom character=custom character+custom character, there is a map











ψ


:







𝔽
p





C


(

𝔽
p

)



\


{
𝒪
}



,



m
_



=

(





m
_

2

+
Δ




m
_

2

-
Δ


,


2


m
_





m
_

2

-
Δ



)






(
2
)








where m=Δm and m is the slope of the line custom character passing through custom character and custom character. (A slightly faster arithmetic is obtained by considering m rather than m; this corresponds to the map in §5.2 of Rubin and Silverberg.) Note that m2−Δ≠0 for all mεcustom characterp, since Δ is a non-square in custom characterp.


Proposition 1. The set of solutions satisfying Eq. (1) is given by

{ψ( m)| mεcustom characterp}∪{custom character}

Proof. It is easy to see that ψ is injective. Indeed, assuming ψ( m1)=ψ( m2) gets

(m12+Δ)m22−Δ)=m22+Δ)m12−Δ)
2m1(m22−Δ)=2m2(m12−Δ)
m12= m22
2m1(m22−Δ)=2m2(m12−Δ)
m1= m2

This concludes the proof by noting that there are (p+1) solutions to Eq. (1).□


The inverse map is given by












ψ

-
1


:


C


(

𝔽
p

)



\


{
𝒪
}



->

𝔽
p


,



(

x
,
y

)



m
_


=


Δ





y


x
-
1







(
3
)







By augmenting custom characterp with ∞, maps ψ and ψ−1 yield an isomorphism C(custom characterp){tilde over (∵)}custom characterp, ∪{∞} by defining ψ(∞)=custom character and ψ−1(custom character)=∞.


The latter representation enables the following definition

custom character2(custom characterp)={ m| m−1(x,y) with (x,yC(custom characterp)}  (4)


The neutral element in custom character2(custom characterp) is ∞. The inverse of m is − m. Let m1, m2εcustom character2(custom characterp)\{∞}, custom character is the group law (torus multiplication) in custom character2(custom characterp). If m1=− m2 then m1custom characterm2=∞. If m1≠− m2, then












m
_

1




m
_

2


=



ψ

-
1




(


ψ


(

m
1

)




ψ


(

m
2

)



)


=





m
_

1




m
_

2


+
Δ




m
_

1

+


m
_

2








(
5
)







As a result, it is possible to do cryptography in custom character2(custom characterp) by doing all arithmetic directly in custom characterp.


Trace-Based Compression


The trace map is defined by

Tr:custom characterp2custom characterpcustom characterTr(α)=α+αp.


Then αεGp,2 and its conjugate αp are the roots of polynomial (X−α)(X−αp)=X2−Tr(α)X+1. Define Vk=Tr(αk). Since Vkk−k, it is easily verified that Vi+j=ViVj−Vi−j. In particular, V2i=Vi22 and V2i+1=Vi+1Vi−Tr(α). Therefore, if l is the binary length of k, Tr(αk) can be evaluated quickly with only l multiplications and l squarings in custom characterp using the Montgomery ladder (see e.g. FIG. 4 of Marc Joye and Sung-Ming Yen. The Montgomery powering ladder. In B. S. Kaliski, Jr., ç. K. Koç, and C. Paar, editors, Cryptographic Hardware and Embedded Systems—CHES 2000, volume 2523 of Lecture Notes in Computer Science, pages 291-302. Springer-Verlag, 2000). As can be seen, trace-based representations are well suited for exponentiation.


It should be noted that letting P=Tr(α),Vk=Vk(P, 1) corresponds to the kth item of Lucas sequence {Vk(P, Q)} with parameter Q=1. Moreover, since a αεGp,2, it follows that α≠αp and Δ:=Tr(α)24=P2−4 is a non-square. Let {Uk(P,1)} denote the companion Lucas sequence where Ukεcustom characterp satisfies Vk+Uk√{square root over (Δ)}=2αk. Noting that √{square root over (Δ)}=α−α−1 gives Uk=(αk−a−k)/(α−α−1). In addition, Vk2−ΔUk2=(Vk+Uk√{square root over (Δ)})(Vk−Uk√{square root over (Δ)})=(2αk)(2α−k)=4. Consequently, an element α=x+y√{square root over (Δ)}εGp,2 can be equivalently written as






α
=




V
1

2

+



U
1

2



Δ






and






α
k



=



V
k

2

+



U
k

2



Δ









such that









(


V
k

2

)

2

-


Δ


(


U
k

2

)


2


=
1.





In other words,







C


(

𝔽
p

)


=


{


(



V
k

2

,


U
k

2


)

|

0

k

p


}

.





Trace-based representations over custom characterp can be ‘enhanced’ to allow the multiplication of two compressed elements. For yεcustom characterp, the parity bit of y can be defined as par(y)=y mod 2. As prime p is odd, it is obvious that par(p−y)=1-par(y) if yεcustom characterp\{0}. Hence, a point custom character=(x,y)εC(custom characterp) is uniquely identified by the pair (x, β) where β=par(y). This is called the enhanced trace-based representation. Hence, given (x1, β1) and (x2, β2) (corresponding to custom character1 and custom character2 E C(custom characterp)), the compressed value (x3, β3) (corresponding to custom character3=custom charactercustom character2) can be obtained as follows:

    • evaluate square roots √{square root over ((x12−1)/Δ)}and √{square root over ((x22−1)/Δ)}over custom characterp,
    • recover custom character1=(x1, y1) and custom character2=(x2, y2) from β1 and β2,
    • compute (x3,y3)=(x1, y1)⊕(x2,y2), and
    • output (x3, β3) with β3=y3 mod 2.


      Compared to torus-based representation, this is however at the expense of the computation of two square roots and of further memory requirements.


      Parameterization of Higher Dimensional Tori


The next cases for which the ratio r/(φ(r) is large (and thus leading to optimal compression factors) are r=6 and r=30. An explicit compact representation of custom character6(custom characterp) is detailed Section 5.1 of the previously mentioned Torus-Based Cryptography by Karl Rubin and Alice Silverberg. For the case r=30, see section 5 of Marten van Dijk, Robert Granger, Dan Page, Karl Rubin, Alice Silverberg, Martijn Stam, and David Woodruff, Practical cryptography in high dimensional tori. In R. Cramer, editor, Advances in Cryptology—EUROCRYPT 2005, volume 3492 of Lecture Notes in Computer Science, pages 234-250. Springer-Verlag, 2005.


Compact Representations over the Ring custom characterN


Let N=pq be the product of two large primes and custom characterN denote the ring of integers modulo N. The isomorphism custom characterNcustom characterp×custom characterq induces an isomorphism between custom characterr (custom characterN) and custom characterr(custom characterpcustom characterr(custom characterq).


Current knowledge in cryptanalytic techniques implies that the hardness of factoring an RSA modulus N or computing discrete logarithms in a finite field of the size of N is broadly the same. Assuming that p and q are of equal size, the discrete logarithm problem in custom characterr(custom characterp) and in custom characterr(custom characterq) will thus not be easier than factoring N provided that r≧2. For efficiency reasons, a smaller value of r yields better performance. Henceforth, the description will focus on custom characterr(custom characterN) with r=2.


Tori custom character2(custom characterN) and custom character2(custom characterN)


Consider the Pell equation over custom characterN,

custom character:x2−Δy2=1

where Δεcustom characterNx is a non-square modulo p and modulo q. By Chinese remaindering, the set of points (x, y)εcustom characterN×custom characterN satisfying this equation form a group, C(custom characterN)=C(custom characterp)×C(custom characterq), under the ‘chord-and-tangent’ law (see “Parameterization of custom character2(custom characterp)”). The neutral element is custom character(1,0). For each point custom characterεC(custom characterN), there exists a unique pair of points custom characterpεC(custom characterp) and custom characterqεC(custom characterq) such that custom character mod p=custom characterp and custom character mod q=custom characterq. This equivalence is denoted by custom character=[custom characterp,custom characterq].


It is now possible to extend the previous compression map (cf. Eq. (3)) to custom characterN. The only complication is that they are some points of the form [custom characterp, custom character7] or [custom characterp, custom characterq]. To deal more easily with these points, a projective representation is considered for the compressed result. m is written as a pair (M:Z) and m=(M:Z) is said to be equivalent to m′=(M′:Z′) if there exists some tεcustom characterNx such that M′=tM and Z′=tZ. Definition:

ψ−1:C(custom characterN)→custom character1(custom characterN),(x,y)custom characterm=(Δy:x−1)  (6)


This in turn leads to the definition of custom character2(custom characterN),

custom character2(custom characterN)={m| m−1(x,y) with (x,yC(custom characterN)}  (7)

Group law. The group law (torus multiplication) on custom character2(custom characterN) is denoted custom character. The neutral element is (t:0) for some tεcustom characterNx. The inverse of an element m=(M:Z) is (−M:Z). From Eq. (5), given m1=(M1:Z1) and m2=(M2:Z2) in custom character2(custom characterN), a simple calculation shows that

(M1:Z1)custom character(M2:Z2)=(M1M2+ΔZ1Z2:M1Z2+M2Z1)  (8)


A further advantage of the projective representation is that the group law is complete: it works for all inputs m1, m2εcustom character2 (custom characterN).


Affine parameterization. The map given by Eq. (6) does not yield a compact representation for custom character2(custom characterN) since each element m then requires two elements of custom characterN. A possible workaround is to ignore input points of the form [custom characterp, custom characterq] or [custom characterp, custom characterp] and to restrict to subset {tilde over (C)}(custom characterN)={(x,y)εC(custom characterN)x−1εcustom characterNx}∪{custom character}. A point custom character=(x,y)ε{tilde over (C)}(custom characterN) corresponds to







m
_

=

(



Δ





y


x
-
1


:
1

)






if custom charactercustom character, and m=(1:0) otherwise. Definition

custom character2(custom characterN)={m| m−1(x,y) with (x,y{tilde over (C)}(custom characterN)}  (9)


From the above observation, an element m in custom character2(custom characterN) can be represented by an element of custom characterN plus one bit:






(



Δ





y


x
-
1


:
1

)





or (1:0). Yet another possibility is to represent m as an element of custom character1(custom characterN)∪{∞}. Namely, if custom character=(x,y)ε{tilde over (C)}(custom characterN) then







m
_

=

(



Δ





y


x
-
1


:
1

)






if custom charactercustom character, and m=∞ otherwise. Both cases result in a compact representation for custom character2(custom characterN).


The group custom character2(custom characterN) consists of all the elements of custom character2(custom characterN) together with a number of elements of the form (M:Z) with gcd(Z,N)=p or q (corresponding to points [custom characterp, custom characterq] and [custom characterp,custom characterq]in C(custom characterN)). The ‘chord-and-tangent’ law on {tilde over (C)}(custom characterN), whenever it is defined, coincides with the group law on C(custom characterN)=C(custom characterp)×C(custom characterq). The same holds for custom character2(custom characterN). In practice, for cryptographic applications, N is the product of two large primes. It is therefore extremely unlikely that operation custom character is not defined on custom character2(custom characterN).


Torus-Based vs. Trace-Based Compression


Similarly to the section “Trace-based compression”, Lucas sequences can be defined over the ring custom characterN by Chinese remaindering. Trace-based or equivalently Lucas-based compressions are well suited to exponentiation. For example, Smith and Lennon proposed an analogue to RSA using Lucas sequence {Vk(P, 1)} over custom characterN (see Peter J. Smith and Michael J. J. Lennon. LUC: A New Public Key System. In E. G. Dougall, editor, 9th International Conference on Information Security (IFIP/Sec '93), volume A-37 of IFIP Transactions, pages 103-117, North-Holland, 1993).


When more than a mere exponentiation is required, trace-based representations are not applicable. Indeed, let custom character1=(x1,y1), custom character2=(x2,y2)εC(custom characterN). Computing custom character3=custom character1custom character2 being given custom character1 and custom character2 is easy: custom character3=(x1x2+Δy1y2,x1y2+x2y1). However, computing x3=x1x2+Δy1y2 being only given x1 and x2 is not possible.


Even an enhanced trace-based representation (cf. “Trace-based compression”) does not seem helpful when working over custom characterN. Here is an example of such an enhanced compression for Blum integers N (i.e. N=pq with primes p,q≡3 (mod 4)). As before, for yεcustom characterN, par(y) is defined as y mod 2 (i.e. par(y)=y mod 2). In addition, chr(y) is defined as: chr(y)=0 if







(

y
N

)

=
1





and chr(y)=1 otherwise, where






(

y
N

)





denotes the Jacobi symbol of y modulo N. Since p,c≡3 (mod 4),







(


-
1

p

)

=


(


-
1

q

)

=

-
1.







It is therefore easily verified that a point custom character=(x, y)εC(custom characterN) is uniquely identified by the tuple (x, β, X ) where β=par(y) and X =chr(y), that is, with one element of custom characterN and two bits. Unfortunately, decompressing (x, β, X ) into custom character=(x,y) requires the knowledge of p and q, which are, in most settings, private values. Unlike the finite field case, enhanced trace-based representation over custom characterN allowing to multiply compressed elements is unknown. Only torus-based representation over custom characterN is available in this case to get a compact representation.


Extensions and Generalizations


Because the problems of computing discrete logarithms and of factoring were assumed to be balanced for an RSA modulus N=pq, the focus was on the case custom character2(custom characterN). But the same methodology extends to higher-dimensional tori. It also generalizes to more general moduli; for example, to RSA moduli made of three prime factors. This allows for different trade-offs between the two computational problems.


Applications


The compression technique herein reduces the parameter size (typically by a factor of two). This in turn reduces the requirements for storage and transmission. It saves a significant amount in cryptographic methods where many group elements are evaluated. The inputs of those methods are at least two elements in custom character2(custom characterN), say m1 and m2, to result in a third element m3= m1custom characterm2 satisfying








m
_

3

=





m
_

1




m
_

2


+
Δ




m
_

1

+


m
_

2








on a torus modulo N parameterized by Δ; the computations being performed on a processor 10 (in FIG. 1) or a crypto-processor. FIG. 1 illustrates how the processor 10 receives input and outputs a result.


A first example is a torus-based implementation of the basic EIGamal encryption scheme (see Taher EIGamal. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Transactions on Information Theory, 31(4):469-472, 1985). Let N=pq denote a RSA modulus. The public key consists of an element gεcustom character2(custom characterN) and of y=grε2custom character2(custom characterN) for some integer x. The corresponding secret key is x. To encrypt a message m viewed as an element in custom character2(custom characterN), the ciphertext (c1,c2) is computed in custom character2(custom characterN), where c1=gr and c2=mcustom characteryr. Then, using secret key x, plain message m can be recovered from (c1,c2) as c2custom character(c1)−r.


A second example is the ACJT group signature scheme. To simplify the presentation, the various security lengths (λ1, λ2, y1, y2) and corresponding ranges (custom character, custom character) are omitted (for details, see “A practical and provably secure coalition-resistant group signature scheme” already mentioned herein).


Slight modifications need to be brought to the scheme. The original ACJT group signature scheme makes use of a strong RSA modulus, that is, N=pq with p=2p′+1 and q=2q′−1 for primes p′, q′. Since Gp,2 (resp. Gq,2) has order p+1 (resp. q+1), a RSA modulus N=pq is chosen with p=4p′−1 and q=4q′−1 for primes p′, q′. Note that doing so −1 is a non-square modulo p and modulo q (i.e., p, q≡3 (mod 4), which yields faster arithmetic. The subgroup of squares in custom character2(custom characterN) is denoted by custom character2. Finally, custom character2 is set custom character2=custom character2custom character2(custom characterN).


Being a group signature scheme, the modified scheme consists of five algorithms. The notation from “A practical and provably secure coalition-resistant group signature scheme” will be used.

  • Setup Select two random primes p′, q′≡1 (mod 4) such that p=4p′−1 and q=4q′−1 are prime. Set the modulus N=pq. Choose random elements a, a0, g, h in custom character2. Choose a random element xεcustom characterprqx, and set y=gxεcustom character2. The group public key is custom character=(N,a,a0,y,g,h). The corresponding secret key (known only to the group manager) is S=(p′, q′, x).
  • Join Each user Ui interactively constructs with the group manager a membership certificate [Ai, ei] satisfying Aieixicustom characterα0 in custom character2 for some prime ei. Parameter xi is the private key of Ui (and is unknown to the group manager).
  • Sign Generate a random value w and compute in custom character2
    T1=Aicustom characteryw,T2=gw,T3=geicustom characterhw


Randomly choose values r1, r2, r3, r4 and compute,

    • 1. in custom character2, d1=T1T1custom character(ar2(custom characteryr3)−1,d2=T2r1custom character(gr3)−1,d3=gr4,d4,d4=gr1custom characterhr4
    • 2. c=custom character(custom character∥T1∥T2∥T3∥d1∥d2∥d3∥d4∥m) where m is the message being signed;
    • 3. in custom character, s1=r1−c(ei−2yq),s2=r2−C(xi−2λ1),s3=r3−ceiw,s4=r4−cw


The signature on message m is σ=(c, s1, s2, s3, s4, T1, T2, T3).

  • Verify Compute in custom character2
    • d′1=a0ccustom characterT1s1−c2y1(custom character(zs2−c2λ1custom characterys3)−1,d′2=T2s1−c2y1custom character(gs3)−1,
    • d′3=T2ccustom charactergs4,d′4=T3c(custom charactergs1−c2y1custom characterhs4


Accept the signature if and only if c′=custom character(custom character∥T1∥T2∥T3∥d′1∥d′2∥d′3∥d′4∥m) is equal to c (and if the signature components belong to appropriate ranges).

  • Open Check the signature's validity. The group manager then recovers Ai=T1custom character(T2x)−1 in custom character2.


The performance of the modified scheme will now be discussed and compared with the original ACJT scheme.


Let lN denote the binary length of modulus N. The system secret key S requires 2lN bits. As shown in “Tori custom character2(custom characterN) and custom character2(custom characterN)”, an element in custom character2\{∞} can be coded with lN bits using an affine parameterization. Hence, the common public key custom character consisting of 6 elements of custom character2 requires 6lN bits. The size of exponent ei in membership certificate [Ai, ei] and of corresponding private key xi are about the size of N2; therefore, a membership certificate requires roughly 3lN bits and the user's private key roughly 2lN bits. Since the size of sj(1≦j≦4) is about the size of N2, a signature σ=(c, s1, s2, s3, s4, T1, T2, T3) requires approximatively 11lN bits. Typically, for a 80-bit security level (i.e., 2048-bit modulus for the ACJT scheme and 1024-bit modulus for its torus-based implementation), which gives









TABLE 1







Performance comparison: Typical lengths.










ACJT scheme
Torus-based scheme















Common public key
12 kb 
6 kb



System secret key
4 kb
2 kb



Membership certificate
6 kb
3 kb



User's private key
4 kb
2 kb



Signature (approx.)
22 kb 
11 kb 










The torus-based signatures are not only shorter, they are also, as will be seen, faster to generate. The cost of additions and hash computations will be neglected. For the sake of comparison, it is assumed that exponentiations are done with the basic square-and-multiply algorithm and that multi-exponentiations are evaluated with the simultaneous binary exponentiation algorithm (see e.g. Algorithm 14.88 of Handbook of Applied Cryptography]). A k-exponentiation with exponent of binary length l then amounts to







(


-
1

)



(

S
+




2
k

-
1


2
k



M


)






on average, where S and M respectively represent the cost of a squaring and of a multiplication in custom character2 . It also requires (2k−2)M for the precomputation. Since T1, T2 involve exponents of size about lN bits and T3, d1, d2, d3, d4 involve exponents of size about 2lN bits, the generation of a signature takes about













N



(

S
+


1
2


M


)


+



N



(

S
+


1
2


M


)


+

2




N



(

S
+


3
4


M


)



+

2








N



(

S
+


7
8


M


)



+

2




N



(

S
+


3
4


M


)



+

2




N



(

S
+


1
2


M


)



+

2








N



(

S
+


3
4


M


)




=


12







N


S

+

8.25



N


M






(
10
)








neglecting the precomputation.


In the scheme of the present application, p, q≡3 (mod 4). It is thus possible to take Δ==−1. In this case, using projective coordinates, the multiplication of two elements m1=(M1:Z1) and m2=(M2:Z2) in custom character2, m3= m1custom characterm2, simplifies to m3=(M3:Z3) with M3=M1M2+Z1Z2 and Z3=M1Z2+M2Z1=(M1+Z1)(M2+Z2)−M3. Let s and m denote the cost of a square and a multiplication in custom characterN . The multiplication of two elements of custom character2 thus requires 3m. Note that for a mixed multiplication (i.e., when one of the two operands has its Z-coordinate equal to 1), the cost reduces to 2m. Squaring m1=(M1:Z1) can be evaluated as m3=(M3:Z3) with Z3=2M1Z1 and M3=(M1+Z1)2−Z3 and requires thus 1s+1m. If the precomputed values in the k-exponentiation are expressed in affine way (this can be done with a single inversion and a few multiplications in custom characterN using the so-called Montgomery's trick), then M=2m and S=1s+1 m. Therefore, neglecting the cost of this inversion in custom characterN and assuming s=0.8m, the cost of a torus-based ACJT group signature is about (12·1.8+8.25·2)lNm=38.1lNm.


Similarly, Eq. (10) gives that the cost of a regular ACJT group signature is about (12·0.8+8.25)lNm=17.85lNm, assuming again s=0.8m. But since the length of lN is half as long in custom character2, the expected speed-up factor amounts to








17.85




N

·


(


N

)

2




38.1



(



N

/
2

)

·


(



N

/
2

)

2





3.75




In practice, the expected speed-up factor is even more spectacular as the above value assumes that the same exponentiation algorithms are being used; however, for the same amount of memory, the torus-based implementation can be sped up using more pre-computed values and higher-order methods. Note also that the above analysis neglects the cost of inversion in custom characterNx (in the evaluation of d1 and d2) for the regular ACJT signatures.


It will thus be appreciated that the present invention can offer a cryptographic method that is more efficient than the prior art solutions.


Each feature disclosed in the description and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.

Claims
  • 1. A cryptographic method for obtaining an intermediate result for use in enciphering, authenticating or signing data, the method operating on a torus over N, wherein N is a product of at least two prime factors and the torus has parameter D in N , the method comprising the steps of: performing, by a processor, at least one multiplication of two elements m1 and m2 over the torus, andoutputting the result of the torus multiplication,the result of the torus multiplication being equal to a division over N, where the dividend is the sum of D with the product of m1 and m2,the divisor is the sum of m1 and m2,where at least one of m1 or m2 is one of the following: a) the data to be enciphered, authenticated or signed,b) a cryptographic key, orc) an intermediate result depending of at least one of a) or b).
  • 2. A processor for performing a cryptographic method for obtaining an intermediate result for use in enciphering, authenticating or signing data, the cryptographic method operating on a torus over N, wherein N is a product of at least two prime factors and the torus has parameter D in N, the processor being configured to: perform at least one multiplication of two elements m1 and m2 over the torus, andoutput the result of the torus multiplication,the result of the torus multiplication being equal to a division over N, where the dividend is the sum of D with the product of m1 and m2,the divisor is the sum of m1 and m2,where at least one of m1 or m2 is one of the following: a) the data to be enciphered, authenticated or signed,b) a cryptographic key, orc) an intermediate result depending of at least one of a) or b).
Priority Claims (1)
Number Date Country Kind
09305553 Jun 2009 EP regional
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/EP2010/058131 6/10/2010 WO 00 12/12/2011
Publishing Document Publishing Date Country Kind
WO2010/145983 12/23/2010 WO A
US Referenced Citations (4)
Number Name Date Kind
20100046741 Isogai et al. Feb 2010 A1
20100046745 Hanatani et al. Feb 2010 A1
20100046746 Yonemura et al. Feb 2010 A1
20100049777 Yonemura et al. Feb 2010 A1
Non-Patent Literature Citations (5)
Entry
K. Rubin et al: “Torus-Based Cryptography”, 23rd Annual Int'l Cryptography Conf. Aug. 17-21, 2003, vol, 2729, pp. 349-365.
I. Dechen: Generalized Jacobians in Cryptography Sep. 1, 2005, pp. 1-203 Part 1 and Part 2.
P. Smith et al: “LUC: a new public key system” IFIP Transactions A. vol. A-37, Jan. 1, 1993, pp. 103-117.
G. Ateniese et al: “A practical and provably secure coalition-resistant group signature scheme” Advanced in Cryptology, vol. 1880, pp. 255-270.
Search report dated Aug. 2, 2010.
Related Publications (1)
Number Date Country
20120087491 A1 Apr 2012 US