eCommons

 

Compilers for Secure Computation

dc.contributor.authorRecto, Rolph
dc.contributor.chairMyers, Andrewen_US
dc.contributor.committeeMemberMarkovits, Juliaen_US
dc.contributor.committeeMemberShi, Runtingen_US
dc.date.accessioned2024-04-05T18:47:41Z
dc.date.available2024-04-05T18:47:41Z
dc.date.issued2023-08
dc.description190 pagesen_US
dc.description.abstractSophisticated cryptographic mechanisms for secure computation, such as multi-party computation (MPC) and homomorphic encryption (HE), allow for computing over encrypted data. These mechanisms have the potential to be used in a vast array of applications, from joint computations between mutually distrusting parties to privacy-preserving offloading of computation to service providers. While scientific advances have brought the performance of these mechanisms closer into widespread practical use, they still remain the purview of experts because of their forbidding programming models. We argue that compilers are necessary to democratize secure computation: a compiler would allow developers can write applications without worrying about the complicated details of using cryptographic mechanisms such as MPC and HE. To this end, we present two compilers for secure computation. First, we present Viaduct, an extensible compiler that can target a variety of cryptographic mechanisms. Developers write Viaduct programs in a security-typed language that allow them to annotate data with high-level security policies; the compiler then uses these annotations to determine which cryptographic mechanism can most efficiently and securely execute program components. Second, we present Viaduct-HE, a compiler that targets homomorphic encryption schemes. Modern HE schemes afford great performance improvements through batching many data elements into a single ciphertext, but data layouts that take advantage of batching most efficiently can be very complicated. Developers write Viaduct-HE programs in a high-level, array-oriented language; the compiler then searches for efficient strategies to lay out data in ciphertexts.en_US
dc.identifier.doihttps://doi.org/10.7298/x55g-r212
dc.identifier.otherRecto_cornellgrad_0058F_13914
dc.identifier.otherhttp://dissertations.umi.com/cornellgrad:13914
dc.identifier.urihttps://hdl.handle.net/1813/114742
dc.language.isoen
dc.rightsAttribution-NoDerivatives 4.0 International*
dc.rights.urihttps://creativecommons.org/licenses/by-nd/4.0/*
dc.subjectcompilersen_US
dc.subjectcryptographyen_US
dc.subjectprogramming languagesen_US
dc.subjectsecure computationen_US
dc.titleCompilers for Secure Computationen_US
dc.typedissertation or thesisen_US
dcterms.licensehttps://hdl.handle.net/1813/59810.2
thesis.degree.disciplineComputer Science
thesis.degree.grantorCornell University
thesis.degree.levelDoctor of Philosophy
thesis.degree.namePh. D., Computer Science

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Recto_cornellgrad_0058F_13914.pdf
Size:
1.14 MB
Format:
Adobe Portable Document Format