The dramatic increase of data breaches in modern computing platforms has emphasized that access control is not sufficient to protect sensitive user data. Recent advances in cryptography allow end-to-end processing of encrypted data without the need for decryption using Fully Homomorphic Encryption (FHE). Such computation however, is still orders of magnitude slower than direct (unencrypted) computation. Depending on the underlying cryptographic scheme, FHE schemes can work natively either at bit-level using Boolean circuits, or over integers using modular arithmetic. Operations on integers are limited to addition/subtraction and multiplication. On the other hand, bit-level arithmetic is much more comprehensive allowing more operations, such as comparison and division. While modular arithmetic can emulate bit-level computation, there is a significant cost in performance. In this work, we propose a novel method, dubbed \emph{bridging}, that blends faster and restricted modular computation with slower and comprehensive bit-level computation, making them both usable within the same application and with the same cryptographic scheme instantiation. We introduce and open source C++ types representing the two distinct arithmetic modes, offering the possibility to convert from one to the other. Experimental results show that bridging modular and bit-level arithmetic computation can lead to 1-2 orders of magnitude performance improvement for tested synthetic benchmarks, as well as two real-world FHE applications: A URL denylisting case study, and a genotype imputation application. Bridging performance enhancement comes from two factors: 1) Reduced number of operations (especially ciphertext multiplications), and 2) Arithmetic circuits with smaller multiplicative depth, allowing more efficient encryption parameters with smaller polynomial degrees.
翻译:现代计算平台数据破损的急剧增加突出表明,访问控制不足以保护敏感的用户数据。最近密码学的进步使得加密数据的终端到终端处理无需使用全自动加密(FHE)来进行解密。然而,这种计算仍然比直接(未加密)计算慢得多。根据基本的加密计划,FHE计划可以使用布林电路在比位级别上自行操作,或者使用模块计算方法超过整数计算。多整数的操作仅限于添加/减缩和乘法。另一方面,比数级算法更全面得多,无需使用全自动解密(FHE),但模块算法仍然比直接(未加密)计算慢得多。根据基本的加密计划,FHE计划可以将快速和限制的模块计算与更慢和更慢的比值计算方法相结合。多比数级算法的计算参数仅限于添加/减量和倍增量和倍增量。我们介绍和开放源C+GLI(I)的多级计算方法,可以将两种不同的业绩升级操作模式转换为一种不同的计算结果,从一个不同的计算方法,从一个比级计算模型的升级到另一个版本。