Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Table of Contents This is part of a tutorial series on the CKKS homomorphic encryption scheme.
-
Table of Contents This is part of a tutorial series on the CKKS homomorphic encryption scheme.
-
A quick update on our homomorphic encryption compiler HEIR: our partners at Belfort have a hotword detector in FHE that runs in 350ms.
-
Table of Contents This is part of a tutorial series on the CKKS homomorphic encryption scheme.
-
On 2026-08-14 I published an article on the Google Security blog with an update on HEIR, our homomorphic encryption (HE) compiler.
-
Here are some more whimsical OEIS sequences I came across.
-
Table of Contents In this tutorial series, I will introduce the CKKS homomorphic encryption scheme from the ground up, in rather intricate detail.
-
I went hunting for references to the OEIS in open source code, and found some weird ones.
-
A051070 is a sequence about OEIS sequences. a(n) is the n-th term in sequence A_n (or -1 if A_n doesn’t have enough terms).
-
Problem: Determine if a 32-bit number is prime (deterministically) Solution: (in C++) // Bases to test.
-
It’s the 5th annual April Cools!
-
In an earlier article, I covered the basic technique for performing matrix-vector multiplication in fully homomorphic encryption (FHE), known as the Halevi-Shoup diagonal method.
-
Polyhedral optimization is a tool used in compilers for optimizing loop nests.
-
On Monday, July 14th 2025, I hosted a mini-workshop on homomorphic encryption at Google’s Portland, Oregon office.
-
I work on homomorphic encryption (HE or FHE for “fully” homomorphic encryption) and I have written a lot about it on this blog (see the relevant tag).
-
I was inspired to browse some of Edsger Dijkstra’s essays today, and came across his speech, “Under the spell of Leibniz’s Dream”.
-
Editor’s note: This essay was originally published on Medium on 2016-03-05.
-
Last month I gave a talk on the HEIR compiler project at the FHE.org conference in Sofia, Bulgaria.
-
It’s April Cools!
-
My four-year-old son has declared 36 to be the best number.
-
A colleague of mine recently lent a hand implementing a polynomial approximation routine I could port to our compiler, though it wasn’t the method I was expecting.
-
Back in 2020, when I worked in the supply chain side of Google, I had a fun and impactful side project related to human-level explanations of linear programs.
-
I’ll be at the Joint Mathematics Meeting in Seattle (starting tomorrow).
-
The Hyperfixed Podcast had a lovely episode recently about tape measures.
-
In this living document, I will document reactions to uses of homomorphic encryption by members of the public.
-
In my little corner of the FHE world, things have been steadily heating up.
-
Editor’s note: This essay was originally published in 2019.
-
Welcome to the 233rd Carnival of Mathematics!
-
This article will explain how the blog is organized at a technical level, and show how I implemented various IndieWeb features.
-
Kristin Lauter and her colleagues at Facebook research recently announced a project to benchmark attacks against LWE.
-
This is a story about a failure to apply dynamic programming to a woodworking project.
-
In my recent overview of homomorphic encryption, I underemphasized the importance of data layout when working with arithmetic (SIMD-style) homomorphic encryption schemes.
-
In my recent overview of homomorphic encryption, I underemphasized the importance of data layout when working with arithmetic (SIMD-style) homomorphic encryption schemes.
-
This blog now accepts webmentions.
-
Table of Contents In this article I’ll show how to use PDLL, a tool for defining MLIR patterns, which itself is built with MLIR.
-
I’ve been upstreaming a bit of my compiler work to the MLIR project.
-
In this living document, I will list all production systems I’m aware of that use fully homomorphic encryption (FHE).
-
Ben Recht, a computer science professor at UC Berkeley, recently wrapped up a 3-month series of blog posts on Paul Meehl’s “Philosophical Psychology.”
-
A quick note: you can use C++11 templates to detect struct fields by name and type, and statically branch on them.
-
In my studies of the Remez algorithm, I learned about the barycentric Lagrange interpolation formula.
-
I added Twitter syndication, and because I have nothing to test it with I’ll share some random life updates.
-
Steven Clontz informed me of an effort he’s involved in called code4math.
-
POSSE stands for Publish (on your) Own Site, Syndicate Elsewhere.
-
I’ve been learning recently about how to approximate functions by low-degree polynomials.
-
About two years ago, I switched teams at Google to focus on fully homomorphic encryption (abbreviated FHE, or sometimes HE).
-
It’s April Cools!
-
There’s a family of tabletop games that are based directly on a nontrivial mathematics problem.
-
Table of Contents In this article we’ll implement a global optimization pass, and show how to use the dataflow analysis framework to verify the results of our optimization.
-
Table of Contents In the last article we lowered our custom poly dialect to standard MLIR dialects.
-
Table of Contents In previous articles we defined a dialect, and wrote various passes to optimize and canonicalize a program using that dialect.