Matrix multiplication of two encrypted matrices (CC-MM) is a key challenge for privacy-preserving machine learning applications. As modern machine learning models focus on scalability, fast CC-MM on large datasets is increasingly in demand. In this work, we present a CC-MM algorithm for large matrices. The algorithm consists of plaintext matrix multiplications (PP-MM) and ciphertext matrix transpose algorithms (C-MT). We propose a fast C-MT algorithm, which is computationally inexpensive compared to PP-MM. By leveraging high-performance BLAS libraries to optimize PP-MM, we implement large-scale CC-MM with substantial performance improvements. Furthermore, we propose lightweight algorithms, significantly reducing the key size from \(1\ 960\) MB to 1.57 MB for CC-MM with comparable efficiency. In a single-thread implementation, the C-MT algorithm takes 0.76 s to transpose a \(2\ 048\times 2\ 048\) encrypted matrix. The CC-MM algorithm requires 85.2 s to multiply two \(4\ 096\times 4\ 096\) encrypted matrices. For large matrices, our algorithm outperforms the state-of-the-art CC-MM method from Jiang-Kim-Lauter-Song [CCS’18] by a factor of over 800.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Ciphertext-Ciphertext Matrix Multiplication: Fast for Large Matrices

  • Jai Hyun Park

摘要

Matrix multiplication of two encrypted matrices (CC-MM) is a key challenge for privacy-preserving machine learning applications. As modern machine learning models focus on scalability, fast CC-MM on large datasets is increasingly in demand. In this work, we present a CC-MM algorithm for large matrices. The algorithm consists of plaintext matrix multiplications (PP-MM) and ciphertext matrix transpose algorithms (C-MT). We propose a fast C-MT algorithm, which is computationally inexpensive compared to PP-MM. By leveraging high-performance BLAS libraries to optimize PP-MM, we implement large-scale CC-MM with substantial performance improvements. Furthermore, we propose lightweight algorithms, significantly reducing the key size from \(1\ 960\) MB to 1.57 MB for CC-MM with comparable efficiency. In a single-thread implementation, the C-MT algorithm takes 0.76 s to transpose a \(2\ 048\times 2\ 048\) encrypted matrix. The CC-MM algorithm requires 85.2 s to multiply two \(4\ 096\times 4\ 096\) encrypted matrices. For large matrices, our algorithm outperforms the state-of-the-art CC-MM method from Jiang-Kim-Lauter-Song [CCS’18] by a factor of over 800.