Ben Riva

Ph.D. student, advised by Prof. Ran Canetti
Supported by the Check Point Institute for Information Security
Email: benriva at post dot tau dot ac dot il

Research:

I'm interested in cryptography and security, and especially in building secure systems. Projects I've been working on are:

Verifiable Computation. Assuming a weak client wants to delegate his computation to a powerful server (e.g., a cloud), the question is how can the weak client be assured that the result of the computation is indeed correct? (of course, without requiring him to compute it by himself). In [1] (see below) we show a very efficient protocol and a prototype implementation for verifiable computation in a al model we call Referred Delegation of Computation, in which the client delegates his computation to several servers, and can be assured he gets the correct result assuming only one of the servers is honest. In [2] we show another protocol in this model which does not require any computational assumptions. This protocol requires only a single round of interaction. (A short description of these results was also presented in [3]). Also in [2], we present a second natural model in which the client uses a public key that was generated by a third-party (and was verified by any interested party afterwards) to get a 1-round protocol for any circuit.
  1. Practical delegation of computation using multiple servers. Ran Canetti, Ben Riva and Guy N. Rothblum. CCS11. (code is here.)
  2. Two Protocols for Delegation of Computation. Ran Canetti, Ben Riva and Guy N. Rothblum. ICITS12.
  3. Verifiable Computation with Two or More Clouds (short abstract). Ran Canetti, Ben Riva and Guy N. Rothblum. IBM's Workshop on Cryptography and Security in Clouds.
Electronic Voting. The main difficulty, IMHO, of designing electronic voting systems is how to utilize cryptographic techniques while still maintaining reasonable user interface. In [1] we design a new electronic voting scheme in which a voter can vote bare-handed (i.e., without bringing his own computer) inside the voting booth, but without revealing his vote to the voting booth. We do that by allowing the voter to use pre-prepared ballots before the election day, and by carefully making sure that he was not coerced to use invalid ballots.
During the last 2 years we are designing and developing a new system called Wombat [2]. Wombat combines the classical voting system (with plain paper ballots) and other techniques from electronic voting literature. Wombat was used successfully in the student council election at IDC (April 2011) and Meretz's leadership election (February 2012) [3].
  1. Bare-Handed Electronic Voting with Pre-processing. Ben Riva and Amnon Ta-Shma. EVT07 and WOTE07.
  2. A New Implementation of a Dual (Paper and Cryptographic) Voting System. Jonathan Ben-Nun, Niko Farhi, Morgan Llewellyn, Ben Riva, Alon Rosen, Amnon Ta-Shma and Douglas Wikstrom. EVOTE12 (personal version, different than of the proceedings).
  3. Visit Wombat-Voting.com for information about the system and previous elections. See also some media coverage.
Nerus. Users usually trust the software they download from known vendors. However, since all software has bugs, the runtime behavior of those software cannot be trusted. In Nerus we suggest to let the programmer define the privileges needed in runtime by their software. The OS will enforce the runtime behavior as defined by the programmer, thus, extending the trust on the vendor also to the runtime behavior of its software.
  1. Nerus: Vulnerability Mitigation Via OS-Aided, Self-Imposed Restrictions. Ran Canetti, Itay Itzhaki and Ben Riva. Manuscript. (A prototype available here.)
Secure Computation. Say a group of parties wants to compute a function of their inputs, without revealing any information about their inputs to each other. Many cryptographic solutions to this problem exist, however, the practicality of them is still arguable. In [1] we design new MPC protocols in the Server-Aided model, in which a third-party (e.g., a cloud) is helping in the MPC protocol in order to reduce work from the other parties. We show and an implementation of those protocols based on a complete new framework we wrote for working with Yao's circuits (i.e. for garbling, evaluation and verification). This work was done during an internship at MSR Redmond. In [2] we show how to achieve optimal 2PC based on the cut-and-choose method. (Previous solutions required asymptotically optimal number of expensive cryptographic operations, or a much larger number of inexpensive operations.) We also define a new security notion in which correctness is always guaranteed while leakage of a single bit of information is possible with a tunable probability. We present two protocols that achieve our definition. These protocols are lighter than current fully-malicious 2PC protocols and we believe that the security guarantee is very natural for real-world scenarios.
  1. Salus: A System for Server-Aided Secure Function Evaluation. Seny Kamara, Payman Mohassel and Ben Riva. CCS12.
  2. Garbled Circuits Checking Garbled Circuits: More Efficient and Secure Two-Party Computation. Payman Mohassel and Ben Riva. manuscript.

Courses TA'ed:

  • Workshop in Electronic Voting - Fall 10
  • Workshop in Computer Security - Fall 10
  • Workshop in Computer Security - Spring 10
  • Software Project - Spring 10 (select software project from your list of courses)
  • Software Project - Fall 09 (select software project from your list of courses)
  • Software Project - Spring 09