Today i want to present a paper from the 2013 Eurocrypt conference. The paper is written by Marc Joye and Benoît Libert with the name Efficient Cryptosystems From 2k-th Power Residue Symbols [1]. It describes a cryptosystem that is a generalization of the Goldwasser-Micali cryptosystems [2] from quadratic residues to 2k-th power residues.
The scheme provides
The scheme provides
- indistinguishable encryption under the k-QR assumption
- a small ciphertext expansion rate
- a fast decryption algorithm
- additive homomorphic operations
- a (more) efficient Lossy Trapdoor Function
Just as the Goldwasser-Micali cryptosystem the Joye-Libert cryptosystems works in the ring ZN for a RSA-modulus N. The factorization of N=pq is chosen to be p≡q≡1(mod2k). Then they make use of the n-th power residue symbol:
Definition. [n-th power residue symbol]. Let p be an odd prime and let n≥2 such that n|(p−1). Then the symbol (ap)n=a(p−1)/n(modp) is called the n-th power residue symbol modulo p. ◂. |
As usual, it is JN={a∈Z∗N|(aN)2=1} Those are all elements from Z∗N which have a positive Jacobi symbol. Then there is a subset of JN QRN={a∈Z∗N|(ap)2=(aq)2=1}, which is the set of all integers that are "real" quadratic residues modulo N.
The Quadratic Residuosity assumption (QR) is then the task to decide, given an integer a∈JN, if a is from QRN or JN/QRN. The QR assumption is believed to be a computational hard task if the factors of N are unknown.
Because the primes in the Joye-Libert cryptosystem have the property p≡q≡1(mod2k), they renamed the QR assumption for their setup the k-QR assumption.
The encryption scheme is than the following:
1. KeyGen(1k): Pick two random primes p and q with p≡q≡1(mod2k) for a message space of [0,2k−1]. Choose y∈JN/QRN. The public key is then pk={N,y,k} and the private key is sk={p}.
2. Encrypt(pk,m): To encrypt a message m∈{0,1}k, pick a random x∈Z∗N and return the ciphertext c≡ymx2k(modN).
3. Decrypt(sk,c): Given the ciphertext c∈Z∗N and the private key p, the algorithm computes z=(cp)2k≡c(p−1)/2k(modp) and then searches (efficiently as shown later) the integer m such that [(yp)2k]m≡z(modp)
It is left to show that A) the decryption process returns a unique (and the correct) m and B) this could be carried out efficiently.
to A) Let α be the integer α≡y(p−1)/2k(modp). From that it follows that α2k≡1(modp), hence the multiplicative order of α, say ordp(α)=t, must divide 2k.
Assume that t=2k′ for k′<k. Hence α2k′≡y(p−1)/2k′≡1(modp).
It follows (α2k′)2k′−1≡(y(p−1)/2k′)2k′−1≡y(p−1)/2≡1(modp)
But y is a quadratic non-residue in Zp (it is from JN/QRN), i.e., it is y(p−1)/2≡−1(modp) which is a contradiction. So α generates a group of size 2k, which allows to uniquely determine m.
to B) The decryption process follows directly from the fact, that if p≡1(mod2k), then the discrete logarithm in the group of quadratic non-residues in Z∗p, leaks k bits. I.e. for an arbitrary prime the Legrende symbol is enough to get information if the exponent is even or odd. And here, these k bits cover the whole message. The decryption process, which is actually the task to compute the
discrete logarithm in a small subgroup, works because of the smoothness
of the subgroup's order (here a power of two). So the decryption process is comparable to the Pohlig-Hellman
algorithm.
To prove its semantic security, they actually have to show that one could not distinguish 2k-th residues from an element from JN/QRN.
To make this visible, assume that one encrypts two messages m1 and m2: c1≡ym1x2k1(modN) and c2≡ym2x2k2(modN). An adversary, that could actually distinguish 2k-th residues from an element from JN/QRN would do c1c2≡ym1−m2(x1x2)2k(modN)
So, if m1=m2, it is c1c2≡(x1x2)2k(modN)
and c1/c2 is a 2k-th residues, in particular it is a quadratic residues, hence ∈QRN. If not, the non cancelling factor of ym1−m2, with y∈JN/QRN moves the whole product to JN/QRN.
For the proof, they define the Gap 2k-Residuosity Assumption.
Definition [Gap 2k-Residuosity Assumption]. Let N=pq be the product of two large primes p and q with p,q≡1(mod2k). The Gap 2k-Residuosity problem in Z∗N is to distinguish the distribution of the following two sets given only N=pq: V0={x∈JN/QRN}andV1={y2k(modN)|y∈Z∗N} The Gap 2^k-Residuosity assumption posits that the advantage AdvGap−2k−ResD(1κ) of any PPT distinguisher Dt, defines as the distance |Pr[D(x,k,N)=1|xR←V0]−Pr[D(x,k,N)=1|xR←V1]| where probabilities are taken over all coin tosses, is negligible.◂. |
Finally, they prove that the k-QR implies the Gap 2k Residuosity assumption and hence their scheme earns the property of being semantic secure.
Lossy Trapdoor function. The concept of a Lossy Trapdoor function (LTDF) is a relatively new concept and was introduced 2008 by Peikert and Waters [3]. The meaning of a LTDF is simply, that the function f is not injective, i.e., it looses information, since a value f(x) has many inverse elements f−1(x). LTDFs allow to proof some security properties more easily, by showing that an adversary can not distinguish a injective trapdoor function from a lossy one. Joye and Libert construct a LTDF from the cryptosystem as follows: It is p=2kp′+1 and q=2kq′+1 with p,q,p′,q′ primes. And hi=g2ki for some random gi from Z∗N and random numbers ri from the intervall [0,p′q′−1]. Then they build:
InjGen:[yhr11hr12...hr1mhr21yhr12...hr1m............hrm1hrm2...yhrmm]N
LossyGen:[hr11hr12...hr1mhr22hr12...hr1m............hrm2hrm2...hrmm]N
The evaluation of an input vector x={0,1}m={0,1}km is then, after spitting the vector x in m blocks xi of length k, the product of each row raised to the power of xi:
Eval.InjGen:[yx1hx1r11hx1r12...hx1r1mhx2r21yx2hx2r12...hx2r1m............hxmrm1hxmrm2...yxmhxmrmm]N
and then building the product over each column yI=(yx1h∑mi=1xiri1,yx2h∑mi=1xiri2,...,yxmh∑mi=1xirim)
And equally the same for the lossy version
Eval.LossyGen:[hx1r11hx1r12...hx1r1mhx2r21hx2r12...hx2r1m............hxmrm1hxmrm2...hxmrmm]N
and then building the product over each column yL=(h∑mi=1xiri1,h∑mi=1xiri2,...,h∑mi=1xirim)
Clearly, one could invert yI by executing the normal decryption process (note that the hi's are 2k-th residues) to get x. But one could not decrypt yL, since there actually is nothing to decrypt. And since those elements of yL are all elements from the subgroup of order p′q′, the size of the output domain is decreased, which is equal to the loss of information.
Known least significant bits. The circumstances that allows decryption is, besides the knowledge of the factorization of N, also the special form of its factors p=2kp′+1,q=2kq′+1 Hence, a factor of p−1 and q−1 is known, in particular k least significant bits, which could probably lead to a weakening of the system's security. But the authors describe in what range k has to be, such that no known attack can succeed. I.e. k<14log2N−κ whereof κ is the security parameter.
At least i feel always a little bit uncomfortable, if some properties of factors of N are revealed. Normally, one could say: Ok, i revealed k-bit of the factors, but thats not enough to get anything senstive from it, since logn(N)−k bit are missing.
But here, already k bits are enough to get the entire message, thats is what should be kept in mind.
Nevertheless, a nice work.
[1] Marc Joye, Benoît Libert: Efficient Cryptosystems from 2k-th Power Residue Symbols. EUROCRYPT 2013: 76-92
[2] Shafi Goldwasser, Silvio Micali: Probabilistic Encryption. J. Comput. Syst. Sci. 28(2): 270-299 (1984)
[3] Chris Peikert, Brent Waters: Lossy trapdoor functions and their applications. STOC 2008: 187-196
No comments:
Post a Comment