Efficient oblivious transfer protocols
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Introduction to the Theory of Computation
Introduction to the Theory of Computation
Privacy preserving error resilient dna searching through oblivious automata
Proceedings of the 14th ACM conference on Computer and communications security
Protocols for secure computations
SFCS '82 Proceedings of the 23rd Annual Symposium on Foundations of Computer Science
A Proof of Security of Yao’s Protocol for Two-Party Computation
Journal of Cryptology
Fully homomorphic encryption using ideal lattices
Proceedings of the forty-first annual ACM symposium on Theory of computing
Practical Private DNA String Searching and Matching through Efficient Oblivious Automata Evaluation
Proceedings of the 23rd Annual IFIP WG 11.3 Working Conference on Data and Applications Security XXIII
Evaluating branching programs on encrypted data
TCC'07 Proceedings of the 4th conference on Theory of cryptography
TCC'08 Proceedings of the 5th conference on Theory of cryptography
Secure text processing with applications to private DNA matching
Proceedings of the 17th ACM conference on Computer and communications security
Text search protocols with simulation based security
PKC'10 Proceedings of the 13th international conference on Practice and Theory in Public Key Cryptography
Hi-index | 0.00 |
In this paper, we design an efficient protocol for oblivious DFA evaluation between an input holder (client) and a DFA holder (server). The protocol runs in a single round, and only requires a small amount of computation by each party. The most efficient version of our protocol only requires O(k) asymmetric operations by either party, where k is the security parameter. Moreover, the client's total computation is only linear in his own input and independent of the size of the DFA. We prove the protocol fully-secure against a malicious client and private against a malicious server, using the standard simulation-based security definitions for secure two-party computation. We show how to transform our construction in order to solve multiple variants of the secure pattern matching problem without any computational overhead. The more challenging variant is when parties want to compute the number of occurrences of a pattern in a text (but nothing else). We observe that, for this variant, we need a protocol for counting the number of accepting states visited during the evaluation of a DFA on an input. We then introduce a novel modification to our original protocol in order to solve the counting variant, without any loss in efficiency or security. Finally, we fully implement our protocol and run a series of experiments on a client/server network environment. Our experimental results demonstrate the efficiency of our proposed protocol and, confirm the particularly low computation overhead of the client.