Homomorphic encryption is a cryptographic paradigm allowing to compute on encrypted data, opening a wide range of applications in privacy-preserving data manipulation, notably in AI. Many of those applications require significant linear algebra computations (matrix x vector products, and matrix x matrix products). This central role of linear algebra computations goes far beyond homomorphic algebra and applies to most areas of scientific computing. This high versatility led, over time, to the development of a set of highly optimized routines, specified in 1979 under the name BLAS (basic linear algebra subroutines). Motivated both by the applicative importance of homomorphic linear algebra and the access to highly efficient implementations of cleartext linear algebra able to draw the most out of available hardware, we explore the connections between CKKS-based homomorphic linear algebra and floating-point plaintext linear algebra. The CKKS homomorphic encryption system is the most natural choice in this setting, as it natively handles real numbers and offers a large SIMD parallelism. We provide reductions for matrix-vector products, vector-vector products for moderate-sized to large matrices to their plaintext equivalents. Combined with BLAS, we demonstrate that the efficiency loss between CKKS-based encrypted square matrix multiplication and double-precision floating-point square matrix multiplication is a mere 4-12 factor, depending on the precise situation.
翻译:同态加密是一种允许在加密数据上进行计算的密码学范式,为隐私保护数据处理(尤其是在人工智能领域)开辟了广泛的应用前景。其中许多应用需要进行大量的线性代数计算(矩阵与向量乘积、矩阵与矩阵乘积)。线性代数计算的核心作用远超同态代数范畴,适用于科学计算的大多数领域。这种高度通用性促使人们逐步开发出一系列高度优化的程序,并于1979年以BLAS(基础线性代数子程序)为名进行规范。基于同态线性代数的应用重要性,以及能够充分利用现有硬件的明文线性代数高效实现的可获得性,我们探索了基于CKKS的同态线性代数与浮点明文线性代数之间的关联。CKKS同态加密系统是该场景下最自然的选择,因其原生支持实数运算并提供大规模SIMD并行能力。我们针对中大型矩阵的矩阵-向量乘积、向量-向量乘积运算,提供了将其归约为等效明文运算的方法。结合BLAS库,我们证明基于CKKS的加密方阵乘法与双精度浮点方阵乘法之间的效率损失仅为4-12倍(具体倍数取决于实际场景)。