Paper 2012/452

EPiC: Efficient Privacy-Preserving Counting for MapReduce

Erik-Oliver Blass, Guevara Noubir, and Triet D. Vo-Huu


In the face of an untrusted cloud infrastructure, outsourced data needs to be protected. We present EPiC, a practical protocol for the privacy-preserving evaluation of a fundamental operation on data sets: frequency counting. In an encrypted outsourced data set, a cloud user can specify a pattern, and the cloud will count the number of occurrences of this pattern in an oblivious manner. A pattern is expressed as a Boolean formula on the fields of data records and can specify values counting, value comparison, range counting, and conjunctions/disjunctions of field values. We show how a general pattern, defined by a Boolean formula, is arithmetized into a multivariate polynomial and used in EPiC. To increase the performance of the system, we introduce a new somewhat homomorphic encryption scheme based on a previous work on the Hidden Modular Group assumption. This scheme is highly efficient in our particular counting scenario. Besides a formal analysis where we prove EPiC's privacy, we also present implementation and evaluation results. We specifically target Google's prominent MapReduce paradigm as offered by major cloud providers. Our evaluation performed both locally and in Amazon's public cloud with data set sizes of up to 1 TByte shows only a modest overhead of 20% compared to non-private counting, attesting to EPiC's efficiency.

Note: Revise security proofs

Available format(s)
Publication info
Published elsewhere. Unknown status
privacy-preservingcountingMapReducesomewhat homomorphic encryption
Contact author(s)
vohuudtr @ ccs neu edu
2014-01-20: last of 4 revisions
2012-08-13: received
See all versions
Short URL
Creative Commons Attribution


      author = {Erik-Oliver Blass and Guevara Noubir and Triet D.  Vo-Huu},
      title = {EPiC: Efficient Privacy-Preserving Counting for MapReduce},
      howpublished = {Cryptology ePrint Archive, Paper 2012/452},
      year = {2012},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.