Go 1.25.5 (released 2025-12-02) includes security fixes to crypto/x509
and bug fixes to mime and os packages. Older Go versions are no longer
tested to simplify maintenance.
Major implementation of GPU-accelerated TFHE operations:
GPU Kernels:
- NTT/INTT: Cooley-Tukey and Gentleman-Sande algorithms with 128-bit
modular arithmetic using math/bits.Mul64
- External Product: Full RGSW × RLWE multiplication with decomposition
- Blind Rotation: Batch processing with parallel CMux gates
- CMux: Controlled multiplexer using external product
- Sample Extraction: LWE extraction from RLWE without decryption
- Key Switching: Dimension reduction for bootstrapping
Multi-GPU Support:
- BSK Cache: LRU cache with P2P/NVLink sharing between GPUs
- Scheduler: Work queue per GPU with batch aggregation by gate type
- Load Balancing: Work stealing when queue imbalance detected
- Future: Async result handling with Wait()/Ready()
Architecture:
- Structure-of-Arrays layout for coalesced GPU memory access
- Wrapper functions for MLX operations (CPU fallback when CGO disabled)
- Proper stub files for non-GPU platforms
Files added: blind_rotate.go, cmux.go, bsk_cache.go, scheduler.go,
memory.go, and corresponding _stub.go and _test.go files
Performance: NTT ~26µs single, ~24µs/poly batched (8-poly batch)
- Merged tfhe-wasm into sdk/wasm/
- SDK now includes: c, python, rust, typescript, wasm
- Removed duplicate tfhe-wasm and tfhe-wasm-node repos
- Various optimizations and test improvements
BSD-3-Clause-Research License: Pure Go TFHE implementation with
patent-pending innovations including deterministic FHE for blockchain
consensus, transaction-batch amortized bootstrapping, and parallel
bootstrapping with work-stealing scheduler.