Efficient Batch Homomorphic Encryption for Vertically Federated XGBoost
  More and more orgainizations and institutions make efforts on using external
data to improve the performance of AI services. To address the data privacy and
security concerns, federated learning has attracted increasing attention from
both academia and industry to securely construct AI models across multiple
isolated data providers. In this paper, we studied the efficiency problem of
adapting widely used XGBoost model in real-world applications to vertical
federated learning setting. State-of-the-art vertical federated XGBoost
frameworks requires large number of encryption operations and ciphertext
transmissions, which makes the model training much less efficient than training
XGBoost models locally. To bridge this gap, we proposed a novel batch
homomorphic encryption method to cut the cost of encryption-related computation
and transmission in nearly half. This is achieved by encoding the first-order
derivative and the second-order derivative into a single number for encryption,
ciphertext transmission, and homomorphic addition operations. The sum of
multiple first-order derivatives and second-order derivatives can be
simultaneously decoded from the sum of encoded values. We are motivated by the
batch idea in the work of BatchCrypt for horizontal federated learning, and
design a novel batch method to address the limitations of allowing quite few
number of negative numbers. The encode procedure of the proposed batch method
consists of four steps, including shifting, truncating, quantizing and
batching, while the decoding procedure consists of de-quantization and shifting
back. The advantages of our method are demonstrated through theoretical
analysis and extensive numerical experiments.
