A METHOD AND A DEVICE FOR PERFORMING TORUS-BASED CRYPTOGRAPHY

Information

  • Patent Application
  • 20120087491
  • Publication Number
    20120087491
  • Date Filed
    June 10, 2010
    15 years ago
  • Date Published
    April 12, 2012
    13 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
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-character

p

:x
2
−Δy
2=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−Δ)






m
1
2= m22





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






m
1= 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-character
2(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-character
p

2
custom-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 2(N) and 2(N)

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-character
2(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-character
2(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, β, χ) where β=par(y) and χ=chr(y), that is, with one element of custom-characterN and two bits. Unfortunately, decompressing (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






T
1
=A
i
custom-character
y
w
,T
2
=g
w
,T
3=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 2

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, at a processor, of: performing 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.1 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