{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:10:59Z","timestamp":1750219859200,"version":"3.41.0"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"PLDI","license":[{"start":{"date-parts":[[2023,6,6]],"date-time":"2023-06-06T00:00:00Z","timestamp":1686009600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100011039","name":"Intelligence Advanced Research Projects Activity","doi-asserted-by":"publisher","award":["2019-19020700004"],"award-info":[{"award-number":["2019-19020700004"]}],"id":[{"id":"10.13039\/100011039","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100004351","name":"Cisco Systems","doi-asserted-by":"publisher","award":["23013611"],"award-info":[{"award-number":["23013611"]}],"id":[{"id":"10.13039\/100004351","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2023,6,6]]},"abstract":"<jats:p>\n            Secure multiparty computation (MPC) allows for joint computation over private data from multiple entities, usually backed by powerful cryptographic techniques that protect sensitive data. Several high-level programming languages have been proposed to make writing MPC applications accessible to non-experts. These languages typically require developers to enforce security policies within the logic of the secure application itself, making it difficult to update security requirements, or to experiment with different policies. This paper presents the design and implementation of Taype, a language that permits security concerns to be decoupled from the program logic. To do so, Taype provides the first implementation of oblivious algebraic data types and tape semantics, two language features recently proposed by a core calculus for oblivious computation, \u03bb\n            <jats:sub>\n              <jats:italic>OADT<\/jats:italic>\n              +\n            <\/jats:sub>\n            . We evaluate our implementation of Taype on a range of benchmarks, demonstrating its ability to encode a range of security polices for a rich class of data types.\n          <\/jats:p>","DOI":"10.1145\/3591261","type":"journal-article","created":{"date-parts":[[2023,6,6]],"date-time":"2023-06-06T20:06:24Z","timestamp":1686081984000},"page":"1001-1025","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Taype: A Policy-Agnostic Language for Oblivious Computation"],"prefix":"10.1145","volume":"7","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5977-5236","authenticated-orcid":false,"given":"Qianchuan","family":"Ye","sequence":"first","affiliation":[{"name":"Purdue University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1016-6261","authenticated-orcid":false,"given":"Benjamin","family":"Delaware","sequence":"additional","affiliation":[{"name":"Purdue University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,6,6]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3214303"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454074"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3486609.3487205"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660283"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10817-017-9441-5"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-20901-7_2"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00264249"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3490390"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243786"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314605"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/154630.154643"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371118"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2015.23113"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450952"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1561\/3300000019"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/173262.155113"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1536414.1536440"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/28395.28416"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/28395.28420"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/233551.233553"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00028"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/1941859"},{"key":"e_1_2_2_23_1","unstructured":"Matthew E Hoekstra. 2015. Intel SGX for Dummies (Intel SGX Design Objectives). https:\/\/www.intel.com\/content\/www\/us\/en\/develop\/blogs\/protecting-application-secrets-with-intel-sgx.html \t\t\t\t  Matthew E Hoekstra. 2015. Intel SGX for Dummies (Intel SGX Design Objectives). https:\/\/www.intel.com\/content\/www\/us\/en\/develop\/blogs\/protecting-application-secrets-with-intel-sgx.html"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.2478\/popets-2019-0026"},{"volume-title":"Applications of Secure Multiparty Computation, Peeter Laud and Liina Kamm (Eds.) (Cryptology and Information Security Series)","key":"e_1_2_2_25_1","unstructured":"2015. Applications of Secure Multiparty Computation, Peeter Laud and Liina Kamm (Eds.) (Cryptology and Information Security Series) . IOS Press , Amsterdam, Netherlands . isbn:978-1-61499-532-6 978-1-61499-531-9 2015. Applications of Secure Multiparty Computation, Peeter Laud and Liina Kamm (Eds.) (Cryptology and Information Security Series). IOS Press, Amsterdam, Netherlands. isbn:978-1-61499-532-6 978-1-61499-531-9"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSF.2013.11"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.29"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454094"},{"key":"e_1_2_2_29_1","volume-title":"Proceedings of the 13th Conference on USENIX Security Symposium -","volume":"13","author":"Malkhi Dahlia","year":"2004","unstructured":"Dahlia Malkhi , Noam Nisan , Benny Pinkas , and Yaron Sella . 2004 . Fairplay - a Secure Two-Party Computation System . In Proceedings of the 13th Conference on USENIX Security Symposium - Volume 13 (SSYM\u201904). USENIX Association, USA. 20. Dahlia Malkhi, Noam Nisan, Benny Pinkas, and Yaron Sella. 2004. Fairplay - a Secure Two-Party Computation System. In Proceedings of the 13th Conference on USENIX Security Symposium - Volume 13 (SSYM\u201904). USENIX Association, USA. 20."},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.dam.2005.03.020"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.48"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-17138-4_5"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/JSAC.2002.806121"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508859.2516660"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.22152\/programming-journal.org\/2023\/7\/14"},{"key":"e_1_2_2_36_1","unstructured":"Xiao Wang Alex J. Malozemoff and Jonathan Katz. 2016. EMP-toolkit: Efficient MultiParty computation toolkit. https:\/\/github.com\/emp-toolkit \t\t\t\t  Xiao Wang Alex J. Malozemoff and Jonathan Katz. 2016. EMP-toolkit: Efficient MultiParty computation toolkit. https:\/\/github.com\/emp-toolkit"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1515\/popets-2016-0043"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/SFCS.1982.38"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498713"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.7806981"},{"key":"e_1_2_2_41_1","unstructured":"Samee Zahur and David Evans. 2015. Obliv-C: A Language for Extensible Data-Oblivious Computation. https:\/\/eprint.iacr.org\/2015\/1153 \t\t\t\t  Samee Zahur and David Evans. 2015. Obliv-C: A Language for Extensible Data-Oblivious Computation. https:\/\/eprint.iacr.org\/2015\/1153"},{"volume-title":"Programming Languages for Information Security. Ph. D. Dissertation","author":"Zdancewic Stephan Arthur","key":"e_1_2_2_42_1","unstructured":"Stephan Arthur Zdancewic . 2002. Programming Languages for Information Security. Ph. D. Dissertation . Cornell University . USA. Stephan Arthur Zdancewic. 2002. Programming Languages for Information Security. Ph. D. Dissertation. Cornell University. USA."}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3591261","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3591261","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:47:20Z","timestamp":1750178840000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3591261"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,6,6]]},"references-count":42,"journal-issue":{"issue":"PLDI","published-print":{"date-parts":[[2023,6,6]]}},"alternative-id":["10.1145\/3591261"],"URL":"https:\/\/doi.org\/10.1145\/3591261","relation":{},"ISSN":["2475-1421"],"issn-type":[{"type":"electronic","value":"2475-1421"}],"subject":[],"published":{"date-parts":[[2023,6,6]]},"assertion":[{"value":"2023-06-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}