Files
zeekay f4ee7a0525 Publish under the org, not a person
Bylines, paper authorship, correspondence addresses and the founder blurb under
each post named an individual. They name the organisation that published the
work instead: the brand on posts and pages, the research byline on papers, and
research@ in place of a personal address. Both are what these repositories
already used elsewhere — nothing new was coined.

Co-authors are untouched. Where a paper named someone else alongside, they stay
named; only the one byline changed. Bibliography entries, running heads,
PDF metadata and affiliations move with it, so a citation still resolves to
whoever the cited paper names.

Sample and fixture data uses the placeholder name these tests already use
elsewhere, so no assertion changed meaning.
2026-09-01 08:58:10 -07:00

79 lines
3.2 KiB
TeX

\documentclass[11pt,a4paper]{article}
\usepackage{../shared/luxcover}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{xcolor}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage{tikz}
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{definition}{Definition}[section]
\newtheorem{remark}{Remark}[section]
\title{\textbf{Torus Threshold Fully Homomorphic Encryption:\\Boolean Circuits on Encrypted Data\\with Distributed Decryption}}
\author{
Lux Research\thanks{Corresponding author: [email protected]}\\
\textit{Lux Industries, Inc.}\\
\texttt{[email protected]}
}
\date{2025}
\begin{document}
\luxcoverpage
\begin{abstract}
We present a threshold variant of Torus Fully Homomorphic Encryption (TFHE) that enables
evaluation of arbitrary boolean circuits on encrypted bits with distributed decryption
across $t$-of-$n$ parties. The scheme encrypts individual bits as Learning With Errors
(LWE) ciphertexts over the torus $\mathbb{T} = \mathbb{R}/\mathbb{Z}$, performs gate
evaluation through programmable bootstrapping (blind rotation), and requires no interaction
between parties during computation---only the decryption phase requires threshold
cooperation.
We describe the core TFHE gate evaluation pipeline: (1) LWE encryption of a single bit
with noise parameter $\sigma$, (2) blind rotation using RGSW ciphertexts of the secret
key bits to evaluate a lookup table encoding the gate function, (3) sample extraction
and modulus switching to produce a fresh LWE ciphertext of the gate output, and
(4) the CMPCOMBINE optimization that fuses comparison and bootstrap operations to evaluate
multi-bit comparisons in a single bootstrapping pass.
We formalize the threshold decryption protocol: each party holds a share of the LWE
secret key $\mathbf{s}$, computes a partial decryption $d_i = \langle \mathbf{c}, \mathbf{s}_i \rangle$,
and the combiner reconstructs the plaintext from $t$ partial decryptions. We prove that
threshold TFHE achieves IND-CPA security under the LWE assumption with the same parameters
as standard TFHE (N=1024, $q \approx 2^{27}$, providing 128-bit security).
The implementation builds on the \texttt{luxfi/lattice} library for ring operations
and supports all 9 boolean gates (AND, OR, XOR, NOT, NAND, NOR, XNOR, MUX, MAJORITY).
Benchmarks show 12ms per bootstrapped gate on a single core, enabling EVM-level boolean
circuit evaluation on encrypted data with practical performance.
\end{abstract}
\tableofcontents
\newpage
%% -----------------------------------------------------------------------
%% 1. INTRODUCTION
%% -----------------------------------------------------------------------
\input{sections/01-introduction}
\input{sections/02-tfhe-preliminaries}
\input{sections/03-boolean-gate-evaluation}
\input{sections/04-threshold-decryption}
\input{sections/05-parameter-selection}
\input{sections/06-fhe-vm-integration}
\input{sections/07-empirical-evaluation}
\input{sections/99-conclusion}
\end{document}