← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 1 urmăritor
Articole: 204
  1. Table of Contents This is part of a tutorial series on the CKKS homomorphic encryption scheme.

  2. CKKS — Addition and Multiplication

    Table of Contents This is part of a tutorial series on the CKKS homomorphic encryption scheme.

  3. A quick update on our homomorphic encryption compiler HEIR: our partners at Belfort have a hotword detector in FHE that runs in 350ms.

  4. CKKS — Encryption and Decryption

    Table of Contents This is part of a tutorial series on the CKKS homomorphic encryption scheme.

  5. On 2026-08-14 I published an article on the Google Security blog with an update on HEIR, our homomorphic encryption (HE) compiler.

  6. More whimsical OEIS sequences

    Here are some more whimsical OEIS sequences I came across.

  7. Table of Contents In this tutorial series, I will introduce the CKKS homomorphic encryption scheme from the ground up, in rather intricate detail.

  8. I went hunting for references to the OEIS in open source code, and found some weird ones.

  9. 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).

  10. Problem: Determine if a 32-bit number is prime (deterministically) Solution: (in C++) // Bases to test.

  11. It’s the 5th annual April Cools!

  12. 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.

  13. Integer Set Library (ISL) - A Primer

    Polyhedral optimization is a tool used in compilers for optimizing loop nests.

  14. FHE@PDX 2025

    On Monday, July 14th 2025, I hosted a mini-workshop on homomorphic encryption at Google’s Portland, Oregon office.

  15. Frequently Asked Questions about FHE

    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).

  16. I was inspired to browse some of Edsger Dijkstra’s essays today, and came across his speech, “Under the spell of Leibniz’s Dream”.

  17. My Graduate Career in Math

    Editor’s note: This essay was originally published on Medium on 2016-03-05.

  18. HEIR talk at FHE.org

    Last month I gave a talk on the HEIR compiler project at the FHE.org conference in Sofia, Bulgaria.

  19. Does Baby Have Hat

    It’s April Cools!

  20. My four-year-old son has declared 36 to be the best number.

  21. 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.

  22. Explainable Linear Programs

    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.

  23. I'll be at the JMM

    I’ll be at the Joint Mathematics Meeting in Seattle (starting tomorrow).

  24. Epiphanies from Tape Measures

    The Hyperfixed Podcast had a lovely episode recently about tape measures.

  25. In this living document, I will document reactions to uses of homomorphic encryption by members of the public.

  26. The last few months in HEIR

    In my little corner of the FHE world, things have been steadily heating up.

  27. Attention spans for math and stories

    Editor’s note: This essay was originally published in 2019.

  28. Carnival of Mathematics #233

    Welcome to the 233rd Carnival of Mathematics!

  29. How This Blog Does IndieWeb

    This article will explain how the blog is organized at a technical level, and show how I implemented various IndieWeb features.

  30. LWE Attack Benchmarking Project

    Kristin Lauter and her colleagues at Facebook research recently announced a project to benchmark attacks against LWE.

  31. Dynamic Programming Fail

    This is a story about a failure to apply dynamic programming to a woodworking project.

  32. In my recent overview of homomorphic encryption, I underemphasized the importance of data layout when working with arithmetic (SIMD-style) homomorphic encryption schemes.

  33. Shift Networks

    In my recent overview of homomorphic encryption, I underemphasized the importance of data layout when working with arithmetic (SIMD-style) homomorphic encryption schemes.

  34. Webmentions and POSSE improvements

    This blog now accepts webmentions.

  35. MLIR — Defining Patterns with PDLL

    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.

  36. I’ve been upstreaming a bit of my compiler work to the MLIR project.

  37. In this living document, I will list all production systems I’m aware of that use fully homomorphic encryption (FHE).

  38. 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.”

  39. A quick note: you can use C++11 templates to detect struct fields by name and type, and statically branch on them.

  40. Barycentric Lagrange Interpolation

    In my studies of the Remez algorithm, I learned about the barycentric Lagrange interpolation formula.

  41. Random life updates

    I added Twitter syndication, and because I have nothing to test it with I’ll share some random life updates.

  42. Math databases

    Steven Clontz informed me of an effort he’s involved in called code4math.

  43. Experiments with POSSE

    POSSE stands for Publish (on your) Own Site, Syndicate Elsewhere.

  44. Remez and function approximations

    I’ve been learning recently about how to approximate functions by low-degree polynomials.

  45. About two years ago, I switched teams at Google to focus on fully homomorphic encryption (abbreviated FHE, or sometimes HE).

  46. Unusual Tips for Parenting Toddlers

    It’s April Cools!

  47. Tabletop Games Based on Math Problems

    There’s a family of tabletop games that are based directly on a nontrivial mathematics problem.

  48. 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.

  49. MLIR — Lowering through LLVM

    Table of Contents In the last article we lowered our custom poly dialect to standard MLIR dialects.

  50. MLIR — Dialect Conversion

    Table of Contents In previous articles we defined a dialect, and wrote various passes to optimize and canonicalize a program using that dialect.