Compilers for Secure Computation
dc.contributor.author | Recto, Rolph | |
dc.contributor.chair | Myers, Andrew | en_US |
dc.contributor.committeeMember | Markovits, Julia | en_US |
dc.contributor.committeeMember | Shi, Runting | en_US |
dc.date.accessioned | 2024-04-05T18:47:41Z | |
dc.date.available | 2024-04-05T18:47:41Z | |
dc.date.issued | 2023-08 | |
dc.description | 190 pages | en_US |
dc.description.abstract | Sophisticated 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.doi | https://doi.org/10.7298/x55g-r212 | |
dc.identifier.other | Recto_cornellgrad_0058F_13914 | |
dc.identifier.other | http://dissertations.umi.com/cornellgrad:13914 | |
dc.identifier.uri | https://hdl.handle.net/1813/114742 | |
dc.language.iso | en | |
dc.rights | Attribution-NoDerivatives 4.0 International | * |
dc.rights.uri | https://creativecommons.org/licenses/by-nd/4.0/ | * |
dc.subject | compilers | en_US |
dc.subject | cryptography | en_US |
dc.subject | programming languages | en_US |
dc.subject | secure computation | en_US |
dc.title | Compilers for Secure Computation | en_US |
dc.type | dissertation or thesis | en_US |
dcterms.license | https://hdl.handle.net/1813/59810.2 | |
thesis.degree.discipline | Computer Science | |
thesis.degree.grantor | Cornell University | |
thesis.degree.level | Doctor of Philosophy | |
thesis.degree.name | Ph. D., Computer Science |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Recto_cornellgrad_0058F_13914.pdf
- Size:
- 1.14 MB
- Format:
- Adobe Portable Document Format