EncCluster: Scalable Functional Encryption in Federated Learning through Weight Clustering and Probabilistic Filters
<|reference_start|>EncCluster: Scalable Functional Encryption in Federated Learning through Weight Clustering and Probabilistic Filters: Federated Learning (FL) enables model training across decentralized devices by communicating solely local model updates to an aggregation server. Although such limited data sharing makes FL more secure than centralized approached, FL remains vulnerable to inference attacks during model update transmissions. Existing secure aggregation approaches rely on differential privacy or cryptographic schemes like Functional Encryption (FE) to safeguard individual client data. However, such strategies can reduce performance or introduce unacceptable computational and communication overheads on clients running on edge devices with limited resources. In this work, we present EncCluster, a novel method that integrates model compression through weight clustering with recent decentralized FE and privacy-enhancing data encoding using probabilistic filters to deliver strong privacy guarantees in FL without affecting model performance or adding unnecessary burdens to clients. We performed a comprehensive evaluation, spanning various datasets and architectures, to demonstrate EncCluster's scalability across encryption levels. Our findings reveal that EncCluster significantly reduces communication costs - below even conventional FedAvg - and accelerates encryption by more than four times over all baselines; at the same time, it maintains high model accuracy and enhanced privacy assurances.<|reference_end|>
@article{tsouvalas2024enccluster:,
    title={EncCluster: Scalable Functional Encryption in Federated Learning through
  Weight Clustering and Probabilistic Filters},
    author={Vasileios Tsouvalas, Samaneh Mohammadi, Ali Balador, Tanir Ozcelebi,
  Francesco Flammini, Nirvana Meratnia},
    journal={arXiv preprint arXiv:2406.09152},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.09152},
    primaryClass={cs.CR cs.DC cs.LG}
}