International Association for Cryptologic Research

International Association
for Cryptologic Research

IACR News item: 17 May 2012

Christopher Fletcher, Marten van Dijk, Srinivas Devadas
ePrint Report ePrint Report
Fully homomorphic encryption (FHE) techniques are capable of

performing encrypted computation on Boolean circuits, i.e., the

user specifies encrypted inputs to the program, and the server computes on the encrypted inputs. Applying these techniques to general programs with recursive procedures and data-dependent loops

has not been a focus of attention. In this paper, we take a first

step toward building a compiler that, given programs with complex

control flow, generates efficient code suitable for the application of

FHE schemes.

We first describe how programs written in a small Turing-complete instruction set can be executed with encrypted data and

point out inefficiencies in this methodology. We then provide examples of transforming (a) the greatest common divisor (GCD)

problem using Euclid\'s algorithm and (b) the 3-Satisfiability

(3SAT) problem using a recursive backtracking algorithm into a

path-levelized form to which FHE can be applied. We describe

how path levelization reduces control flow ambiguity and improves

encrypted computation efficiency. Using these techniques and data-dependent loops as a starting point, we then build support for hierarchical programs made up of phases, where each phase corresponds to a fixed point computation that can be used to further improve the efficiency of encrypted computation.

In our setting, the adversary learns an estimate of the number of

steps required to complete the computation, which we show is the

least amount of leakage possible.

Expand

Additional news items may be found on the IACR news page.