






{"id":20067,"date":"2025-01-10T06:28:35","date_gmt":"2025-01-10T06:28:35","guid":{"rendered":"https:\/\/dataforpublicgood.org.in\/?p=20067"},"modified":"2025-06-27T10:49:53","modified_gmt":"2025-06-27T10:49:53","slug":"ruffle-rapid-3-party-shuffle-protocols","status":"publish","type":"post","link":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/","title":{"rendered":"Ruffle: Rapid 3-party shuffle protocols"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"20067\" class=\"elementor elementor-20067\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2dac990 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2dac990\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-51804ec\" data-id=\"51804ec\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5ac4424 elementor-widget elementor-widget-text-editor\" data-id=\"5ac4424\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p><em>March 2023<\/em><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-438085c elementor-widget elementor-widget-text-editor\" data-id=\"438085c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<h1>Ruffle: Rapid 3-party shuffle protocols<\/h1>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff9263c elementor-widget elementor-widget-text-editor\" data-id=\"ff9263c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p style=\"color: blue;\"><strong>Authors<\/strong>: Koti, N., Kukkala, V. B., Patra, A., Gopal, B. R., &amp; Sangal, S<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9514863 elementor-widget elementor-widget-text-editor\" data-id=\"9514863\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol. In this work, we design secure and fast shuffle protocols relying on the techniques of secure multiparty computation. We make several design choices that aid in achieving highly efficient protocols. Specifically, we consider malicious 3-party computation setting with an honest majority and design robust ring-based protocols. Our shuffle protocols provide a fast online (i.e., input-dependent) phase compared to the state-of-the-art for the considered setting. To showcase the efficiency improvements brought in by our shuffle protocols, we consider two distinct applications of anonymous broadcast and secure graph computation via the GraphSC paradigm. In both cases, multiple shuffle invocations are required. Hence, going beyond standalone shuffle invocation, we identify two distinct scenarios of multiple invocations and provide customised protocols for the same. Further, we showcase that our customized protocols not only provide a fast response time, but also provide improved overall run time for multiple shuffle invocations. With respect to the applications, we not only improve in terms of efficiency, but also work towards providing improved security guarantees, thereby outperforming the respective state-of-the-art works. We benchmark our shuffle protocols and the considered applications to analyze the efficiency improvements with respect to various parameters.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85f0dee elementor-widget elementor-widget-text-editor\" data-id=\"85f0dee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p><strong>Journal\/Conference<\/strong><\/p><p>PoPETS (2023).<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-979fd33\" data-id=\"979fd33\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4ce5c30 elementor-widget elementor-widget-image\" data-id=\"4ce5c30\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"300\" src=\"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-content\/uploads\/2025\/01\/Ruffle-Rapid-3-party-shuffle-protocols-1.jpg\" class=\"attachment-full size-full\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c27cce3 elementor-button-success elementor-align-center elementor-widget elementor-widget-button\" data-id=\"c27cce3\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a href=\"https:\/\/petsymposium.org\/popets\/2023\/popets-2023-0068.php\" target=\"_blank\" class=\"elementor-button-link elementor-button elementor-size-sm elementor-animation-shrink\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Know more<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3d308ba elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3d308ba\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e1458bc\" data-id=\"e1458bc\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5229c9c elementor-widget elementor-widget-html\" data-id=\"5229c9c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\n    .post-style-3 .entry-header {\n        display: none;\n    }\n    \n    h1 {\n        font-size:28px !important;\n        text-transform: inherit !important;\n    }\n    \n<\/style>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<div style=\"margin-top: 0px; margin-bottom: 0px;\" class=\"sharethis-inline-share-buttons\" ><\/div>","protected":false},"excerpt":{"rendered":"<p>March 2023 Ruffle: Rapid 3-party shuffle protocols Authors: Koti, N., Kukkala, V. B., Patra, A., Gopal, B. R., &amp; Sangal, S Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to &hellip;<\/p>\n","protected":false},"author":2,"featured_media":20773,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[92],"tags":[],"class_list":["post-20067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-privacy"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.12 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ruffle: Rapid 3-party shuffle protocols - Data for Public Good<\/title>\n<meta name=\"description\" content=\"Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruffle: Rapid 3-party shuffle protocols - Data for Public Good\" \/>\n<meta property=\"og:description\" content=\"Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\" \/>\n<meta property=\"og:site_name\" content=\"Data for Public Good\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-10T06:28:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-27T10:49:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-content\/uploads\/2025\/01\/Ruffle-Rapid-3-party-shuffle-protocols-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"CDPG\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AgriDataXchange\" \/>\n<meta name=\"twitter:site\" content=\"@AgriDataXchange\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"CDPG\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\"},\"author\":{\"name\":\"CDPG\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/#\/schema\/person\/c521da9a85ddb366900e8ab41c092fb4\"},\"headline\":\"Ruffle: Rapid 3-party shuffle protocols\",\"datePublished\":\"2025-01-10T06:28:35+00:00\",\"dateModified\":\"2025-06-27T10:49:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\"},\"wordCount\":268,\"publisher\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/#organization\"},\"articleSection\":[\"Data Privacy\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\",\"url\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\",\"name\":\"Ruffle: Rapid 3-party shuffle protocols - Data for Public Good\",\"isPartOf\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/#website\"},\"datePublished\":\"2025-01-10T06:28:35+00:00\",\"dateModified\":\"2025-06-27T10:49:53+00:00\",\"description\":\"Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol.\",\"breadcrumb\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dataforpublicgood.org.in\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruffle: Rapid 3-party shuffle protocols\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/#website\",\"url\":\"https:\/\/dataforpublicgood.org.in\/\",\"name\":\"Data for Public Good\",\"description\":\"Data for Public Good\",\"publisher\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dataforpublicgood.org.in\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/#organization\",\"name\":\"Data for Public Good\",\"url\":\"https:\/\/dataforpublicgood.org.in\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/adex.org.in\/wp-content\/uploads\/2022\/12\/adex-logo.png\",\"contentUrl\":\"https:\/\/adex.org.in\/wp-content\/uploads\/2022\/12\/adex-logo.png\",\"width\":720,\"height\":270,\"caption\":\"Data for Public Good\"},\"image\":{\"@id\":\"https:\/\/dataforpublicgood.org.in\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/AgriDataXchange\",\"https:\/\/www.linkedin.com\/company\/agricultural-data-exchange\/?viewAsMember=true\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/#\/schema\/person\/c521da9a85ddb366900e8ab41c092fb4\",\"name\":\"CDPG\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dataforpublicgood.org.in\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/07c2cc51f2149e714f30055318fd3fbb92c6e503091ab59827d9bd261e19342a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/07c2cc51f2149e714f30055318fd3fbb92c6e503091ab59827d9bd261e19342a?s=96&d=mm&r=g\",\"caption\":\"CDPG\"},\"url\":\"https:\/\/dataforpublicgood.org.in\/cdpg\/author\/iudx\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ruffle: Rapid 3-party shuffle protocols - Data for Public Good","description":"Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/","og_locale":"en_US","og_type":"article","og_title":"Ruffle: Rapid 3-party shuffle protocols - Data for Public Good","og_description":"Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol.","og_url":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/","og_site_name":"Data for Public Good","article_published_time":"2025-01-10T06:28:35+00:00","article_modified_time":"2025-06-27T10:49:53+00:00","og_image":[{"width":400,"height":300,"url":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-content\/uploads\/2025\/01\/Ruffle-Rapid-3-party-shuffle-protocols-1.jpg","type":"image\/jpeg"}],"author":"CDPG","twitter_card":"summary_large_image","twitter_creator":"@AgriDataXchange","twitter_site":"@AgriDataXchange","twitter_misc":{"Written by":"CDPG","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/#article","isPartOf":{"@id":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/"},"author":{"name":"CDPG","@id":"https:\/\/dataforpublicgood.org.in\/#\/schema\/person\/c521da9a85ddb366900e8ab41c092fb4"},"headline":"Ruffle: Rapid 3-party shuffle protocols","datePublished":"2025-01-10T06:28:35+00:00","dateModified":"2025-06-27T10:49:53+00:00","mainEntityOfPage":{"@id":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/"},"wordCount":268,"publisher":{"@id":"https:\/\/dataforpublicgood.org.in\/#organization"},"articleSection":["Data Privacy"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/","url":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/","name":"Ruffle: Rapid 3-party shuffle protocols - Data for Public Good","isPartOf":{"@id":"https:\/\/dataforpublicgood.org.in\/#website"},"datePublished":"2025-01-10T06:28:35+00:00","dateModified":"2025-06-27T10:49:53+00:00","description":"Secure shuffle is an important primitive that finds use in several applications such as secure electronic voting, oblivious RAMs, secure sorting, to name a few. For time-sensitive shuffle-based applications that demand a fast response time, it is essential to design a fast and efficient shuffle protocol.","breadcrumb":{"@id":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dataforpublicgood.org.in\/cdpg\/data-privacy\/ruffle-rapid-3-party-shuffle-protocols\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dataforpublicgood.org.in\/"},{"@type":"ListItem","position":2,"name":"Ruffle: Rapid 3-party shuffle protocols"}]},{"@type":"WebSite","@id":"https:\/\/dataforpublicgood.org.in\/#website","url":"https:\/\/dataforpublicgood.org.in\/","name":"Data for Public Good","description":"Data for Public Good","publisher":{"@id":"https:\/\/dataforpublicgood.org.in\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dataforpublicgood.org.in\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dataforpublicgood.org.in\/#organization","name":"Data for Public Good","url":"https:\/\/dataforpublicgood.org.in\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dataforpublicgood.org.in\/#\/schema\/logo\/image\/","url":"https:\/\/adex.org.in\/wp-content\/uploads\/2022\/12\/adex-logo.png","contentUrl":"https:\/\/adex.org.in\/wp-content\/uploads\/2022\/12\/adex-logo.png","width":720,"height":270,"caption":"Data for Public Good"},"image":{"@id":"https:\/\/dataforpublicgood.org.in\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/AgriDataXchange","https:\/\/www.linkedin.com\/company\/agricultural-data-exchange\/?viewAsMember=true"]},{"@type":"Person","@id":"https:\/\/dataforpublicgood.org.in\/#\/schema\/person\/c521da9a85ddb366900e8ab41c092fb4","name":"CDPG","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dataforpublicgood.org.in\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/07c2cc51f2149e714f30055318fd3fbb92c6e503091ab59827d9bd261e19342a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/07c2cc51f2149e714f30055318fd3fbb92c6e503091ab59827d9bd261e19342a?s=96&d=mm&r=g","caption":"CDPG"},"url":"https:\/\/dataforpublicgood.org.in\/cdpg\/author\/iudx\/"}]}},"_links":{"self":[{"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/posts\/20067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/comments?post=20067"}],"version-history":[{"count":23,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/posts\/20067\/revisions"}],"predecessor-version":[{"id":22593,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/posts\/20067\/revisions\/22593"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/media\/20773"}],"wp:attachment":[{"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/media?parent=20067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/categories?post=20067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dataforpublicgood.org.in\/cdpg\/wp-json\/wp\/v2\/tags?post=20067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}