Homomorphic Encryption (HE) is one of the most promising post-quantum cryptographic schemes that enable privacy-preserving computation on servers. However, noise accumulates as we perform operations on HE-encrypted data, restricting the number of possible operations. Fully HE (FHE) removes this restriction by introducing the bootstrapping operation, which refreshes the data; however, FHE schemes are highly memory-bound. Bootstrapping, in particular, requires loading GBs of evaluation keys and plaintexts from off-chip memory, which makes FHE acceleration fundamentally bottlenecked by the off-chip memory bandwidth. In this paper, we propose ARK, an Accelerator for FHE with Runtime data generation and inter-operation Key reuse. ARK enables practical FHE workloads with a novel algorithm-architecture co-design to accelerate bootstrapping. We first eliminate the off-chip memory bandwidth bottleneck through runtime data generation and inter-operation key reuse. This approach enables ARK to fully exploit on-chip memory by substantially reducing the size of the working set. On top of such algorithmic enhancements, we build ARK microarchitecture that minimizes on-chip data movement through an efficient, alternating data distribution policy based on the data access patterns and a streamlined dataflow organization of the tailored functional units -- including base conversion, number-theoretic transform, and automorphism units. Overall, our co-design effectively handles the heavy computation and data movement overheads of FHE, drastically reducing the cost of HE operations, including bootstrapping.
翻译:智能加密(HE)是最有希望的后QQ型加密(HE)计划之一,它使得服务器上能够进行隐私保存计算。然而,随着我们执行高精度加密数据操作,噪音会累积起来,限制可能的操作数量。完全HE(FHE)通过引入靴式操作来取消这一限制,这可以更新数据;然而,FHE计划具有高度的内存性。特别是,启动特别需要从离芯存储器中装入评价键和平文本的GB,这使得高精度加速基本上被离芯内存带带宽卡住。在本文件中,我们提议用运行时间数据生成和相互配合键再利用的自动加密数据加速加速加速操作。ARK(AHE)通过新的算式结构共同设计来完成实用的FHE工作量,我们首先通过运行时间数据生成和内部重精度键再利用来消除离子存储带宽带宽带宽的瓶颈。ARK(A)通过大幅降低离层内存的离层存储器操作速度, 包括快速转换的运行基数据转换,通过数据流流流数据转换,通过数据流的不断变压数据转换,通过数据转换,在上的数据流中的数据流中,通过数据流中的数据流中的数据流中的数据流中的数据流,通过数据流计算,通过数据流中的数据流计算,通过数据流的自动递增压式计算,通过数据流,通过数据流,通过数据流来进行数据流进行数据转换。