Secure pattern matching using somewhat homomorphic encryption

  • Authors:
  • Masaya Yasuda;Takeshi Shimoyama;Jun Kogure;Kazuhiro Yokoyama;Takeshi Koshiba

  • Affiliations:
  • FUJITSU LABORATORIES LTD., Kawasaki, Japan;FUJITSU LABORATORIES LTD., Kawasaki, Japan;FUJITSU LABORATORIES LTD., Kawasaki, Japan;Rikkyo University, Nishi-Ikebukuro, Tokyo, Japan;Saitama University, Saitama, Japan

  • Venue:
  • Proceedings of the 2013 ACM workshop on Cloud computing security workshop
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The basic pattern matching problem is to find the locations where a pattern occurs in a text. Recently, secure pattern matching has been received much attention in various areas, including privacy-preserving DNA matching and secure biometric authentication. The aim of this paper is to give a practical solution for this problem using homomorphic encryption, which is public key encryption supporting some operations on encrypted data. In this paper, we make use of the somewhat homomorphic encryption scheme presented by Lauter, Naehrig and Vaikuntanathan (ACM CCSW 2011), which supports a limited number of both additions and multiplications on encrypted data. In their work, some message encoding techniques are also presented for enabling us to efficiently compute sums and products over the integers. Based on their techniques, we propose a new packing method suitable for an efficient computation of multiple Hamming distance values on encrypted data. Our main extension gives two types of packed ciphertexts, and a linear computation over packed ciphertexts gives our desired results. We implemented the scheme with our packing method. Our experiments ran in an Intel Xeon at 3.07 GHz with our software library using inline assembly language in C programs. Our optimized implementation shows that the packed encryption of a text or a pattern, the computation of multiple Hamming distance values over packed ciphertexts, and the decryption respectively take about 3.65 milliseconds (ms), 5.31 ms, and 3.47 ms for secure exact and approximate pattern matching of a binary text of length 2048. The total time is about 12.43 ms, which would give the practical performance in real life. Our method gives both faster performance and lower communication than the state-of-the-art work for a binary text of several thousand bits in length.