Torq
Torque for the torus.
A TFHE-based fully homomorphic encryption engine with novel bootstrapping: under one millisecond per bootstrap on Apple Silicon, at 128-bit, post-quantum security. GPU-class FHE performance, on a CPU.
The bootstrap was the bottleneck. Now it isn't.
Bootstrapping, the noise-refresh step that lets computation continue indefinitely, has always been FHE's dominant cost. Torq's novel bootstrapping method brings it under a millisecond on ordinary Apple Silicon CPUs.
on M2 / M3 / M4
practical fhEVM territory
no data-center dependency
CPU speeds that used to need a GPU
State-of-the-art TFHE implementations reach sub-millisecond bootstrapping only with dedicated GPU acceleration. Torq reaches it on the laptop in front of you.
Illustrative comparison. Existing TFHE libraries achieve sub-millisecond-class bootstrapping only on GPU hardware; on CPU they run at a multiple of Torq's latency.
Inside Torq
Built on the TFHE scheme: fast bootstrapped binary and integer arithmetic over the torus, with bootstrapping that evaluates a lookup table during every noise refresh.
A ground-up reformulation of the bootstrapping procedure, engineered for the wide SIMD units and unified memory architecture of Apple Silicon. This is where the order-of-magnitude CPU speedup comes from.
Security rests on lattice problems, the same family behind NIST's post-quantum standards, with parameter sets targeting 128-bit security. The speed costs nothing in hardness: ciphertexts stay safe against classical and quantum adversaries alike.
Memory-safe, dependency-light, and embeddable, from server-side encrypted compute to on-device private applications. No FFI to C libraries in the hot path.
At roughly 1000 transactions per second of homomorphic throughput, Torq makes confidential smart contracts and FHE rollups practical on commodity hardware. Validators don't need GPU farms.
A clean Rust API
Encrypt, compute, decrypt. Torq keeps the FHE machinery (keys, noise, bootstrapping) behind an API that feels like ordinary Rust.
no PhD required ✳
Illustrative API, subject to change before release.
use torq::prelude::*;
fn main() -> torq::Result<()> {
let (client_key, server_key) = torq::keygen(Params::default())?;
// Encrypt on the client…
let a = client_key.encrypt(42u8)?;
let b = client_key.encrypt(69u8)?;
// …compute blind on the server (bootstraps in < 1 ms)…
let sum = server_key.add(&a, &b)?;
// …decrypt on the client.
assert_eq!(client_key.decrypt(&sum)?, 111u8);
Ok(())
}
What people will build with it
Confidential smart contracts
Encrypted balances, private auctions, sealed-bid MEV protection: fhEVM-style chains at ~1000 TPS without GPU validator requirements.
Confidential inference
Run models over encrypted inputs so users never expose their data, a building block toward our verifiable-inference research.
Encrypted data pipelines
Analytics and joins across data sets that regulation or competition says can never be pooled in plaintext.
Torq early access
We're onboarding a small group of design partners ahead of public release. Tell us what you want to build.
Request early access