Google Rejects Generic MPC Over Data Center Bandwidth Constraints

Ben Kreuter   RWC 2017 — Real World Crypto

Real World Crypto

Enterprise multi-party computation requires abandoning academic generic compilers for custom primitives because network bandwidth contention and mobile client churn create prohibitive bottlenecks that theoretical models ignore.

AI-assisted summary of Ben Kreuter RWC 2017 — original source. Check the original for full context.

Source published:

Key ideas

  • Academic MPC research prioritizes generic compilers and extreme threat models, but industrial deployments at Google favor custom primitives due to massive network bandwidth contention in data centers and cellular networks. (0:00)
  • For enterprise B2B settings, covert and auditable semi-honest security models are often sufficient because legal contracts provide enforceable dispute mechanisms, while consumer mobile settings strictly require malicious security. (3:40)
  • Google runs a production Private Set Intersection system for ads attribution that uses Diffie-Hellman intersection and Paillier additive homomorphic encryption rather than garbled circuits, which become inefficient on sparse sets. (10:01)
  • To aggregate keyboard prediction models across mobile devices without leaking raw keystrokes, Google developed a double-masked secure aggregation protocol using PRG seeds and threshold secret sharing to handle unexpected client dropouts. (16:15)

Detailed notes

## Background Published on YouTube by the Real World Crypto channel on February 2, 2017, this video captures a technical presentation delivered by Ben Kreuter. According to the show notes, the talk is part of the Real World Crypto conference series showcasing practical and applied cryptography.

## TL;DR Ben Kreuter addresses the persistent disconnect between academic multi-party computation (MPC) research and production realities at companies like Google. He outlines why generic compilers and extreme threat models are often ill-suited for industry, showing instead how pragmatic models like covert security and bandwidth-conscious designs enable real-world deployments. Kreuter presents two practical case studies: a private set intersection protocol combining Diffie-Hellman operations with Paillier homomorphic encryption for advertising attribution, and a double-masked secure aggregation scheme paired with differential privacy for predictive keyboard training across mobile devices.

## Atmosphere & style The talk has a candid, pragmatic, and wryly humorous tone that strips away theoretical idealism in favor of engineering reality. Kreuter speaks with an engaging, direct narrative style, drawing knowing laughs from the technical audience when recounting how software engineers assume MPC is impossible and corporate lawyers treat basic arithmetic as negotiable. Listening to the session feels like receiving an unvarnished dispatch from the cryptographic engineering trenches, grounding theoretical rigor in the hard physical limits of data center network uplinks and flaky smartphone battery life.

## Bulletin - [00:00](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=0s) Academic MPC research prioritizes generic compilers and extreme threat models, but industrial deployments at Google favor custom primitives due to massive network bandwidth contention in data centers and cellular networks. - [03:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=220s) For enterprise B2B settings, covert and auditable semi-honest security models are often sufficient because legal contracts provide enforceable dispute mechanisms, while consumer mobile settings strictly require malicious security. - [10:01](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=601s) Google runs a production Private Set Intersection system for ads attribution that uses Diffie-Hellman intersection and Paillier additive homomorphic encryption rather than garbled circuits, which become inefficient on sparse sets. - [16:15](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=975s) To aggregate keyboard prediction models across mobile devices without leaking raw keystrokes, Google developed a double-masked secure aggregation protocol using PRG seeds and threshold secret sharing to handle unexpected client dropouts.

## Key takeaways - [00:00](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=0s) Google relies on theoretical cryptographic frameworks, using impossibility results to avoid unachievable designs and the simulation paradigm to catch subtle flaws in production systems. - [03:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=220s) In B2B deployments, data privacy is prioritized far above output correctness, and the threat of litigation makes covert or auditable semi-honest security commercially viable. - [05:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=340s) Network bandwidth contention, rather than raw computation time, is the primary deployment bottleneck in Google data centers and mobile networks. - [05:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=340s) Mobile MPC must handle unique operational barriers including carrier-grade NATs, zero consumer PKI, battery constraints, and uncontrolled mid-protocol dropouts. - [10:01](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=601s) Google implemented ads attribution via Diffie-Hellman Private Set Intersection and Paillier homomorphic encryption to compute aggregate spend without exposing customer identities. - [13:16](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=796s) Garbled circuits fail for sparse real-world set intersection because vector representations scale with the entire universe size rather than the actual number of elements. - [16:15](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=975s) Applying local differential privacy directly on individual mobile devices requires excessive noise that destroys model utility, necessitating MPC-based aggregate privacy. - [18:09](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1089s) A double-masking scheme combining pairwise PRG masks and individual secret seeds prevents mobile server compromise when slow clients submit data after dead dropouts are reconstructed. - [20:14](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1214s) Distributed differential privacy noise generation remains an open challenge for malicious consumer settings with thousands of participants. - [21:28](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1288s) Production adoption of MPC across the wider industry hinges on generic protocols that reduce bandwidth overheads without high fixed constant factors. - [25:48](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1548s) Data poisoning in federated secure aggregation remains an open research problem, though unstructured malicious inputs often degrade the aggregate into easily detectable random noise. - [26:32](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1592s) Multi-round privacy degradation from repeated linear queries over overlapping mobile cohorts can be mitigated by scaling cohort sizes and injecting additional calibrated noise.

## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=0s) The Divide Between Academic MPC and Industry Reality

Ben Kreuter opens his talk by addressing a recurring interaction he experiences whenever he mentions multi-party computation (MPC) to colleagues in the cryptographic research community. Researchers immediately ask whether Google is running garbled circuits or the Goldreich-Micali-Wigderson (GMW) protocol, forcing him to disappoint them with a blunt “nope.” This disconnect forms the core theme of his presentation: an exploration of why academic cryptography and industrial deployments at companies like Google have diverged in methodology, followed by two real-world case studies illustrating MPC in business-to-business (B2B) settings and on consumer smartphones.

In academic literature, MPC research has overwhelmingly prioritized generic protocols capable of taking any arbitrary polynomial-time functionality and compiling it down into an executable distributed protocol. From a developer's perspective, this promise is theoretically ideal because software engineers would only need to define inputs, target functions, and output recipients without ever having to design custom cryptographic primitives. Furthermore, theory has leaned heavily toward the strongest security guarantees—such as full malicious security and complex concurrent composition frameworks—proving fundamental feasibility theorems that allow computations to proceed securely even when every other party in the world is adversarial.

Despite not adopting generic compilers directly, Kreuter emphasizes that Google relies heavily on theoretical cryptography. Formal security definitions provide the necessary framework for reasoning about protocols, while feasibility and impossibility results keep engineering teams from wasting time pursuing mathematically unachievable designs. Kreuter notes that the academic simulation paradigm is an essential engineering tool, explaining: “On more than one occasion I have actually found a security problem in one of our designs by trying to write the simulator for it.”

- Academic MPC focuses primarily on generic compilers for arbitrary functions and extreme threat models (malicious security, concurrent composition). - Theoretical feasibility proofs establish what is possible, while impossibility results prevent engineering teams from pursuing dead ends. - The simulation paradigm (demonstrating that an ideal-world simulator can produce an execution transcript indistinguishable from real protocol runs) directly catches design flaws in production systems.

---

[03:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=220s) Pragmatic Security Models: Semi-Honest, Covert, and Malicious

When evaluating security models for actual deployments, theoretical rankings do not always reflect commercial requirements. Kreuter explains that the semi-honest (honest-but-curious) model provides far more practical value than academics often credit. He likens it to forward secrecy: as long as a party has not cheated yet, historical interactions remain protected. In corporate environments, protocols that achieve covert security or lie just beneath it—where cheating attempts risk detection—are frequently sufficient. Because enterprise participants enter into binding legal agreements, formal dispute mechanisms alter the risk landscape: “That's actually good enough in a lot of cases especially in business-to-business settings where contracts can be used; you can sue people.”

Industrial applications also separate privacy from correctness in ways standard models do not fully capture. While malicious security guarantees both privacy and exact correctness, commercial applications often care substantially more about preventing data leakage than preventing subtle output manipulation. Kreuter specifically praises the authors of the covert security model, recalling that it was deliberately designed for realistic applications, and calls it arguably the most practical model for B2B deployments. Conversely, consumer environments break these assumptions: when protocols interact with anonymous mobile phone users who cannot be taken to court, malicious security and non-malleability become mandatory, despite being significantly more expensive to compute and communicate.

- Semi-honest guarantees act like forward secrecy, protecting prior computations provided no breach of protocol has yet occurred. - In B2B ecosystems, the risk of auditability and litigation makes covert or auditable semi-honest security commercially viable. - In business deployments, data privacy is prioritized far higher than output correctness, whereas theoretical models typically bind both together. - Consumer-facing deployments cannot rely on legal recourse, making malicious security and robust non-malleability necessary.

---

[05:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=340s) Deployment Bottlenecks and Mobile Device Constraints

The fundamental tension between academic benchmarks and enterprise systems lies in how resource consumption is measured. Cryptographic papers routinely evaluate protocols based on total end-to-end execution time or peak transaction throughput without dissecting the underlying resource costs. In reality, computation is rarely the limiting factor. In a Google data center, thousands of high-performance servers share network uplinks; running heavy MPC protocols on an ongoing basis creates severe network contention both with internal workloads and across external connections. Network bandwidth is almost always the most constrained and expensive resource, a constraint that applies equally to mobile networks sharing limited wireless spectrum. Consequently, Google only deploys a protocol if its concrete business value clearly exceeds this networking overhead.

Deploying MPC to consumer devices introduces severe operational hurdles that generic academic frameworks rarely handle:

```mermaid flowchart TD accTitle: Mobile MPC Constraints accDescr: Flow diagram illustrating consumer smartphone constraints including NAT routing, churn, and Sybil vulnerabilities.

subgraph MobileEnvironment["Mobile Network Constraints"] A["Carrier-Grade NAT / Firewall"] -->|"No direct P2P"| B["Cloud Relay Service"] C["Battery / Energy Limits"] -->|"Restricts heavy crypto"| B end

subgraph FailureModes["Device Reliability & Attacks"] D["High Churn & Random Dropout"] -->|"Device dies mid-message"| E["Privacy Leakage / Stalled Protocol"] F["Sybil Entities"] -->|"Simulated devices"| G["Collusion & Re-identification"] end

B -.-> D ```

Smartphones sit behind carrier-grade NATs, preventing direct peer-to-peer connections and forcing all traffic through intermediate cloud relays. There is no reliable public key infrastructure (PKI) across consumer endpoints. Furthermore, cost on mobile cannot be measured like a desktop or data center; battery draw and energy consumption dictate whether an algorithm is viable. Mobile phones experience constant churn and drop offline at arbitrary steps. If a phone dies after transmitting only half a cryptographic payload, poorly designed protocols can permanently compromise the user's privacy or stall entirely. While theory states that a protocol can either survive arbitrary participant dropout or maintain security against universal collusion, real systems must prioritize completion, forcing engineers to actively prevent large-scale Sybil attacks and colluding device coalitions.

Kreuter remarks on the operational risk of multi-party architectures that rely on external infrastructure: “If you're trying to deploy a system it's not really a good thing if some third party can stop playing and then your system stops working.”

- Academic evaluations frequently overlook network uplink contention, which represents the most expensive resource both in data centers and over cellular networks. - Mobile phones lack direct peer-to-peer addressability due to carrier NATs and possess no standardized global PKI. - Energy and battery consumption are primary operational constraints on mobile clients. - Uncontrolled device failure mid-protocol can leak private inputs or break systems like oblivious RAMs (ORAMs) that require complete runs. - Commercial designs favor guaranteed completion over universal collusion resilience, requiring robust mitigation against simulated Sybil phones.

---

[10:01](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=601s) Business Applications: Private Set Intersection for Ads Attribution

To demonstrate how these principles translate into production, Kreuter presents an advertising attribution architecture based on Private Set Intersection (PSI). He invokes the classic retail dilemma—often attributed to a merchant or tractor salesman—who invests substantial capital in advertising campaigns but cannot verify which sales were generated by ad impressions. Advertisers demand rigorous attribution metrics to justify marketing spend, yet direct data sharing between the ad platform and the merchant is impossible.

Google maintains sensitive internal records detailing which accounts were served advertisements, while the retail merchant retains proprietary purchase records detailing exactly who bought merchandise and how much money they spent. Neither entity can disclose raw customer identifiers to the other due to strict user privacy obligations and commercial confidentiality.

To resolve this impasse, Google employs an augmented private set intersection protocol:

```mermaid flowchart LR accTitle: PSI Ads Attribution Flow accDescr: Flow of Diffie-Hellman PSI with Paillier homomorphic summation between Google and an advertiser.

subgraph Parties["Joint Computation"] G["Google Data<br/>(Ad Impression Keys)"] A["Advertiser Data<br/>(Customer Keys + Purchase Values)"] end

subgraph MPC["DH-PSI + Homomorphic Sum"] P["Compute Intersection Size"] H["Paillier Homomorphic Sum<br/>(Total Spend)"] end

G --> P A --> P A --> H P & H --> OUT["Final Aggregate Metrics<br/>(No Individual Identity Revealed)"] ```

Rather than revealing the raw identities of the users who overlap, the protocol intersects on a common pseudonymized key and computes the cardinality of the match. Furthermore, the protocol binds the transaction values to these keys and applies an additively homomorphic encryption scheme (such as Paillier) to aggregate the total dollars spent by matched buyers. This yields the exact aggregate conversion revenue and conversion volume of the ad campaign without disclosing whether any specific individual viewed an advertisement or bought a tractor. Kreuter notes that using a custom Diffie-Hellman style intersection paired with additive homomorphic encryption allows the entire sum operation to complete rapidly without resorting to complex, high-overhead generic circuits.

- Advertising attribution calculates campaign effectiveness by linking ad impression logs with merchant sales records. - Raw customer datasets cannot be shared between Google and advertisers due to privacy guarantees and regulatory obligations. - The deployed protocol leverages a Diffie-Hellman-based Private Set Intersection paired with additively homomorphic encryption (such as Paillier). - The protocol outputs only aggregate statistics—intersection size and total spending sum—preventing both parties from learning which individual users converted.

[12:08](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=728s) Convincing Stakeholders: Lawyers, Managers, and Engineers

Ben Kreuter reflects on the practical, human challenge of bringing cryptography into production. The simplicity of a protocol is not merely an engineering convenience; it is a critical organizational tool. To ship a system, one must persuade non-technical managers, legal counsel, and the software engineers responsible for writing the code. Kreuter notes that opinions vary widely on which group is the hardest to win over. Talking to legal teams can be surreal because standard mathematical facts do not always carry final weight:

> “The lawyers are interesting because you can show them a proof and you know two plus two equals four is a negotiable statement here so it's interesting talking to them.”

In contrast, engineering managers tend to trust technical expertise, a dynamic Kreuter notes was established before he joined his team. The most stubborn pushback often comes from software engineers themselves:

> “Software engineers I think are the worst because they already assume this is impossible so you first have to go and undo everything they've learned about crypto and then rewrite all of it.”

[13:16](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=796s) Why Garbled Circuits Fail for Sparse Set Intersection

Kreuter addresses an obvious theoretical alternative: why not simply use garbled circuits? Work from fellow graduate students at the University of Virginia suggested garbled circuits could match or beat custom protocols for private set intersection (PSI). On paper, if elements are expressed as bit vectors, one needs only two garbled circuit blocks per bit, with adders costing roughly one AND gate per bit. For 16-bit values, the performance appears competitive.

However, Kreuter explains that in real-world deployment, every underlying assumption collapses: - 16 bits is far too small for practical identifiers, and adders become prohibitively expensive at scale. - Vector representations are impractical because real-world datasets are extremely sparse within the universe of possible elements. - Custom elliptic-curve protocols scale linearly with the actual number of elements in the set, sending one curve element per item. A bit-vector garbled circuit, by contrast, must transmit a bit for every potential element across the entire universe. - If one tries to avoid bit vectors and instead performs the set intersection dynamically inside the circuit, the online computational and communication costs explode.

Consequently, garbled circuits fail to remain competitive for this specific workload.

[15:02](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=902s) Practical Considerations and Future Directions

Reflecting on remaining operational challenges, Kreuter highlights the difficulty of establishing common identifiers between internal user data and disparate third-party datasets. The system relies on a post-facto audit mechanism to verify that neither party cheated during the exchange, which proves vital in production environments. He also laments the friction introduced by compliance mandates, defining arbitrary legal requirements as:

> “Arbitrary lawyer imposed things are things that have no relevance to computing the results correctly and no relevance to real security but are required for reasons we don't fully comprehend.”

Looking ahead, Kreuter identifies several active areas for future improvements: - Achieving malicious-model security without introducing massive computational overhead. - Adding non-malleable security properties for downstream applications. - Expanding computation beyond simple additions into cumulative functions over the intersection, where specialized garbled circuits might eventually find practical utility.

[16:15](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=975s) Consumer Applications: Privacy-Preserving Keyboard Model Aggregation

Moving from enterprise data matching to consumer mobile devices, Kreuter examines federated machine learning, focusing specifically on predictive text keyboards on smartphones. While local models train on an individual's typing behavior, predictive accuracy improves dramatically when models across millions of phones are combined into a global model via linear combinations or weighted averages.

Uploading raw model updates directly to Google servers would constitute a massive privacy violation:

> “The downside here is that your local model reveals what you type so you'd be sending a transcript of everything you've ever typed at least over some period to us and we don't want that data from you and you don't want to give it to us.”

Applying differential privacy directly on individual phones prior to upload proves impractical. Because each device represents an effective dataset of size one, the magnitude of local noise required to guarantee differential privacy would destroy the utility of the model update. Instead, the system aims to apply differential privacy to the aggregated output across the entire population using multi-party computation (MPC).

[18:09](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1089s) Scalable Masking and Handling Dropped Connections

To securely compute a linear combination across thousands or millions of untrusted consumer phones, the design adopts a pairwise linear secret sharing approach. Pairs of participating devices agree on a shared random mask; one party adds the mask to its vector while the other party subtracts it, ensuring all masks cancel out when the server sums the aggregate.

```mermaid flowchart LR accTitle: Double-Masked Secure Aggregation Architecture accDescr: Shows how device inputs are protected with PRG pairwise masks and individual masks to tolerate dropouts.

subgraph Inputs["Participating Devices"] D1["Device 1: x₁ + PRG(s₁₂) + PRG(b₁)"] D2["Device 2: x₂ - PRG(s₁₂) + PRG(b₂)"] end

subgraph Aggregator["Google Server"] Sum["Sum Received Vectors<br/>(Pairwise PRG seeds cancel)"] end

subgraph Reconstruction["Threshold Share Reconstruction"] Unmask["Server unmasks surviving bᵢ<br/>or reconstructs sᵢⱼ for dropouts"] end

Inputs --> Aggregator Aggregator --> Reconstruction ```

Transmitting full random vectors between every pair would cause communication to scale quadratically. Instead, devices exchange cryptographic keys using a Diffie-Hellman style key exchange and expand them locally via a pseudorandom generator (PRG) stream cipher.

A critical engineering obstacle is handling client dropouts and high network latency on mobile devices. If a phone disconnects mid-protocol, its pairwise masks will not cancel out. While sharing Shamir secret shares of the pairwise PRG keys would allow the server to reconstruct missing masks, a subtle failure mode emerges: if a client is merely slow rather than offline, it might submit its masked input after its secret keys have already been reconstructed, completely exposing its raw data to the server.

To resolve this, the protocol implements a double-masking scheme. Each client applies both a pairwise PRG mask and an individual private PRG seed ($b_i$). Devices distribute threshold secret shares for both keys. When the aggregation deadline passes, the server announces which clients dropped offline and which completed: - For dropped clients, surviving devices reveal shares of the pairwise seed ($s_{ij}$), allowing the server to strip the incomplete pairwise mask from the sum. - For surviving clients, peers reveal shares of the individual seed ($b_i$), allowing the server to unmask the final combined total without exposing individual updates.

[20:14](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1214s) Differential Privacy and Distributed Noise Generation

For final output privacy, the aggregate must be protected with differential privacy. Kreuter outlines two approaches: 1. **Server-side noise injection:** The central server computes the raw aggregate and adds noise before releasing the model. This allows the server to see the non-differentially private aggregate. While this might be tolerable given that Google already provides the mobile operating system and enforces internal data controls, it is not ideal from a zero-trust perspective. 2. **Distributed noise injection:** Clients add tiny amounts of noise locally. When thousands of local noise contributions are summed during aggregation, they combine to form the exact distribution required for differential privacy at the aggregate level.

Kreuter leaves an open challenge for the research community: developing an efficient distributed noise generation protocol that scales to thousands of participants and remains strictly secure against malicious adversaries, who face fewer accountability constraints on consumer hardware than in enterprise settings.

[21:28](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1288s) Audience Q&A: MPC Research Desiderata and Production Debugging

Following the presentation, Kreuter answers questions regarding industry needs, production timelines, and data leakage:

- **Wishes for academic research:** An audience member asks what Google and the broader engineering community need from MPC researchers. For Google's internal deployments, Kreuter requests generic protocols with drastically lower bandwidth consumption, such as fully homomorphic encryption (FHE) without prohibitive constant factors, or garbled circuit protocols offering sublinear communication without high fixed overheads. For the broader industry, he emphasizes practical, developer-friendly frameworks: > “Once we have these generic protocols that are really practical enough for more problems that will lead to this sort of MPC Renaissance because I think there's a lot of problems out there that people need to solve and I think people are aware of that it just hasn't you know the cost so far seems to be outweighing the benefits for a lot of people.” - **Deployment timelines and debugging:** In response to a question about running systems in production, Kreuter confirms that the mobile keyboard aggregation system will be deployed soon, while the enterprise PSI system is already live in production. On maintaining MPC pipelines without violating privacy constraints, he delivers a blunt assessment: “Debugging is hard.” - **Preventing memorization and reconstruction attacks:** An attendee raises the 2006 AOL search data disaster, asking how Google prevents federated predictive keyboard models from inadvertently memorizing and leaking rare, sensitive strings such as user passwords. Kreuter begins addressing this challenge as the segment concludes.

[24:12](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1452s) Differential Privacy and Output Protections in Model Merging

Ben Kreuter explains how differential privacy provides a mathematical guarantee when merging distributed machine learning models. Assuming one already has the merged model, adding carefully calibrated noise drawn from the appropriate distribution ensures that no individual user's input exerts an outsized influence on the final result. In high-level terms, excluding any small subset of the training data leaves the output distribution identical or computationally indistinguishable, making it possible to extract broad population aggregates without exposing specific individual records. This property aligns well with practical mobile phone applications, such as predicting text via Markov chains, where the system only needs to learn frequent transitions and high-probability contacts rather than rare individual occurrences.

```mermaid flowchart LR accTitle: Differential Privacy Noise Pipeline accDescr: Raw model updates are merged into an aggregate and combined with calibrated noise to produce a differentially private output. subgraph ClientData["Client Updates"] C1["Client 1 Update"] C2["Client 2 Update"] C3["Client 3 Update"] end subgraph Merging["Secure Aggregation"] AGG["Merged Model"] end subgraph DPNoise["Privacy Mechanism"] NOISE["Calibrated Noise"] OUT["Differentially Private Aggregate"] end ClientData --> AGG AGG --> OUT NOISE --> OUT ```

An audience member asks whether differential privacy is genuinely the ideal notion for these applications, or if researchers should explore alternative formulations—such as computing the maximum over set sums or enforcing strict threshold cutoffs to suppress anything beneath a certain frequency. Kreuter acknowledges the current state of the art while welcoming broader theoretical exploration:

> “So I think the differential privacy property is the best one that we have right now I would love to see research on new ways to think about that as I said theoretical results have a lot of value for that very reason.”

He encourages the audience to pursue alternative models and publish new theoretical frameworks for the wider community.

[25:48](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1548s) Handling Malicious Inputs and Poisoned Secret Shares

The discussion turns to active adversaries and data poisoning during federated aggregation. An audience member asks what prevents a client from submitting outright garbage inside their secret shares: because the shares are blinded, the server cannot inspect individual contributions to verify their validity, yet summing malicious garbage with genuine inputs could poison the entire aggregated model.

Kreuter explains that this challenge is approached from two angles: it remains an active open research problem, but practical deployments benefit from the fact that corrupted model updates typically degrade the entire output into recognizable noise. In practice, genuine machine learning parameters look markedly different from random vectors. If system constraints force cheating participants to generate nothing more structured than random noise, the resulting output becomes readily distinguishable from a functional model and can be rejected or filtered accordingly.

[26:32](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=1592s) Non-Affine Functions on Intersections and Multi-Round Privacy Leakage

The session concludes with questions regarding computation on set intersections and recurring multi-round queries. When asked whether there are compelling non-trivial functions to compute over private set intersections, Kreuter observes that standard paired private intersection protocols readily support affine functions. Any workload requiring non-affine operations presents a clear challenge where new cryptographic primitives would be required, though he notes that he cannot provide specific proprietary examples on the spot.

Another audience member raises the issue of privacy degradation across multiple rounds: if the server computes averages over changing, overlapping subsets of users over time, the combined outputs could allow an observer to reconstruct private participant data through linear algebra. Kreuter confirms the risk and points back to differential privacy as the standard tool to bound this leakage. By scaling up the participant cohort sizes, systems can inject enough noise across successive queries to offset multi-round composition without degrading overall model utility:

> “By taking a large enough sample you can get away with actually adding more noise than would be needed for just one round of the of the application and I think I'm being told that we are done we do either sorry you can come chat with me in the back if you have more questions.”

With the session time expiring, Kreuter invites attendees with remaining questions to continue the discussion off-stage.

## Notable quotes > [05:40](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=340s) If you're trying to deploy a system it's not really a good thing if some third party can stop playing and then your system stops working. — Ben Kreuter

> [00:00](https://www.youtube.com/watch?v=ee7oRsDnNNc&t=0s) On more than one occasion I have actually found a security problem in one of our designs by trying to write the simulator for it. — Ben Kreuter

## Mentioned Ben Kreuter, Google, Goldreich-Micali-Wigderson, Diffie-Hellman, Paillier, University of Virginia, AOL

## Video description Technical talks from the Real World Crypto conference series.

[Source](https://www.youtube.com/watch?v=ee7oRsDnNNc)

中文简报

受数据中心带宽限制,谷歌弃用通用多方安全计算 企业级多方计算需要放弃学术界常用的通用编译器,转而采用定制原语,因为网络带宽争用和移动客户端流失会造成理论模型所忽视的严重瓶颈。 Ben Kreuter探讨了多方安全计算(MPC)学术研究与谷歌等企业生产实际之间长期存在的脱节问题。他阐明了为何通用编译器和极端威胁模型往往不适用于工业界,并展示了隐蔽安全(covert security)和注重带宽的设计等务实模型如何让实际部署成为可能。Kreuter分享了两个实际案例研究:一个是在广告归因中将Diffie-Hellman操作与Paillier同态加密相结合的私有集合求交协议,另一个是结合差分隐私、用于移动设备预测性键盘训练的双重掩码安全聚合方案。 学术界的多方计算研究优先考虑通用编译器和极端威胁模型,但由于数据中心和蜂窝网络中存在巨大的网络带宽争用,谷歌的工业部署更倾向于使用定制原语。 (0:00) 对于企业B2B场景,隐蔽模型和可审计的半诚实安全模型通常就已足够,因为法律合同提供了可执行的争议解决机制;而消费级移动场景则严格要求恶意安全模型。 (3:40) 谷歌运行着一个用于广告归因的生产级私有集合求交系统,该系统采用Diffie-Hellman求交和Paillier加法同态加密,而非在稀疏集合上效率低下的混淆电路。 (10:01) 为了在不泄露原始击键信息的前提下跨移动设备聚合键盘预测模型,谷歌开发了一种利用PRG种子和门限秘密共享的双重掩码安全聚合协议,以应对客户端意外掉线的情况。 (16:15)

Reading summary

Ben Kreuter of Google argues that industrial multi-party computation (MPC) diverges sharply from academic research by prioritizing network bandwidth, custom primitives, and pragmatic threat models over generic compilers and maximal theoretical security. Theoretical Rigor Versus Real-World Resource Bottlenecks (0:00) Academic MPC research predominantly targets generic compilers for arbitrary functionalities under maximal security models, such as malicious security with concurrent composition. In production at Google, however, generic circuits are eschewed in favor of specialized protocols. Despite this divergence, theoretical tools remain essential: formal feasibility proofs prevent teams from pursuing impossible architectures, and Kreuter notes that attempting to write simulators within the academic simulation paradigm has repeatedly uncovered security flaws in production designs. The divergence is largely driven by resource accounting. Academic papers typically benchmark execution time or peak transaction throughput, but in data centers and cellular networks, computational power is abundant while network bandwidth uplink contention is the primary and most expensive constraint. Systems are only deployed if their business value demonstrably surpasses this heavy communication overhead. Pragmatic Security Models and Organizational Buy-In (3:40) Commercial applications evaluate security guarantees differently than academic hierarchies. For business-to-business (B2B) deployments, Kreuter identifies the covert security model as arguably the most practical, alongside auditable semi-honest assumptions. Because corporate participants sign binding legal agreements backed by dispute mechanisms and the threat of litigation, risk is substantially mitigated compared to theoretical zero-trust assumptions. Industrial applications also routinely prioritize preventing data leakage over guaranteeing strict output correctness. Shipping cryptographic protocols additionally demands organizational persuasion across non-technical stakeholders. Kreuter observes that corporate lawyers approach mathematical proofs as negotiable statements, while engineering managers generally rely on technical expertise. Software engineers often present the stiffest resistance, having internalized that secure computation on private data is impossible, requiring cryptographic teams to actively dismantle their assumptions before implementation. Custom Protocols for Enterprise Ads Attribution (10:01) To address advertising attribution—verifying whether marketing impressions generate retail sales without sharing raw customer logs—Google uses a custom Private Set Intersection (PSI) protocol rather than generic garbled circuits. The deployment pairs Diffie-Hellman-based intersection with additively homomorphic encryption (such as Paillier) to compute match cardinality and aggregate dollar spend, completely concealing individual user conversions. Generic garbled circuits fail in this workload because theoretical optimizations rely on bit-vector representations that collapse on large, sparse datasets. While custom elliptic-curve protocols scale linearly with the actual number of inputs by transmitting one curve element per item, bit-vector circuits require transmitting bits for every potential element across the entire universe, rendering communication and dynamic in-circuit set comparisons cost-prohibitive. Double-Masking for Mobile Federated Aggregation (16:15) Deploying MPC to consumer mobile devices, such as aggregating predictive text keyboard models, introduces hostile operating conditions including carrier-grade NATs, the absence of a global public key infrastructure, battery drain, and high churn. To aggregate model vectors without transmitting raw keystrokes to Google servers, the architecture uses a pairwise linear secret-sharing scheme expanded from Diffie-Hellman seeds via pseudorandom generators (PRGs). To withstand random dropouts without creating data leaks, the design applies a double-masking mechanism. Merely reconstructing pairwise masks for dropped devices poses a risk: if a slow device submits its masked input after its seeds have been reconstructed, its input is exposed. The protocol prevents this by having clients apply both a pairwise PRG mask and an individual private seed ($b_i$), distributing threshold shares of both. After the aggregation deadline, surviving devices reveal individual seed shares for completed clients, but reveal pairwise seed shares only for confirmed dropouts, canceling incomplete masks without compromising raw data. Mitigating Malicious Inputs and Multi-Round Leakage (24:12) On consumer endpoints, lack of legal accountability makes malicious inputs a significant risk. Because secret shares are blinded during aggregation, the server cannot inspect individual contributions to verify validity. In practice, corrupted model parameters typically degrade the aggregate into recognizable random noise, allowing systems to detect and discard poisoned outputs that diverge from normal machine learning parameters. To prevent model updates from memorizing rare text or leaking participant identities across multiple queries, Google relies on differential privacy. When recurring model evaluations query overlapping user cohorts over time, observers could theoretically reconstruct private inputs via linear algebra. Kreuter explains that scaling cohort sizes enables systems to inject enough calibrated noise to bound multi-round composition leakage without degrading final model utility. Real-world MPC requires trading generic theoretical protocols for custom designs tailored to network bandwidth limits, device dropout, and context-specific threat models. Kreuter highlights unresolved challenges for future research, including practical distributed noise generation for differential privacy, lightweight malicious security, and scalable non-affine computations over private set intersections.

精炼阅读摘要

Google 工程师 Ben Kreuter 在 Real World Crypto 2017 演讲中指出,学术界对通用多方安全计算(MPC)编译器和极端恶意安全模型的追求,与工业界实际部署存在显著脱节;在真实生产环境中,网络带宽瓶颈、法律追索机制及异构终端约束,决定了企业必须根据场景采用定制化且权衡算网开销的工程密码学方案。 学术通用协议与工业网络瓶颈的割裂 (0:00) Kreuter 指出,学术界长期倾向于研究能编译任意多项式时间函数的通用协议(如混淆电路或 GMW),以及能够抵御全网恶意的最强安全模型。然而,Google 并未直接采用这类通用编译器,而是高度依赖理论密码学的基础框架:可行性与不可行性定理帮助工程团队避免探索数学上不可实现的设计,而学术界的“模拟范式”(Simulation Paradigm)更是成为重要的工程调试工具,Kreuter 曾多次通过尝试编写理想世界模拟器发现了系统设计中的安全缺陷。 在资源评估标准上,学术论文普遍以端到端运行时间或峰值吞吐量衡量协议效率,但工业部署的核心约束却截然不同。在 Google 数据中心内,数千台服务器共享上行链路,高负载 MPC 会与内部及外部流量产生严重的网络争用。计算资源很少构成瓶颈,网络带宽才是最高昂、最紧缺的开销。因此,工业界仅在具体业务收益明确超过网络传输开销时才会考虑上线协议。 务实安全模型与组织协作落地挑战 (3:40) 在部署评估中,理论上的安全级别划分并不完全贴合商业现实。Kreuter 解释称,半诚实(honest-but-curious)模型在实践中极具价值,其保护历史交互的逻辑类似于前向保密;而隐蔽(covert)安全或可审计的半诚实模型在企业级(B2B)场景中通常已经足够。由于企业主体之间受具有法律约束力的合同约束,一旦发现违规作弊即可提起诉讼,这种法律威慑彻底改变了风险格局。此外,商业应用往往极度注重防止数据泄露(隐私性),而对极细微的输出篡改(正确性)容忍度相对更高。 密码学方案的工程落地不仅涉及技术选择,还需要说服管理层、法务团队和一线软件工程师。Kreuter 坦言,法务团队常常将严格的数学事实视为可协商的条款;而一线软件工程师往往先入为主地认为隐私保护计算在工程上“不可能实现”,需要团队耗费大量精力重塑其技术认知。而在消费级移动端场景中,由于终端用户具备匿名性且无法诉诸法律追责,系统才不得不采用开销昂贵的恶意安全模型与不可延展性。 广告归因:定制PSI与同态加密实践 (10:01) 为了展示企业级 MPC 的应用,Kreuter 介绍了已在 Google 生产环境上线的广告归因架构。零售商投放广告后需要评估转化效果,但 Google 掌握敏感的广告展示日志,商家拥有具体的顾客消费记录,双方因用户隐私法规与商业保密约束,均无法向对方共享原始明文标识符。Google 采用基于 Diffie-Hellman 的隐私集合求交(DH-PSI)技术匹配双方用户的匿名标识符,并结合 Paillier 加法同态加密累加匹配用户的消费金额,最终仅输出广告带来的总转化人数和总消费金额,而不泄露任何个人的浏览或购买详情。 针对学术界曾提出的“混淆电路在集合求交上可超越专用协议”这一观点,Kreuter 解释了混淆电路在稀疏场景下失效的原因:现实业务中的用户标识符空间庞大且数据极度稀疏。基于位向量的混淆电路需要为全域中的每个潜在元素发送比特,而定制的椭圆曲线协议通信量仅与实际集合大小呈线性关系;若在混淆电路内部动态执行集合求交,其在线通信与计算成本将发生爆炸性增长,因而在生产中完全不具备竞争力。 移动键盘聚合:双重掩码与差分隐私 (16:15) 在消费端,Google 面临手机输入法本地预测模型聚合的挑战。若将数百万台手机的打字模型直接上传至服务器合并,将严重泄露用户的个人私密输入历史;但若在每台手机上独立添加本地差分隐私,极小的单设备样本量会导致过大的噪声破坏模型实用价值。为此,系统采用多方安全聚合协议在服务端计算全局加权平均,并借助伪随机生成器(PRG)派生的两两成对掩码使噪声在求和时相互抵消。 移动网络环境存在严苛的物理限制:手机缺乏公网 IP 与统一 PKI、受限于电池功耗,且网络断连和高延迟极为频繁。如果设备在协议执行中途掉线,其成对掩码将无法抵消。简单的门限秘密分享存在重大隐患:若某个客户端仅仅是网络延迟而未彻底离线,在服务器重构其成对密钥后该设备又提交了数据,其明文更新将被完全暴露。工程团队为此设计了“成对种子 + 单体私有种子”的双重掩码(Double-Masking)门限方案:对掉线设备重构其成对种子以剥离不完整掩码,对存活设备仅重构单体种子以消除聚合混淆,确保了无论设备掉线还是延迟提交均不泄露原始数据。最终的聚合结果则通过注入差分隐私噪声,有效防范了针对输入法罕见词的重构攻击与多轮查询推断风险。 Kreuter 总结认为,企业级广告归因系统已投入实用,消费级输入法安全聚合也已临近部署。面对投毒攻击与非仿射运算等前沿难题,实际系统通常依赖数据分布特征进行异常过滤。工业界呼吁学术界未来减少对高固定开销通用编译器的单一依赖,转而聚焦于低通信带宽的通用协议、更实用的分布式差分隐私噪声生成机制以及兼顾移动端网络容错的高效密码学原语。

Source quotes

[5:40] Ben Kreuter: If you're trying to deploy a system it's not really a good thing if some third party can stop playing and then your system stops working. [0:00] Ben Kreuter: On more than one occasion I have actually found a security problem in one of our designs by trying to write the simulator for it.

Original transcript

[0:00] hi so I'm Ben crater and we'll talk [0:04] about how we've been using MPC at Google [0:09] before I begin I'd like to say every [0:12] time I tell people in this community hey [0:14] we're doing this you know we're doing [0:15] MPC at Google everyone gets really [0:18] excited and starts saying oh are you [0:19] using garbled circuits or using gmw and [0:22] then I have to disappoint everyone and [0:24] say nope and actually we're going to [0:27] talk a bit about why I think probably [0:30] the most interesting part here is what [0:33] is separating the academic work from the [0:36] work that companies like Google are [0:38] doing in this field so start with that [0:42] then I'll talk about two applications [0:44] that sort of illustrate two different [0:46] scenarios in which this is being used so [0:49] we have a business-to-business [0:50] application and an application on [0:52] consumer devices on smartphones so let's [0:57] start with this separation why is [0:59] research going one way and everything [1:03] else seems to not be going that way so [1:06] at a high level the academic view of MPC [1:10] has been mostly looking at these generic [1:14] protocols so these these protocols where [1:18] you can take any any polynomial-time [1:21] functionality and compile it down into [1:24] something that you can then run between [1:27] many parties and it's very nice if [1:29] you're a developer if you have a system [1:31] like that or one would hope because you [1:34] don't have to get into the crypto you [1:35] just have to specify what your function [1:38] is and who should participate and what [1:41] you want them to learn and there's also [1:45] been a lot of interest in the strongest [1:48] security model possible right the [1:50] malicious model or you know sort of [1:52] these concurrent models that go even [1:54] beyond that and there's been some very [1:57] good results right so you know we've [2:00] defined security models on the theory [2:02] side and and developed a very very good [2:05] and very useful theory about it we've [2:07] shown that actually any function you [2:10] want a protocol for has the pro [2:12] all we've shown that you can even do it [2:14] if only one of the parties is on it so [2:16] the whole world can be against you and [2:18] you can stay safe and Anna's yahuda was [2:21] just saying we have implementations of [2:23] these systems and for many years people [2:26] have been developing them so this is [2:28] what things look like on the academic [2:30] side now the theoretical results have a [2:34] lot of value in practice or so I think [2:37] the security definitions especially we [2:41] need to you know when we design this we [2:44] need to know how to think about security [2:46] how to think about what we're actually [2:47] doing and the feasibility the [2:50] feasibility results are good my team at [2:53] Google sort of does work for teams that [2:56] come to us and ask for things and it's [2:58] very nice to be able to say yes on paper [3:00] we can do that and impossibility results [3:03] are also good because then we can say [3:05] actually on paper we can't do it and try [3:08] to solve the problem another way so we [3:10] know where to not waste our time and we [3:12] know when we're doing something that's [3:14] at least possible and on more than one [3:18] occasion I have actually found a [3:20] security problem in one of our designs [3:21] by trying to write the simulator for it [3:23] so for those not familiar the simulator [3:26] is sort of how we define security for [3:29] NPCs you want to say that you can [3:31] generate a transcript without actually [3:33] running the whole protocol so you learn [3:35] nothing from the transcript so so this [3:39] is all very useful and the security [3:44] models in practice you know a bit more [3:48] about that the semi honest model is [3:51] actually not as bad as you might think [3:54] in some settings that actually has value [3:57] it's akin to forward secrecy in a sense [4:01] if I haven't cheated yet you know that [4:03] everything thus far is secure and you [4:08] know if you can audit it if you can get [4:11] sort of just below the covert model but [4:13] still be able to catch cheating [4:15] sometimes that's actually good enough in [4:18] a lot of cases especially in [4:19] business-to-business settings where [4:21] contracts can be used [4:24] you can sue people it's also worth [4:28] pointing out that in a lot of cases we [4:30] care more about privacy and correctness [4:32] the malicious model guarantees codes so [4:36] you obviously can't satisfy that if you [4:38] only guarantee one it's a little hard to [4:40] define that it's a little hard to say we [4:44] have privacy but you can sort of change [4:45] the output because maybe you change it [4:48] to just repeat my input right but in [4:51] terms of what we really care about [4:53] privacy is often more important and [4:57] kudos to the researchers who developed [5:00] the covert model because if I remember [5:02] correctly they specifically said it was [5:04] for realistic applications and that's [5:08] 100% true that is probably the most [5:11] useful thing to achieve for these [5:13] business-to-business cases in the [5:16] consumer setting when you have people [5:18] you can't just bring into court [5:20] you probably want malicious model and [5:23] these concurrent composition questions [5:26] do come up sometimes non malleability is [5:29] an important thing to have of course as [5:32] you go down the list of security models [5:34] here it gets harder and harder to do [5:36] them practically so that is the tension [5:40] now this I think is probably the biggest [5:46] gap between academic work and what we do [5:50] academic work tends to focus on the [5:53] end-to-end running time of some system [5:56] some protocol or the throughput but [6:00] doesn't really break down the cost so [6:03] for example let's say we're doing this [6:05] two party computation between Google and [6:07] someone else so we have a data center [6:09] with tons and tons of machines in it and [6:11] they all have to share the uplink or [6:14] uplink [6:15] if there's more than one and the other [6:17] party has some resources that shared [6:21] network is going to have a ton of [6:22] contention you're not going to get to [6:24] monopolize it with your protocol I mean [6:26] if you could you're not going to run [6:28] your protocol one you're going to run it [6:30] you know over and over and over and [6:31] you're just going to contention against [6:33] yourself [6:35] and so the network is usually the [6:38] costliest resource for you and this is [6:40] equally true on consumer devices there's [6:42] only so much wireless spectrum to go [6:44] around and crypto is not the only thing [6:47] people are doing so for business to use [6:53] this there's obviously some reason we [6:56] want to run it there's a benefit if the [6:58] benefit outweighs the cost it could be [7:00] used not guaranteed could so a few [7:06] practical challenges consumer devices [7:11] don't get to communicate directly with [7:13] each other usually like my phone is [7:15] behind a NAT that my service provider [7:17] runs so I have to go through some cloud [7:21] service there isn't really any reliable [7:24] PKI [7:25] sorry and for some some protocols so for [7:32] the one I'll talk about later we're [7:34] going to sort of select random sets of [7:36] phones if we're malicious we'll just [7:40] select phones that we control right so [7:42] how we select the parties is a sort of [7:44] interesting question and the cost [7:47] metrics on consumer devices are [7:50] different you can measure cost in terms [7:54] of how much energy you've used which is [7:57] a very different thing from like a data [7:59] center or a laptop all right sorry not a [8:02] lot of a desktop a laptop does have a [8:04] battery um also consumer devices fail [8:08] all the time it's random points in a [8:11] protocol um this can create an [8:13] interesting security problem where a [8:15] device sends half a message and dies and [8:17] it winds up ruining its own privacy in [8:21] the process some protocols fail [8:25] miserably if you don't finish so an [8:28] ograms for example you either lose [8:30] security or you lose all your data if [8:32] you don't complete the protocol which is [8:36] usually a problem also of course these [8:39] civil attacks where you just simulate [8:41] things and call them cell phones these [8:44] are a concern [8:47] and there's this weird you know the [8:51] theoretical result here that you either [8:54] get to have security against everyone in [8:57] which case civil attacks are irrelevant [8:58] or you get to ensure that the [9:02] computation finishes even if parties [9:05] drop out you can't have both of those [9:08] usually it's more important to finish [9:10] and so you have to carefully ensure that [9:13] these sorts of malicious coalition's [9:16] can't really be formed at a large scale [9:21] Mauro Lee had mentioned there's no such [9:24] thing as a non colluding service [9:25] provider I'm going to say a slightly [9:27] weaker version it's not impossible is [9:30] quite difficult I say it's not [9:32] impossible because it's already been [9:33] done in a real protocol but if you're [9:37] trying to deploy a system it's not [9:40] really a good thing if some third party [9:44] can stop playing and then your system [9:47] stops working so it does add a lot of [9:50] risks when you want to do something like [9:51] that and there's a bunch of questions [9:54] that will come up if you try to propose [9:56] that to a non cryptographer so our [10:01] application this is a sort of famous [10:05] quote from advertising right people [10:09] spend a lot of money advertising their [10:10] products and they want to know that that [10:12] money is well spent so I think this guy [10:17] sold tractors and wasn't really sure who [10:21] saw his ads and then bought them so [10:26] seven or section functionality is [10:28] actually very useful for this we use it [10:32] for a lot of things it's very good when [10:36] you want to compute some aggregate [10:38] information over a joint data set and in [10:42] particular in these business-to-business [10:44] settings that data is often something [10:47] you can't share with other businesses so [10:50] Google has user data and this tractor [10:54] salesman maybe has some data about his [10:56] customers like who came in and bought [10:58] tractors [11:00] those two data sets are very very [11:02] private and very sensitive so you can't [11:04] just send them out to other people to [11:06] work with so this is how we get our ads [11:13] attribution now if we compute the [11:15] intersection of who saw the ads and who [11:19] bought the tractors I the size of the [11:23] intersection gives us some information [11:24] if we augment this with some extra data [11:27] so we use the you know we intersect on [11:31] the key and then the value is how much [11:32] they spent we can sort of figure out [11:34] quantitatively the effectiveness of [11:37] these of this ad campaigning that he was [11:39] running very important that we not [11:42] reveal who's actually in the [11:44] intersection since that amounts to [11:45] revealing at least partial data about [11:47] either who bought tractors or who saw [11:50] the ads so we'll only reveal the size [11:53] and here's our basic protocol it's a [11:58] sort of a dippy Hellman based protocol [12:01] we augment it with some homomorphic [12:03] encryption like pi a because we only [12:04] need a sum and it's very quick obviously [12:08] this is for a not a secure setting it is [12:13] simple and this is a non-technical [12:16] advantage not just because it's easy to [12:18] implement but because we have to [12:20] convince other people that this is [12:22] something they should do we have to [12:24] convince you know non-technical managers [12:27] we have to convince lawyers and then we [12:28] have to convince the people who need to [12:30] implement it there's different opinions [12:33] on who is the hardest among these to [12:36] convince the lawyers are interesting [12:39] because you can show them a proof and [12:43] you know two plus two equals four is a [12:46] negotiable statement here so it's [12:49] interesting talking to them I find that [12:51] managers usually trust your expertise [12:54] although I'm told that before I joined [12:56] my team that wasn't so true not because [12:59] I joined I think that changed long [13:01] before I came along [13:02] software engineers I think are the worst [13:05] because they already assume this is [13:07] impossible [13:08] so you first have to go and undo [13:10] everything they've learned about crypto [13:11] and then [13:12] rewrite all of it so how about a quick [13:16] comparison uh why don't we just use [13:19] garbled circuits so now a few years ago [13:22] there was some work from a co grad [13:25] students in line at UVA on garbled [13:28] circuits they can be just as fast as [13:29] custom protocols or even better for set [13:32] intersection so why not so he assumes we [13:36] have some vector representation so we [13:40] only need to a blocks per bit and we [13:44] need some adders that's one a one an [13:47] seed per bit that we need to add let's [13:50] say we're doing 16 bits and in our [13:52] protocol it so it looks like it's all [13:55] the same I so a desk we're equal [14:01] unfortunately all of our assumptions are [14:04] wrong we don't actually have good vector [14:06] representations and 16 bits is a bit [14:09] small tractors are actually quite [14:11] expensive also there's a subtle [14:15] difference hiding in here I our protocol [14:19] only has to send a element from that [14:22] curve for everything in the set but in [14:25] this garbled circuit approach if you're [14:27] using this bit vector representation you [14:30] have to send a bit for everything in the [14:32] universe and as it turns out our sets [14:36] are usually quite sparked in the [14:38] universe of possible values and so [14:41] actually garbled circuits are going to [14:43] perform terribly and if you try to do [14:45] this not using bit vectors then you have [14:48] to do the set intersection online in the [14:50] circuit and then your cost to really [14:52] start to look bad so verbal circuits [14:55] actually are not competitive at least in [14:57] this setting few a few final notes [15:02] there's a very interesting problem here [15:04] of finding common identifiers for you [15:07] know for our user data and for some [15:09] third-party data we do have an audit [15:14] mechanism so we have a way to sort of [15:16] post facto checks that there was no [15:18] cheating in this model in this world [15:21] that's pretty useful [15:25] arbitrary lawyer imposed things are [15:27] things that have no relevance to [15:29] computing the results correctly and no [15:31] relevance to real security but are [15:33] required for reasons we don't fully [15:35] comprehend our future work malicious [15:40] model security that is not substantially [15:43] more expensive would be a great thing [15:44] for us to have non malleable security [15:47] may be something useful here for certain [15:51] applications that may come later and [15:54] more functionality than just addition so [15:57] that sort of cumulative function on the [16:00] intersection may wind up finding some [16:04] garbled circuits so use their unclear at [16:08] the moment if that would be necessary [16:10] but it could still happen so nothing's [16:11] off the table so how about our consumer [16:15] applications so we all have phones we [16:20] may have heard that machine learning is [16:21] this big new thing that's going to [16:23] revolutionize the world so so let's take [16:28] as a particular example the keyboard [16:29] model on your phone right so your phone [16:31] this predictive input you can train a [16:33] local model you may have noticed your [16:35] phone tries to do things differently as [16:37] time goes on we can actually do better [16:41] if we were to take all of our local [16:42] models and merge them this is what we've [16:44] been told by the machine learning guys [16:46] and in this case they've told us that [16:48] merging is a linear combination so [16:51] that's good so we we could sort of you [16:55] know without caring about privacy do [16:57] that just upload all of these vectors to [16:59] Google adds them up or do whatever the [17:02] linear combination is and then we're [17:04] done of course the downside here is that [17:08] your local model reveals what you type [17:10] so you'd be sending a transcript of [17:12] everything you've ever typed at least [17:14] over some period to us and we don't want [17:18] that data from you and you don't want to [17:19] give it to us so differential privacy [17:23] yes although it's not terribly easy to [17:30] do it here the local models if you add [17:33] enough noise to achieve the differential [17:35] privacy properties will be a lot less [17:38] use [17:39] since there's only one element in the [17:41] data set and you've added enough noise [17:43] to protect that one element privacy so [17:47] we want the outputs to be differentially [17:49] private after we've activated so it's an [17:55] NPC application we have a linear [17:57] combination in this case it's really [18:00] kind of a weighted average we have a [18:02] very large number of parties but since [18:06] it's lennier why not a linear secret [18:07] sharing scheme so maybe something like [18:09] that [18:10] we will just mask all of our vectors in [18:13] some way and we'll do it in such a way [18:15] that if you add them all of our masks [18:17] will cancel so if I'm one party then I [18:21] agree with every other party on a common [18:23] mask one of us will add one of us will [18:24] subtract so now that some of our vectors [18:26] cancels that so this is the basic idea [18:29] of our protocol and this is actually [18:31] been studied in the past this is not [18:34] novel now sharing that whole vector [18:40] would be an awful lot of communication [18:42] it's going to grow essentially [18:44] quadratically so we want something less [18:48] costly and as cryptographers we all know [18:51] we can use a PRG so instead of this [18:57] one-time pad with these random masks [18:59] we'll just use a stream cipher now we [19:02] just need to do a key exchange to agree [19:03] on common keys with each other and that [19:05] is significantly less expensive we also [19:09] have to handle device failures so phones [19:13] do just stop participating in protocols [19:16] sort of all the time so we need to make [19:19] sure we can still take your mask back [19:21] off so easy enough right we send out [19:23] shares of our tea Cochise unfortunately [19:28] now if a failing party was actually not [19:30] failing it was just very slow it will [19:32] now send the message to the server and [19:34] now the server can see it's private [19:36] input so by being slow you sort of break [19:39] your own security so we'll just add [19:43] another stream cipher on top of that and [19:46] have two keys that we send shares for [19:48] and so now the idea is that [19:52] we will reveal at the end when the [19:54] server says I stopped receiving messages [19:56] from these parties 1k and then for all [20:00] the parties that completed it will send [20:02] the other key and so you either see this [20:07] late parties encrypted input or you get [20:09] to add it to the output five [20:14] differential privacy there is sort of [20:16] two ways we could do this one would be [20:19] to just have the server at it let's say [20:21] that will allow the server to see the [20:24] non differentially private output which [20:27] is not great but if it happens to be the [20:32] same you know company that shifts the [20:35] software for your phone and is doing a [20:39] ton of stuff to keep your data secure [20:40] maybe it's okay another thing we could [20:44] do is try to add noise locally and we've [20:46] been told by experts that actually we [20:49] can add a whole lot less noise because [20:52] we add everything up and so we'll [20:54] actually get the right amount of noise [20:56] at the end so that's good open question [21:01] for anyone who is interested in trying [21:03] to solve a problem [21:05] can we do the distributed noise [21:07] generation efficiently enough to have [21:09] say thousands of parties do it and in [21:14] this case you must be secure against [21:15] malicious parties because consumer [21:18] devices are just not as accountable and [21:24] that is that so I will open the floor to [21:27] questions [21:28] [Applause] [21:38] hi so I'm glad to see that Google is [21:41] considering privacy and using MPC with [21:43] consumer devices that's great I guess my [21:46] question is what would you like to see [21:48] from the academic community to help out [21:50] with this so in addition to these [21:53] generic protocols that people are doing [21:55] there are frameworks coming out now that [21:57] are supposed to make it easier on [21:59] software engineers so what would you [22:01] like to see from the academic community [22:02] to help out do you mean what would I as [22:04] someone who's working on this at Google [22:06] want or do you mean what would I like to [22:08] see for the world at large to have both [22:12] what what I would like is a generic [22:15] protocol that is significantly less [22:18] bandwidth intensive so things like f AG [22:20] except without the enormous constant [22:22] factor so either make that constant [22:25] factor way smaller or find a garbled [22:27] circuits protocol that has sublinear [22:29] communication but not a huge constant [22:31] for the world at large [22:33] I think the frameworks are great I think [22:36] that once we have these generic [22:39] protocols that are really practical [22:41] enough for more problems that will lead [22:46] to this sort of MPC Renaissance because [22:49] I think there's a lot of problems out [22:50] there that people need to solve and I [22:53] think people are aware of that it just [22:55] hasn't you know the cost so far seems to [22:57] be outweighing the benefits for a lot of [22:59] people you want to alternate hey I [23:06] actually have two questions the first [23:09] one is how long was this in deployment [23:11] both these systems and also I was [23:15] wondering if you could comment on [23:17] experiencing your experience debugging [23:21] these things when they're running [23:23] because you're dealing with private data [23:25] you can't just open everything up so it [23:27] was curious about that they answer that [23:30] question debugging is hard and as for [23:33] the deployment the phone one will soon [23:36] be deployed and I don't know how much I [23:39] can say about how long the other one has [23:41] been in production but I can say it has [23:42] been deployed that's great thank you [23:48] in your example of merging productive [23:50] input models but now what are you doing [23:53] to prevent consequences similar to like [23:55] the a OLS search corpus disaster 2006 [23:58] where you have you have you have this [24:01] corpus and even if something in there is [24:03] immediately attributable there are [24:04] things in there that are obviously [24:06] passwords and somebody could just go [24:07] brute force to find out what username [24:09] that password belongs to right so in [24:12] this case the differential privacy [24:13] property is the answer to that [24:15] so imagine without worrying about how [24:18] you got it that you had the merged model [24:20] already if you add the right amount of [24:24] noise that was sampled according to the [24:26] right distribution you'll have the [24:28] property that no small subset of the [24:33] input matters as in you could have [24:37] excluded a small subset of the inputs [24:39] and the output distribution will remain [24:41] the same or at least indistinguishable [24:43] that's sort of the high level summary of [24:45] the differential privacy property so [24:48] it's a way to say you can learn [24:50] aggregates but not specifics that's okay [24:53] with the phone example where you're [24:57] merging these models it's true when we [24:59] care about the most sort high [25:01] probability contacts so if this is some [25:05] sort of Markov chain ah you don't really [25:07] care about sort of rare events across [25:09] the whole sample interesting computing [25:11] address is differential privacy the [25:13] right notion or do you think that [25:15] there's research into other notions like [25:17] okay I want to get the Maxima of the [25:19] some of the sets I don't want to see [25:21] anything below their threshold so I [25:23] think the differential privacy property [25:26] is the best one that we have right now I [25:29] would love to see research on new ways [25:32] to think about that as I said [25:34] theoretical results have a lot of value [25:36] for that very reason [25:38] so if you have ideas tell us publish [25:43] them tell the world please honey yeah [25:48] thanks for the talk that was really [25:49] interesting so I was curious about the [25:51] in the case where you're merging these [25:54] machine learning models what do you do [25:56] if a client just sends you garbage [25:58] because it's secret shared garbage you [26:00] don't know that it's garbage but when [26:01] you add up the garbage with everything [26:02] else you're going to get a garbage out [26:04] but how do you prevent that or how do [26:05] you handle two ways one is it's still [26:09] kind of an open problem and two we can [26:12] usually tell when the output is garbage [26:14] I the a good model is sort of [26:19] distinguishable from a random model so [26:21] if the best that we can do is to force [26:25] cheating clients like this to give us [26:27] random output oh that's good enough like [26:32] I'm going to ask one question sure so [26:35] you mentioned there may be more [26:37] interesting functions on intersection [26:39] that is interesting you have examples of [26:42] few things functions that would be [26:44] interesting or no applied with PI you [26:50] can do affine functions right so if we [26:54] ever had a case where we needed [26:55] something that is not a sign and there [26:58] are a lot of functions that are not [26:59] assigned then that would be an example [27:02] know as we go no specific example that I [27:05] can give here another well is there a [27:11] third to speaker that's what I was like [27:15] other words we can't go keep boring with [27:17] the questions yeah don't work for this [27:22] do this [27:24] you're taking this average are some [27:26] amount except that of the the players [27:29] and like if you do this multiple times [27:31] and you take different subsets that can [27:32] become big more information uh yes it [27:38] can but I think again this becomes more [27:42] of the differential privacy like you can [27:45] do that in a differentially private [27:47] world where we say we'll just add more [27:49] noise by taking a large enough sample [27:52] you can get away with actually adding [27:54] more noise than would be needed for just [27:57] one round of the of the application and [28:02] I think I'm being told that we are done [28:04] we do either sorry you can come chat [28:06] with me in the back if you have more [28:08] questions