{"id":507611,"date":"2018-10-10T01:30:32","date_gmt":"2018-10-10T08:30:32","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&#038;p=507611"},"modified":"2025-01-15T20:59:33","modified_gmt":"2025-01-16T04:59:33","slug":"ezpc-easy-secure-multi-party-computation","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/ezpc-easy-secure-multi-party-computation\/","title":{"rendered":"EzPC (Easy Secure Multi-party Computation)"},"content":{"rendered":"<section class=\"mb-3 moray-highlight\">\n\t<div class=\"card-img-overlay mx-lg-0\">\n\t\t<div class=\"card-background  has-background-grey card-background--inset-right\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1441\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-scaled.jpg\" class=\"attachment-full size-full\" alt=\"EzPC system figure\" style=\"\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-scaled.jpg 2560w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-300x169.jpg 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-1024x576.jpg 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-768x432.jpg 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-1536x865.jpg 1536w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-2048x1153.jpg 2048w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-1066x600.jpg 1066w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-655x368.jpg 655w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-343x193.jpg 343w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-240x135.jpg 240w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-640x360.jpg 640w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-960x540.jpg 960w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-1280x720.jpg 1280w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/1400x788_Ezpc_embedded_figure-1920x1080.jpg 1920w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/>\t\t<\/div>\n\t\t<!-- Foreground -->\n\t\t<div class=\"card-foreground d-flex mt-md-n5 my-lg-5 px-g px-lg-0\">\n\t\t\t<!-- Container -->\n\t\t\t<div class=\"container d-flex mt-md-n5 my-lg-5 align-self-center\">\n\t\t\t\t<!-- Card wrapper -->\n\t\t\t\t<div class=\"w-100 w-lg-col-5\">\n\t\t\t\t\t<!-- Card -->\n\t\t\t\t\t<div class=\"card material-md-card py-5 px-md-5\">\n\t\t\t\t\t\t<div class=\"card-body \">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n<h1 class=\"wp-block-heading h2\" id=\"ezpc-easy-secure-multi-party-computation\">EzPC (Easy Secure Multi-party Computation)<\/h1>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n\n\n\n<p>Consider the following scenario: Two hospitals, each having sensitive patient data, must compute statistical information about their joint data. Or, one of the hospitals has a pre-trained ML model based on sensitive patient data and another hospital either wants to learn inference results for its sensitive patient data or the accuracy of the model for its sensitive patient data. In all cases, privacy regulations forbid them from sharing the data and\/or the model in the clear with any entity. So, can they run these tasks while keeping their private data encrypted (or \u201chidden\u201d) from each other?<\/p>\n\n\n\n<p>Cryptography, and specifically, the primitive Secure Multi-Party Computation (MPC), provides an answer to this seemingly impossible task using sophisticated mathematical protocols. However, two big challenges remain:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Until recently, these cryptographic protocols have only been efficiently executable for simpler functions such as aggregations, linear regressions and so on; while, ideally one would like to execute more complex AI algorithms, such as UNet3D, that could allow the hospitals to learn and predict diseases or health abnormalities.<\/li>\n\n\n\n<li>Secondly, to execute these protocols, one must express the computation at the low-level of circuits comprising of AND and OR gates, which is both highly cumbersome and inefficient.<\/li>\n<\/ol>\n\n\n\n<p>The EzPC (or Easy Secure Multi-Party Computation) project&nbsp;at MSR India addresses both these issues:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Specifically for the case of machine learning, we have developed a system, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/mpc-msri\/EzPC\" target=\"_blank\" rel=\"noopener noreferrer\">CrypTFlow<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, that takes as input TensorFlow\/ONNX\/PyTorch inference code and automatically compiles it into an efficient secure computation protocol for the same code.<\/li>\n\n\n\n<li>To serve as a backend to our compiler, we have developed new secure multi-party computation protocols for computing various neural network training and prediction algorithms that have orders of magnitude improvement in performance over the prior state-of-the-art. <\/li>\n\n\n\n<li>Our most recent works <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/orca-fss-based-secure-training-and-inference-with-gpus\/\">Orca<\/a> and <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/sigma-secure-gpt-inference-with-function-secret-sharing\/\">Sigma<\/a> not only provide state-of-the-art protocols for inference of CNNs and transformers, but also intelligently utilize GPUs to scale efficiently to the latest image classification architectures like ResNets and transformers such as GPTs and Llama-13B.<\/li>\n<\/ol>\n\n\n\n<p>To learn more about how developers can build scalable and efficient MPC protocols for secure inference tasks with absolutely no cryptography expertise using the CrypTFlow system, visit this <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/pratik-bhatu.medium.com\/privacy-preserving-machine-learning-for-healthcare-using-cryptflow-cc6c379fbab7\" target=\"_blank\" rel=\"noopener noreferrer\">blog post<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>. For more information, contact the team at <a href=\"mailto:ezpc@microsoft.com\">ezpc@microsoft.com<\/a><\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Consider the following scenario: Two hospitals, each having sensitive patient data, must compute statistical information about their joint data. Or, one of the hospitals has a pre-trained ML model based on sensitive patient data and another hospital either wants to learn inference results for its sensitive patient data or the accuracy of the model for [&hellip;]<\/p>\n","protected":false},"featured_media":811219,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560,13558],"msr-locale":[268875],"msr-impact-theme":[261673],"msr-pillar":[],"class_list":["post-507611","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-programming-languages-software-engineering","msr-research-area-security-privacy-cryptography","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"","related-publications":[507662,507653,838957,1113369,1087701,1064340,966111,951414,950796,950790,854733,611136,810385,790529,789491,764191,744307,727696,720217,710251,685314],"related-downloads":[],"related-videos":[607146,762655,762664],"related-groups":[144939],"related-events":[],"related-opportunities":[],"related-posts":[793088,810376,955086,1089033,1116780],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Nishanth Chandran","user_id":33084,"people_section":"Section name 1","alias":"nichandr"},{"type":"user_nicename","display_name":"Divya Gupta","user_id":37766,"people_section":"Section name 1","alias":"digup"},{"type":"user_nicename","display_name":"Aseem Rastogi","user_id":36021,"people_section":"Section name 1","alias":"aseemr"},{"type":"user_nicename","display_name":"Ashish Panwar","user_id":42153,"people_section":"Section name 1","alias":"ashishpanwar"}],"msr_research_lab":[199562],"msr_impact_theme":["Health"],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/507611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":17,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/507611\/revisions"}],"predecessor-version":[{"id":1121490,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/507611\/revisions\/1121490"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/811219"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=507611"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=507611"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=507611"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=507611"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=507611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}