Practical Private Regular Expression Matching
Regular expressions are a frequently used tool to search in large texts. They provide the ability to compare against a structured pattern that can match many text strings and are common to many applications, even programming languages. This paper extends the problem to the private two-party setting where one party has the text string and the other party has the regular expression. The privacy constraint is that neither party should learn about the input of the other party, i.e. the string or the regular expression, except the result of the computation which is wether the string matches the regular expression or not. Secure Multiparty Computation provides general algorithms for any such problem, but it has been recommended to develop special protocols for important cases that provide better performance using the domain knowledge of that problem. This paper presents two protocols: One with perfect secrecy that provides a lower-bound on protocols using circuit construction and a fast one that provides better performance bounds, but the secrecy it provides is limited and tuned for practical applications. The fast protocol presented here uses permutation and commutative encryption as its only building blocks.