-
A General Purpose Transpiler for Fully Homomorphic Encryption
Authors:
Shruthi Gorantala,
Rob Springer,
Sean Purser-Haskell,
William Lam,
Royce Wilson,
Asra Ali,
Eric P. Astor,
Itai Zukerman,
Sam Ruth,
Christoph Dibak,
Phillipp Schoppmann,
Sasha Kulankhina,
Alain Forget,
David Marn,
Cameron Tew,
Rafael Misoczki,
Bernat Guillen,
Xinyu Ye,
Dennis Kraft,
Damien Desfontaines,
Aishe Krishnamurthy,
Miguel Guevara,
Irippuge Milinda Perera,
Yurii Sushko,
Bryant Gipson
Abstract:
Fully homomorphic encryption (FHE) is an encryption scheme which enables computation on encrypted data without revealing the underlying data. While there have been many advances in the field of FHE, develo** programs using FHE still requires expertise in cryptography. In this white paper, we present a fully homomorphic encryption transpiler that allows developers to convert high-level code (e.g.…
▽ More
Fully homomorphic encryption (FHE) is an encryption scheme which enables computation on encrypted data without revealing the underlying data. While there have been many advances in the field of FHE, develo** programs using FHE still requires expertise in cryptography. In this white paper, we present a fully homomorphic encryption transpiler that allows developers to convert high-level code (e.g., C++) that works on unencrypted data into high-level code that operates on encrypted data. Thus, our transpiler makes transformations possible on encrypted data.
Our transpiler builds on Google's open-source XLS SDK (https://github.com/google/xls) and uses an off-the-shelf FHE library, TFHE (https://tfhe.github.io/tfhe/), to perform low-level FHE operations. The transpiler design is modular, which means the underlying FHE library as well as the high-level input and output languages can vary. This modularity will help accelerate FHE research by providing an easy way to compare arbitrary programs in different FHE schemes side-by-side. We hope this lays the groundwork for eventual easy adoption of FHE by software developers. As a proof-of-concept, we are releasing an experimental transpiler (https://github.com/google/fully-homomorphic-encryption/tree/main/transpiler) as open-source software.
△ Less
Submitted 15 June, 2021;
originally announced June 2021.
-
Grale: Designing Networks for Graph Learning
Authors:
Jonathan Halcrow,
Alexandru Moşoi,
Sam Ruth,
Bryan Perozzi
Abstract:
How can we find the right graph for semi-supervised learning? In real world applications, the choice of which edges to use for computation is the first step in any graph learning process. Interestingly, there are often many types of similarity available to choose as the edges between nodes, and the choice of edges can drastically affect the performance of downstream semi-supervised learning system…
▽ More
How can we find the right graph for semi-supervised learning? In real world applications, the choice of which edges to use for computation is the first step in any graph learning process. Interestingly, there are often many types of similarity available to choose as the edges between nodes, and the choice of edges can drastically affect the performance of downstream semi-supervised learning systems. However, despite the importance of graph design, most of the literature assumes that the graph is static. In this work, we present Grale, a scalable method we have developed to address the problem of graph design for graphs with billions of nodes. Grale operates by fusing together different measures of(potentially weak) similarity to create a graph which exhibits high task-specific homophily between its nodes. Grale is designed for running on large datasets. We have deployed Grale in more than 20 different industrial settings at Google, including datasets which have tens of billions of nodes, and hundreds of trillions of potential edges to score. By employing locality sensitive hashing techniques,we greatly reduce the number of pairs that need to be scored, allowing us to learn a task specific model and build the associated nearest neighbor graph for such datasets in hours, rather than the days or even weeks that might be required otherwise. We illustrate this through a case study where we examine the application of Grale to an abuse classification problem on YouTube with hundreds of million of items. In this application, we find that Grale detects a large number of malicious actors on top of hard-coded rules and content classifiers, increasing the total recall by 89% over those approaches alone.
△ Less
Submitted 23 July, 2020;
originally announced July 2020.
-
A Commentary on the Linearity and Time-Invariance of ODE-Based Systems
Authors:
Parker S. Ruth,
Herbert M. Sauro
Abstract:
Linear time-invariant (LTI) systems appear frequently in natural sciences and engineering contexts. Many LTI systems are described by ordinary differential equations (ODEs). For example, biological gene regulation, analog filter circuits, and simple mechanical, electrical, and hydraulic systems can all be described with varying approximations as LTI systems using ODEs. While linearity and time-inv…
▽ More
Linear time-invariant (LTI) systems appear frequently in natural sciences and engineering contexts. Many LTI systems are described by ordinary differential equations (ODEs). For example, biological gene regulation, analog filter circuits, and simple mechanical, electrical, and hydraulic systems can all be described with varying approximations as LTI systems using ODEs. While linearity and time-invariance are straightforward to demonstrate for closed-form system definitions, determining whether an ODE describes a system with LTI properties is less obvious and rarely discussed in depth in the literature. Complications arise due to slightly different definitions of linearity in different contexts. This commentary is intended to provide clarity on this subtle point, and act as an instructional aid or educational supplement.
△ Less
Submitted 17 December, 2019;
originally announced December 2019.