  Secure Function Evaluation (SFE) has received recent attention due to the
massive collection and mining of personal data, but remains impractical due to
its large computational cost. Garbled Circuits (GC) is a protocol for
implementing SFE which can evaluate any function that can be expressed as a
Boolean circuit and obtain the result while keeping each party's input private.
Recent advances have led to a surge of garbled circuit implementations in
software for a variety of different tasks. However, these implementations are
inefficient and therefore GC is not widely used, especially for large problems.
This research investigates, implements and evaluates secure computation
generation using a heterogeneous computing platform featuring FPGAs. We have
designed and implemented SIFO: Secure computational Infrastructure using FPGA
Overlays. Unlike traditional FPGA design, a coarse grained overlay architecture
is adopted which supports mapping SFE problems that are too large to map to a
single FPGA. Host tools provided include SFE problem generator, parser and
automatic host code generation. Our design allows re-purposing an FPGA to
evaluate different SFE tasks without the need for reprogramming, and fully
explores the parallelism for any GC problem. Our system demonstrates an order
of magnitude speedup compared with an existing software platform.
