AGGREGATOR-OBLIVIOUS ENCRYPTION OF TIME-SERIES DATA

Information

  • Patent Application
  • 20150270966
  • Publication Number
    20150270966
  • Date Filed
    October 11, 2013
    10 years ago
  • Date Published
    September 24, 2015
    8 years ago
Abstract
A processor of a device of user i in an aggregator-oblivious encryption system with n users encrypts a message {right arrow over (xl,t)}=(xi,t,1, . . . , xi,t,r) where t denotes a time period by generating an encrypted value ci,t for the time period t, by calculating ci,t=g1xi,t,1 . . . grxi,t,r·H(t)si, wherein H(t) is a hash function that hashes the time t on to an element of a first group 1 with order q1 in which discrete logarithms are calculable only in non-polynomial time for a security parameter κ, wherein g1, . . . , gr the base of a second group 2=g1, . . . , gr with order q2 in which discrete logarithms are calculable in polynomial time, the first group 1 and the second group 2 both being different subgroups of a third group , and wherein si is a key for user i provided by a dealer so that an aggregator key s0=−Σi=1n si and outputs the encrypted value ci,t to an aggregator. The aggregator obtains the sum Xt for time period t by first computing Vt:=H(t)s0 Πi=1n ci,t=Πi=1n Πj=1r gjxi,t,j, and then {right arrow over (Xt)}=(Xt,1, . . . , Xt,r), with Xt,j=Σi=1n xi,t,j for each j ε{1, . . . , r}, as the unique representation of Vtε2 with regard to basis g1, . . . , gr.
Description
TECHNICAL FIELD

The present invention relates generally to public-key cryptography, and in particular to privacy-preserving aggregation of encrypted data.


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.


Computing the sum of data input by various users is, in itself, a trivial problem. However, the problem becomes much more complicated if the data is sensitive (e.g. private) and the sum is to be calculated by an untrusted party, hereinafter called aggregator. In this case, there is a need for a so-called aggregator-oblivious (AO) encryption scheme that allows the users to encrypt their data and the aggregator to calculate the sum without being able to obtain knowledge about the individual data from a user.


Such privacy-preserving aggregation has many potential applications: electronic voting, electronic auctions, recommendation systems allowing users to privately disclose their preferences and so forth. As the number of users may be great, it is a distinct advantage if the aggregation remains practical computation-wise.


Further introductory information may be found in Elaine Shi, T.-H. Hubert Chan, Eleanor G. Rieffel, Richard Chow, and Dawn Song. Privacy-preserving aggregation of time-series data. In Proceedings of the Network and Distributed System Security Symposium (NDSS 2011). The Internet Society, 2011. Available at URL http://www.isoc.org/isoc/conferences/ndss11/pdf/93.pdf.


DEFINITION

An aggregator-oblivious encryption scheme is a tuple of algorithms, (Setup, Enc, AggrDec), defined as:

    • Setup(1κ)—On input security parameter κ, a trusted dealer generates system parameters param, the aggregator's private key sk0, and a private encryption key ski for each user (1≦i≦n);
    • Enc(param, ski, xi,t) During time t, user i encrypts a value xi,t using its private encryption key ski to obtain an encrypted value ci,t=Enc(param, ski, xi,t).
    • AggrDec(param, sk0; c1,t, . . . , cn,t)—During time period t, the aggregator using sk0 obtains Xti=1n xi,t as Xt=AggrDec(param, sk0; c1,t, . . . , cn,t).


Security

The security notion of aggregator-oblivious (AO) requires that the aggregator cannot learn, for each time period, anything more than the aggregated value Xt from the encrypted values of n (honest) users. If there are corrupted users (i.e., users sharing their private information), the notion only requires that the aggregator gets no extra information about the values of the honest users beyond their aggregated value. Furthermore, it is assumed that each user encrypts only one value per time period.


More formally, AO is defined by the following game between a challenger and an attacker. The challenger runs the Setup algorithm and gives param to the attacker.


In a first phase, the attacker can submit queries that are answered by the challenger. The attacker can make two types of queries:


1. Encryption queries: The attacker submits (i, t, xi,t) for a fresh pair (i, t)—i.e. queries like (i, t, xi,t) and (i, t, x′i,t) are not permitted unless xi,t is equivalent to x′i,t and gets back the encryption of xi,t under key ski for time period t; and


2. Compromise queries: The attacker submits i and receives the private key ski of user i; if i=0, the attacker receives the private key of the aggregator.


In a second phase, the attacker chooses a time period t*. Let U*{1, . . . , n} be the whole set of users for which, at the end of the game, no encryption queries have been made on time period t* and no compromised queries have been made. The attacker chooses a subset S*U* and two different series of triples custom-character(i, t*, x(0)i,t*)custom-characteriεS* and custom-character(i, t*, x(1)i,t*)custom-characteriεS* that are given to the challenger. Further, if the aggregator capability sk0 is compromised at the end of the game and S*=U*, it is required that ΣiεU*xi,t*(0)iεU*xi,t*(1). The challenger chooses at random a bit bε{0, 1} and returns the encryption of custom-characterx(b)i,t*custom-characteriεS* to the attacker. At the end of the game, the attacker outputs a bit b′ and wins the game if and only if b′=b. An encryption scheme meets the AO security notion if no probabilistic polynomial-time attacker can guess correctly the bit b with a probability non-negligibly better than 1/2.


In the paper already mentioned, Shi et al. also consider the following encryption scheme and show that the scheme meets the AO security notion under the Decisional Diffie-Hellman (DDH) assumption [see Dan Boneh. The decision Diffie-Hellman problem. In J. Buhler, editor, Algorithmic Number Theory (ANTSIII), volume 1423 of Lecture Notes in Computer Science, pages 48-63. Springer-Verlag, 1998.] in the random oracle model:

    • Setup(1κ)—Let a group custom-character of prime order q for which the DDH assumption holds, and let a random generator gεcustom-character. Let also a hash function H:custom-charactercustom-character viewed as a random oracle. Finally, let n random elements in custom-character/qcustom-character, s1, . . . , sn, and define s0=−Σi=1n si mod q. param={custom-character, g, H}; ski=si (for 0≦i≦n).
    • Enc(param, ski, xi,t)—At time period t, for a private input xi,tεcustom-character/qcustom-character, user i produces ci,t=gxi,tH(t)si.
    • AggrDec(param, sk0, c1,t, . . . , cn,t)—The aggregator obtains the sum Xt for time period t by first computing Vt=H(t)s0 Πi=1n ci,t=gXt and next the discrete logarithm of Vt w.r.t. basis g.


It will be appreciated that since g has order q, the so-obtained value for Xt is defined modulo q.


Shi et al.'s scheme involves the computation of a discrete logarithm in a prime-order group for which the DDH assumption holds. Namely, using the previous notation, the aggregator has to compute the value of Xt from Vt=gXt in custom-character. For known groups satisfying Shi et al.'s setting, only generic methods are available. There is therefore a need to have settings where the computation of discrete logarithms can be done efficiently while, at the same time, the AO security notion is met.


In addition, in Shi et al.'s scheme there is a restriction on the message space or on the number of users. It will be appreciated that this can be a disadvantage.


The present invention provides a solution that improves upon the prior art in that it overcomes at least some of its disadvantages.


SUMMARY OF INVENTION

In a first aspect, the invention is directed to a method of encrypting a value {right arrow over (xl,t)}=xi,t,1, . . . , xi,t,r) for a user i in an aggregator-oblivious encryption system with n users, wherein t denotes a time period. A processor of a device generates an encrypted value ci,t for the time period t, by using the value {right arrow over (xl,t)} as an exponent to a base of a second group custom-character2=custom-characterg1, . . . , grcustom-character with order q2 in which discrete logarithms are calculable in polynomial time and using a key si for user i as an exponent to a base in a first group custom-character1 with order q1 in which discrete logarithms are calculable only in non-polynomial time for a security parameter κ, the first group custom-character1 and the second group custom-character2 both being different subgroups of a third group custom-character, and wherein the key si is provided by a dealer and has been generated so that an aggregator key s0=−Σi=1n si; and outputs the encrypted value ci,t.


In a first preferred embodiment, the encrypted value ci,t for the time period t is generated by calculating ci,t=g1Xi,t,1 . . . grxi,t,r·H(t)si, wherein H(t) is a hash function that hashes the time t on to an element of the first group custom-character1.


In a second preferred embodiment, the encrypted value ci,t is output to an aggregator.


In a third preferred embodiment, the key siε[−L2, . . . , L2] with #custom-character1<L.


In a fourth preferred embodiment, the first group custom-character1 is equal to the third group custom-character.


In a second aspect, the invention is directed to a device for encrypting a value {right arrow over (xl,t)}=(xi,t,1, . . . , xi,t,r) for a user i in an aggregator-oblivious encryption system with n users, wherein t denotes a time period. The device comprises memory configured to store a key si for user i provided by a dealer and generated so that an aggregator key s0=−Σi=1n si; a processor configured to generate an encrypted value ci,t for the time period t, by using the value {right arrow over (xl,t)} as an exponent to a base of a second group custom-character2=custom-characterg1, . . . , grcustom-character with order q2 in which discrete logarithms are calculable in polynomial time and using the key si as an exponent to a base in a first group custom-character1 with order q1 in which discrete logarithms are calculable only in non-polynomial time for a security parameter κ, the first group custom-character1 and the second group custom-character2 both being different subgroups of a third group custom-character; and an interface configured to output the encrypted value ci,t.


In a first preferred embodiment, the processor is configured to generate the encrypted value ci,t for the time period t by calculating ci,t=g1xi,t,1 . . . grxi,t,r·H(t)si, wherein H(t) is a hash function that hashes the time t on to an element of the first group custom-character1.


In a second preferred embodiment, the interface is configured to output the encrypted value ci,t to an aggregator.


In a third preferred embodiment, the key siε[−L2, . . . , L2] with #custom-character1<L.


In a fourth preferred embodiment, the first group custom-character1 is equal to the third group custom-character.


In a third aspect, the invention is directed to a non-transitory computer program product having stored thereon instructions that, when executed by a processor, perform the method of any embodiment of the first aspect.





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 an aggregator-oblivious encryption system according to a preferred embodiment of the invention; and



FIG. 2 illustrates a method for aggregator-oblivious aggregation of user data according to a preferred embodiment of the invention.





DESCRIPTION OF EMBODIMENTS

The present invention is directed to an aggregator-oblivious encryption scheme. A main inventive idea is to consider groups of unknown [composite] order for which there is a subgroup wherein some complexity hardness assumption (e.g., the DDH assumption) holds and another subgroup wherein discrete logarithms are easily computable. The order of the underlying group is only known to a trusted dealer. As the aggregator does not know the group order it cannot recover the user's private key.



FIG. 1 illustrates an aggregator-oblivious encryption system 100 according to a preferred embodiment of the invention. For ease of illustration and comprehension, the connections between the devices in the system have been omitted.


The system 100 comprises a plurality of users 110—User 1, . . . , User n—and an aggregator 120, each comprising at least one interface unit 111, 121 configured for communication, at least one processor (“processor”) 112, 122 and at least one memory 113, 123 configured for storing data, such as accumulators and intermediary calculation results.


As will be further described hereinafter, the processor 112 of a user 110 is configured to encrypt a user input to obtain an encrypted value ci,t that is sent, via the interface unit 111 to the aggregator 120, and the interface unit 121 of the aggregator 120 is configured to receive the encrypted values and aggregate them. A first computer program product (non-transitory storage medium) 114 such as a CD-ROM or a DVD comprises stored instructions that, when executed by the processor 112 of a user 110, encrypts a user input according to the invention. A second computer program product (non-transitory storage medium) 124 comprises stored instructions that, when executed by the processor 122 of the aggregator 120, aggregates the received encrypted values according to the invention.


General Form

In its most general form, the invention may be described as follows. Let custom-character be a group of composite order for which there is a first subgroup custom-character1custom-character of unknown (except to a trusted dealer) order q1 in which some complexity hardness assumption (e.g., the DDH assumption) holds for some security parameter κ and a second, different subgroup custom-character2custom-character of order q2 wherein discrete logarithms are “easy” to compute. Put another way, in custom-character1 discrete logarithms are computable (i.e. calculable) in non-polynomial time (only), whereas they are computable in polynomial time in custom-character2; as is well known, Cobham's thesis states that polynomial time is a synonym for “easy”, “efficient” and “fast”.


If r denotes the rank of group custom-character2, which can thus be written as a product custom-characterg1custom-character× . . . ×custom-charactergrcustom-character, it is further assumed that it must be “easy” to compute the representation of arbitrary custom-character2 elements with respect to the base custom-characterg1, . . . , grcustom-character.


As previously mentioned, the order of custom-character1, q1, is known only to a trusted dealer, while it is unknown to any other party, including the aggregator. These parties are only able to derive an upper bound on q1.


The message space is denoted by custom-character(custom-character/q2,1custom-character)× . . . ×(custom-character/q2,rcustom-character), where r is the rank of custom-character2 and, for each jε{1, . . . , r}, q2,j denotes the order of the subgroup custom-charactergjcustom-character in custom-character2.

    • Setup(1κ)—On input security parameter κ, the trusted dealer defines two subgroups custom-character1 and custom-character2=custom-characterg1, . . . , grcustom-character as described. The trusted dealer also defines a hash function H:custom-charactercustom-character1 viewed as a random oracle. Let L be such that #custom-character1<L (where #custom-character1 denotes the cardinality of custom-character1; in case custom-character1 is a group, it is also called the order of the group). The trusted dealer chooses uniformly, i.e. statistically indisguinshable from the uniform distribution, at random n integers s1, . . . , snε[−L2, . . . , L2] and sets s0=−Σi=1n si. param={custom-character1, custom-character2, custom-characterg1, . . . , grcustom-character, H}; ski=si (for 0≦i≦n).
    • Enc(param, ski, xi,t)—During time period t, for a private input {right arrow over (xl,t)}=(xi,t,1, . . . , xi,t,rcustom-character, user i produces encrypted value ci,t=g1xi,t,1 . . . grxi,t,r·H(t)si.
    • AggrDec(param, sk0, c1,t, . . . , cn,t)—The aggregator obtains the sum Xt for time period t by first computing Vt:=H(t)s0 Πi=1n ci,ti=1n Πj=1r gjxi,t,j, and then {right arrow over (Xt)}=(Xt,1, . . . , Xt,r), with Xt,ji=1n xi,t,j for each jε{1, . . . , r}, as the unique representation of Vtεcustom-character2 with regard to basis custom-characterg1, . . . , grcustom-character.


Preferred Embodiment

If p is a prime, then the Legendre symbol of an integer α co-prime to p, written







(

a
p

)

,




is defined as







(

a
p

)

=

+
1





if α is a square modulo p and as







(

a
p

)

=

-
1





otherwise. The Jacobi symbol is a generalization of the Legendre symbol. Let N=Πj=1k pjαj denote the prime factorization of an integer N. If α is an integer co-prime to N then the Jacobi symbol of α is defined as







(

a
N

)

=




Π

j
=
1

k



(

a

p
j


)



α
j


.





The set of elements modulus N whose Jacobi symbol is +1 forms a multiplicative group which is denoted custom-characterN. In this instantiation, custom-character2 is cyclic, i.e. r=1. It will be appreciated that the factorization of N is not required to compute the Jacobi symbol.

    • Setup(1κ)—On input security parameter κ, the trusted dealer randomly generates two safe, balanced primes p and q, where p=2p′+1 and q=2q′+1 with both p′ and q′ prime. Let N=pq and =(custom-character/N2custom-character)x. Let also custom-character1 be the subgroup of order 2p′q′N in (custom-character/N2custom-character)x with Jacobi symbol +1 modulo N,









1

=

{



a



(



/

N
2





)

×


|

(

a
N

)


=

+
1


}


,






    •  and custom-character2 be the subgroup of order N in (custom-character/N2custom-character)x. It will be appreciated that any element αεcustom-character1 can be uniquely written as α=a1+Nα2 with α1εcustom-characterN and α2εcustom-character/Ncustom-character. Group custom-character2 is cyclic and is generated by (1+N). It also defines a hash function H:custom-charactercustom-character1:tcustom-characterH(t)=ƒ1(t)+N·ƒ2(t), where ƒ1:custom-charactercustom-characterN and ƒ2:custom-charactercustom-character/Ncustom-character are both hash functions viewed as random oracles. Letting l the bit-length of p′q′, from n randomly chosen elements in ±{0,1}2l, s1, . . . , sn, it finally sets s0=−Σi=1n si. (Here L=2l.) param≦{N, ƒ1, ƒ2}; ski=si (for 0≦i≦n).

    • Enc(param, ski, xi,t)—During time period t, for a private input xi,tεcustom-character/Ncustom-character, user i produces encrypted value ci,t=(1+N)xi,tH(t)si (mod N2), step 210.

    • AggrDec(param, sk0, c1,t, . . . , cn,t)—The aggregator obtains the sum Xt for time period t by first computing Vt:=H(t)s0 Πi=1n ci,ti=1n(1+Nxi,t), step 220, and then, step 230, Xt (that is then preferably output) as










X
t

=



V
t

-

1





mod






N
2



N





The correctness follows by observing that H(t)s0 Πi=1n ci,t≡Πi=1n(1+N)xi,tH(t)si≡Πi=1n(1+Nxi,t)≡1+N(Σi=1n xi,t mod N) (mod N2). Observe that the value of Xt is defined modulo N. Hence, if Σi=1n xi,t<N, we have







X
t

=




V
t

-

1





mod






N
2



N

=




i
=
1

n



x

i
,
t








over the integers.


A main difference when compared to the scheme of Shi et al. is that in the present scheme there is no discrete logarithm to compute in a group in which a complexity hardness assumption holds. On the contrary, the recovery of Xt from the accumulated product Vt is now easy. As a result, there is no longer any practical restriction on the size of xi,t or on the total number n of users, as long as Σi=1n xi,t<N.


It will be appreciated that, given a hash function ƒ0:custom-character→(custom-character/Ncustom-character)x, it is easy to construct a hash function ƒ1:custom-charactercustom-characterN by iterating ƒ0 until a value with Jacobi symbol +1 is obtained.


It will thus be appreciated that the present invention provides a aggregator-oblivious encryption scheme that overcomes at least some of the disadvantages of the scheme provided by Shi et al.


Each feature disclosed in the description and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Features described as being implemented in hardware may also be implemented in software, and vice versa. 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 method of encrypting a value {right arrow over (xl,t)}=(xi,t,1, . . . , xi,t,r) for a user i in an aggregator-oblivious encryption system with n users, wherein t denotes a time period, the method comprising at a processor of a device: generating an encrypted value ci,t for the time period t by using the value {right arrow over (xl,t)} as an exponent to a base of a second group 2=g1, . . . , gr with order q2 in which discrete logarithms are calculable in polynomial time and using a key si for user i as an exponent to a base in a first group 1 with order q1 in which discrete logarithms are calculable only in non-polynomial time for a security parameter κ, and wherein the key si is provided by a dealer and has been generated so that an aggregator key s0=−Σi=1n si; andoutputting the encrypted value ci,t;
  • 2. The method of claim 1, wherein the encrypted value ci,t for the time period t is generated by calculating ci,t=g1xi,t,1 . . . grxi,t,r·H(t)si, wherein H(t) is a hash function that hashes the time t on to an element of the first group 1.
  • 3. The method of claim 1, wherein the encrypted value ci,t is output to an aggregator.
  • 4. The method of claim 1, wherein the key siε[−L2, . . . , L2] with #1<L.
  • 5. The method of claim 1, wherein the first group 1 is equal to the third group .
  • 6. A device for encrypting a value {right arrow over (xl,t)}=(xi,t,1, . . . , xi,t,r) for a user i in an aggregator-oblivious encryption system with n users, wherein t denotes a time period, the device comprising: memory configured to store a key si for user i provided by a dealer and generated so that an aggregator key s0=−Σi=1n si;a processor configured to generate an encrypted value ci,t for the time period t, by using the value {right arrow over (xl,t)} as an exponent to a base of a second group 2=g1, . . . , gr with order q2 in which discrete logarithms are calculable in polynomial time and using the key si as an exponent to a base in a first group 1 with order q1 in which discrete logarithms are calculable only in non-polynomial time for a security parameter κ, wherein the first group 1 and the second group 2 both are different subgroups of a third group ; andan interface configured to output the encrypted value ci,t.
  • 7. The device of claim 6, wherein the processor is configured to generate the encrypted value ci,t for the time period t by calculating ci,t=g1xi,t,1 . . . grxi,t,r·H(t)si, wherein H(t) is a hash function that hashes the time t on to an element of the first group 1.
  • 8. The device of claim 6, wherein the interface is configured to output the encrypted value ci,t to an aggregator.
  • 9. The device of claim 6, wherein the key siε[−L2, . . . , L2] with #1<L.
  • 10. The device of claim 6, wherein the first group 1 is equal to the third group .
  • 11. A non-transitory computer program product having stored thereon instructions that, when executed by a processor, perform the method of claim 1.
Priority Claims (1)
Number Date Country Kind
12306250.7 Oct 2012 EP regional
PCT Information
Filing Document Filing Date Country Kind
PCT/EP2013/071358 10/11/2013 WO 00