Evaluating branching programs on encrypted data.

*(English)*Zbl 1156.94354
Vadhan, Salil P. (ed.), Theory of cryptography. 4th theory of cryptography conference, TCC 2007, Amsterdam, The Netherlands, February 21–24, 2007. Proceedings. Berlin: Springer (ISBN 978-3-540-70935-0/pbk). Lecture Notes in Computer Science 4392, 575-594 (2007).

Summary: We present a public-key encryption scheme with the following properties. Given a branching program \(P\) and an encryption \(c\) of an input \(x\), it is possible to efficiently compute a succinct ciphertext \(c\prime \) from which \(P(x)\) can be efficiently decoded using the secret key. The size of \(c\prime \) depends polynomially on the size of \(x\) and the length of \(P\), but does not further depend on the size of \(P\). As interesting special cases, one can efficiently evaluate finite automata, decision trees, and OBDDs on encrypted data, where the size of the resulting ciphertext \(c\prime \) does not depend on the size of the object being evaluated. These are the first general representation models for which such a feasibility result is shown. Our main construction generalizes the approach of Kushilevitz and Ostrovsky (FOCS 1997) for constructing single-server Private Information Retrieval protocols.

We also show how to strengthen the above so that \(c\prime \) does not contain additional information about \(P\) (other than \(P(x)\) for some \(x\)) even if the public key and the ciphertext \(c\) are maliciously formed. This yields a two-message secure protocol for evaluating a length-bounded branching program \(P\) held by a server on an input \(x\) held by a client. A distinctive feature of this protocol is that it hides the size of the server’s input \(P\) from the client. In particular, the client’s work is independent of the size of \(P\).

For the entire collection see [Zbl 1115.94002].

We also show how to strengthen the above so that \(c\prime \) does not contain additional information about \(P\) (other than \(P(x)\) for some \(x\)) even if the public key and the ciphertext \(c\) are maliciously formed. This yields a two-message secure protocol for evaluating a length-bounded branching program \(P\) held by a server on an input \(x\) held by a client. A distinctive feature of this protocol is that it hides the size of the server’s input \(P\) from the client. In particular, the client’s work is independent of the size of \(P\).

For the entire collection see [Zbl 1115.94002].

##### MSC:

94A60 | Cryptography |