Soft Computing

, Volume 22, Issue 4, pp 1175–1187 | Cite as

Efficient and secure outsourced approximate pattern matching protocol

  • Xiaochao Wei
  • Minghao Zhao
  • Qiuliang Xu


Pattern matching is a basic algorithmic problem that identifies the appearance as well as the location of a pattern in a specific text, and one of the most important variants of that, approximate pattern matching, can be used to discern a substring in the text that is similar to the pattern, as long as their differences stay within a certain threshold. It serves as a basic component in many real-world applications, such as facial recognition, DNA matching and music retrieval. Motivated by the newly emerging secure outsourced computing, in this paper we proposed protocols to realize these functionalities in a privacy-preserving manner. Specifically, we constructed exact and approximate matching protocols, and both of them ensure that the party holds the text (with length of n) learns noting about the pattern (with length of m). We composed a novel idea to combine secret sharing scheme with oblivious transfer (OT), such as to transform the secure pattern matching problem into reconstructing of a shared secret, which means that if a shared secret can be correctly reconstructed, it indicates the pattern indeed exists in the text. Our protocol for approximate pattern matching is generated in the cloud-assisted setting, where the reconstruction phase is outsourced to an honest-but-curious cloud server. Using oblivious transfer extension technique, a powerful method to use few integrated OTs to implement large-scale single OTs, our protocol is efficiently constructed. Both of the protocols are secure in semi-honest model, and we present a detailed secure simulation-based proof in this paper.


Approximate pattern matching Secure outsourced computing Secret sharing scheme Oblivious transfer extension 



This work was supported by the National Natural Science Foundation of China under Grant Nos. 61173139 and 61572294.

Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.


  1. Al-Khalifa S, Jagadish HV, Koudas N et al (2002) Structural joins: a primitive for efficient XML query pattern matching. In: Proceedings of IEEE 18th international conference on data engineering, 2002, pp 141–152Google Scholar
  2. Asharov G, Jain A, Lpez-Alt A, et al (2012) Multiparty computation with low communication, computation and interaction via threshold FHE. In: Proceedings of the 31st annual international conference on theory and applications of cryptographic techniques (EUROCRYPT 2012). Springer, pp 483–501Google Scholar
  3. Asharov G, Lindell Y, Schneider T et al (2013) More efficient oblivious transfer and extensions for faster secure computation. In: Proceedings of the 2013 ACM SIGSAC conference on computer and communications security. ACM, pp 535–548Google Scholar
  4. Baron J, El Defrawy K, Minkovich K et al (2012) 5pm: secure pattern matching. In: International conference on security and cryptography for networks. Springer, Berlin, pp 222–240Google Scholar
  5. Bezawada B, Liu AX, Jayaraman B et al (2015) Privacy preserving string matching for cloud computing. In: IEEE 35th international conference on distributed computing systems (ICDCS), 2015, pp 609–618Google Scholar
  6. Blakley GR (1979) Safeguarding cryptographic keys. In: Proceedings of the 1979 AFIPS national computer conference, vol 48, pp 313–317Google Scholar
  7. Carter H, Mood B, Traynor P et al (2013) Secure outsourced garbled circuit evaluation for mobile devices. In: Proceedings of the 22nd USENIX security symposium (USENIX security 13), 2013, pp 289–304Google Scholar
  8. Chase M, Shen E (2015) Substring-searchable symmetric encryption. Proc Priv Enhanc Technol 2:263–281Google Scholar
  9. Chung KM, Kalai Y, Vadhan S (2010) Improved delegation of computation using fully homomorphic encryption. In: Advances in cryptolog, CCRYPTO, 2010, pp 483–501Google Scholar
  10. Dharmapurikar S, Lockwood JW (2006) Fast and scalable pattern matching for network intrusion detection systems. IEEE J Sel Areas Commun 24(10):1781–1792CrossRefGoogle Scholar
  11. Even S, Goldreich O, Lempel A (1985) A randomized protocol for signing contracts. Commun ACM 28(6):637–647MathSciNetCrossRefzbMATHGoogle Scholar
  12. Faber S, Jarecki S, Krawczyk H et al (2015) Rich queries on encrypted data: beyond exact matches. In: European symposium on research in computer security. Springer, pp 123–145Google Scholar
  13. Faust S, Hazay C, Venturi D (2013) Outsourced pattern matching. In: International colloquium on automata, languages, and programming. Springer, Berlin, pp 545–556Google Scholar
  14. Freedman MJ, Ishai Y, Pinkas B, Reingold O (2005) Keyword search and oblivious pseudorandom functions. In: Theory of cryptography conference. Springer, Berlin, pp 303–324Google Scholar
  15. Gennaro R, Hazay C, Sorensen JS (2010) Text search protocols with simulation based security. In: International workshop on public key cryptography. Springer, pp 332–350Google Scholar
  16. Gentry C (2009) Fully homomorphic encryption using ideal lattices. In: Proceedings of the 41st annual ACM symposium on symposium on theory of computing (STOC09). ACM Press, pp 169–169Google Scholar
  17. Goldreich O (2004) Foundations of cryptography: vol 2 C basic applications. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  18. Goldreich O, Micali S, Wigderson A (1987) How to play any mental game—a completeness theorem for protocols with honest majority. In: The 19th STOC, pp 218–229Google Scholar
  19. Gennaro R, Gentry C, Parno B (2010) Non-interactive verifiable computing: outsourcing computation to untrusted workers. In: Advances in cryptology, CCRYPTO, 2010, pp 465–482Google Scholar
  20. Gordon SD, Katz J, Liu FH et al (2015) Multi-client verifiable computation with stronger security guarantees. In: Proceedings of the 12th theory of cryptography conference on theory of cryptography (TCC12). Springer, Berlin, pp 144–168Google Scholar
  21. Hazay C, Lindell Y (2010) Efficient secure two-party protocols: techniques and constructions. Springer, BerlinCrossRefzbMATHGoogle Scholar
  22. Hazay C, Lindell Y (2010) Efficient protocols for set intersection and pattern matching with security against malicious and covert adversaries. J Cryptol 23(3):422–456MathSciNetCrossRefzbMATHGoogle Scholar
  23. Hazay C, Toft T (2010) Computationally secure pattern matching in the presence of malicious adversaries. In: International conference on the theory and application of cryptology and information security (ASIACRYPT 10). Springer, Berlin, pp 195–212Google Scholar
  24. Hazay C, Toft T (2014) Computationally secure pattern matching in the presence of malicious adversaries. J Cryptol 27(2):358–395MathSciNetCrossRefzbMATHGoogle Scholar
  25. Iafrate AJ, Feuk L, Rivera MN et al (2004) Detection of large-scale variation in the human genome. Nat Genet 36(9):949–951CrossRefGoogle Scholar
  26. Ishai Y, Kilian J, Nissim K et al (2003) Extending oblivious transfers efficiently. In: Annual international cryptology conference. Springer, Berlin, pp 145–161Google Scholar
  27. Jia N, Jia X, Wang D et al (2016) Structured queries with generalized pattern matching on encrypted cloud data. In: 2016 IEEE international conference on communications (ICC). IEEE, pp 1–7Google Scholar
  28. Karp RM, Rabin MO (1987) Efficient randomized pattern-matching algorithms. IBM J Res Dev 31(2):249–260MathSciNetCrossRefzbMATHGoogle Scholar
  29. Knuth DE, Morris JH Jr, Pratt VR (1977) Fast pattern matching in strings. SIAM J Comput 6(2):323–350MathSciNetCrossRefzbMATHGoogle Scholar
  30. Kamara S, Mohassel P, Raykova M (2011) Outsourcing multi-party computation. Cryptology ePrint Archive, Report 2011/272, 2011.
  31. Kamara S, Mohassel P, Riva B (2012) Salus: a system for server-aided secure function evaluation. In: Proceedings of the 2012 ACM conference on computer and communications security. ACM, pp 797–808Google Scholar
  32. Katz J, Malka L (2010) Secure text processing with applications to private DNA matching. In: Proceedings of the 17th ACM conference on computer and communications security. ACM, pp 485–492Google Scholar
  33. Liu Z, Groszschaedl J, Hu Z et al (2016a) Elliptic curve cryptography with efficiently computable endomorphisms and its hardware implementations for the internet of things. IEEE Trans Comput. Accessed 12 Mar 2017
  34. Liu Z, Huang X, Hu Z et al (2016b) On emerging family of elliptic curves to secure internet of things: Ecc comes of age. IEEE Trans Dependable Secur Comput. Accessed 12 Mar 2017
  35. Lpez-Alt A, Tromer E, Vaikuntanathan V (2012) On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption. In: Proceedings of the forty-fourth annual ACM symposium on theory of computing (STOC12). ACM, pp 1219–1234Google Scholar
  36. Motoyama M, McCoy D, Levchenko K et al (2011) An analysis of underground forums. In: Proceedings of the 2011 ACM SIGCOMM conference on internet measurement conference. ACM, pp 71–80Google Scholar
  37. Mohassel P, Niksefat S, Sadeghian S et al (2012) An efficient protocol for oblivious DFA evaluation and applications. In: Cryptographers track at the RSA conference. Springer, Berlin, pp 398–415Google Scholar
  38. Naor M, Pinkas B, Sumner R (1999) Privacy preserving auctions and mechanism design. In: Proceedings of the 1st ACM conference on electronic commerce. ACM, pp 129–139Google Scholar
  39. Rabin MO (1981) How to exchange secrets by oblivious transfer. Technical report, Harvard UniversityGoogle Scholar
  40. Risch NJ, Devlin B (1992) On the probability of matching DNA fingerprints. Science 255(5045):717CrossRefGoogle Scholar
  41. Sasakawa H, Harada H, duVerle D et al (2014) Oblivious evaluation of non-deterministic finite automata with application to privacy-preserving virus genome detection. In: Proceedings of the 13th workshop on privacy in the electronic society. ACM, pp 21–30Google Scholar
  42. Shamir A (1979) How to share a secret. Commun ACM 22(11):612–613MathSciNetCrossRefzbMATHGoogle Scholar
  43. Shulman A (2010) The underground credentials market. Comput Fraud Secur 3:5–8CrossRefGoogle Scholar
  44. Troncoso-Pastoriza JR, Katzenbeisser S, Celik M (2007) Privacy preserving error resilient DNA searching through oblivious automata. In: Proceedings of the 14th ACM conference on computer and communications security. ACM, pp 519–528Google Scholar
  45. Tuzun E, Sharp AJ, Bailey JA et al (2005) Fine-scale structural variation of the human genome. Nat Genet 37(7):727–732CrossRefGoogle Scholar
  46. Van Lunteren J (2006) High-performance pattern-matching for intrusion detection. In: Proceedings of IEEE 25th international conference on computer communications (INFOCOM), 2006, pp 1–13Google Scholar
  47. Venter JC, Adams MD, Myers EW et al (2001) The sequence of the human genome. Science 291(5507):1304–1351CrossRefGoogle Scholar
  48. Vergnaud D (2011) Efficient and secure generalized pattern matching via fast fourier transform. International conference on cryptology in Africa. Springer, Berlin, pp 41–58zbMATHGoogle Scholar
  49. Wang D, Jia X, Wang C et al (2015) Generalized pattern matching string search on encrypted data in cloud systems. In: IEEE conference on computer Communications (INFOCOM). IEEE, pp 2101–2109Google Scholar
  50. Wang H, He D, Shen J et al (2016a) Verifiable outsourced ciphertext-policy attribute-based encryption in cloud computing. Soft Comput 1–11. doi: 10.1007/s00500-016-2271-2
  51. Wang J, Miao M, Gao Y et al (2016b) Enabling efficient approximate nearest neighbor search for outsourced database in cloud computing[J]. Soft Comput 20(11):4487–4495Google Scholar
  52. Weiner P (1973) Linear pattern matching algorithms. In: Proceedings of the 14th annual symposium on switching and automata theory (swat 1973). IEEE Computer Society, pp 1–11Google Scholar
  53. Wei L, Reiter MK (2012) Third-party private DFA evaluation on encrypted files in the cloud. In: European symposium on research in computer security. Springer, pp 523–540Google Scholar
  54. Yao AC (1982) Protocols for secure computations. In: Proceedings of the 23rd annual symposium on foundations of computer science (FOCS82). IEEE Computer Society, pp 160–164Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  1. 1.School of Computer Science and TechnologyShandong UniversityJinanChina

Personalised recommendations