{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/rflpa-a-robust-federated-learning-framework","title":"RFLPA: A Robust Federated Learning Framework against Poisoning Attacks with Secure Aggregation","arxiv_id":"2405.15182","date":"2024-05-24","proceeding":null,"authors":["Peihua Mai","Ran Yan","Yan Pang"],"abstract":"Federated learning (FL) allows multiple devices to train a model collaboratively without sharing their data. Despite its benefits, FL is vulnerable to privacy leakage and poisoning attacks. To address the privacy concern, secure aggregation (SecAgg) is often used to obtain the aggregation of gradients on sever without inspecting individual user updates. Unfortunately, existing defense strategies against poisoning attacks rely on the analysis of local updates in plaintext, making them incompatible with SecAgg. To reconcile the conflicts, we propose a robust federated learning framework against poisoning attacks (RFLPA) based on SecAgg protocol. Our framework computes the cosine similarity between local updates and server updates to conduct robust aggregation. Furthermore, we leverage verifiable packed Shamir secret sharing to achieve reduced communication cost of $O(M+N)$ per user, and design a novel dot product aggregation algorithm to resolve the issue of increased information leakage. Our experimental results show that RFLPA significantly reduces communication and computation overhead by over $75\\%$ compared to the state-of-the-art secret sharing method, BREA, while maintaining competitive accuracy.","url_abs":"https://arxiv.org/abs/2405.15182v2","url_pdf":"https://arxiv.org/pdf/2405.15182v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"rflpa-a-robust-federated-learning-framework","repo_url":"https://github.com/nusioraprivacy/rflpa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.15182","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.15182"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/NusIoraPrivacy/RFLPA","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nusioraprivacy/rflpa","reach":{"status":"ok"}}],"summary":{"ran_honours":4,"ran":2,"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":8,"samples":[{"code_sha256_prefix":"dd10a672765762a0","entry":"identitymatrix","repo":"nusioraprivacy/rflpa","repo_kind":"official","path":"utils/crypto_utils.py","file_url":"https://github.com/nusioraprivacy/rflpa/blob/HEAD/utils/crypto_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd10a672765762a0"}},{"code_sha256_prefix":"2bc4e9226bc474a4","entry":"generate_A","repo":"NusIoraPrivacy/RFLPA","repo_kind":"official","path":"utils/attack_utils.py","file_url":"https://github.com/NusIoraPrivacy/RFLPA/blob/HEAD/utils/attack_utils.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2bc4e9226bc474a4"}},{"code_sha256_prefix":"bdc6248e2318b5e1","entry":"generate_T","repo":"NusIoraPrivacy/RFLPA","repo_kind":"official","path":"utils/attack_utils.py","file_url":"https://github.com/NusIoraPrivacy/RFLPA/blob/HEAD/utils/attack_utils.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bdc6248e2318b5e1"}},{"code_sha256_prefix":"9186b51e0e017334","entry":"iid_partition","repo":"NusIoraPrivacy/RFLPA","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/NusIoraPrivacy/RFLPA/blob/HEAD/utils/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9186b51e0e017334"}},{"code_sha256_prefix":"c016c8036f5ce167","entry":"make_random_shares","repo":"nusioraprivacy/rflpa","repo_kind":"official","path":"utils/crypto_utils.py","file_url":"https://github.com/nusioraprivacy/rflpa/blob/HEAD/utils/crypto_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c016c8036f5ce167"}},{"code_sha256_prefix":"e2e4f12c8f12ccf9","entry":"non_iid_partition","repo":"NusIoraPrivacy/RFLPA","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/NusIoraPrivacy/RFLPA/blob/HEAD/utils/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e2e4f12c8f12ccf9"}},{"code_sha256_prefix":"9d4a6861f6edf824","entry":"relative_err","repo":"NusIoraPrivacy/RFLPA","repo_kind":"official","path":"utils/attack_utils.py","file_url":"https://github.com/NusIoraPrivacy/RFLPA/blob/HEAD/utils/attack_utils.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9d4a6861f6edf824"}},{"code_sha256_prefix":"2b8318c9b2f3a840","entry":"get_dataset","repo":"NusIoraPrivacy/RFLPA","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/NusIoraPrivacy/RFLPA/blob/HEAD/utils/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2b8318c9b2f3a840"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}