{"id":60,"slug":"quantmrkt-pqc-federated-learning","name":"PQC-Secured Federated Learning Aggregation","author":"quantmrkt","description":"PQC-secured federated learning aggregation. ML-DSA signed gradient updates from clients, verifiable aggregation proofs from server. Pluggable aggregators: FedAvg, FedSum, FedMedian (robust), FedTrimmedMean. Byzantine-resilient. 31 tests passing.","tags":"[\"Federated Learning\",\"Aggregation\",\"ML-DSA\",\"Byzantine Fault Tolerance\",\"FedAvg\",\"FedMedian\",\"Healthcare\",\"Finance\"]","license":"Apache 2.0","framework":"Python","parameters":"N/A","downloads":0,"likes":0,"verified":1,"created_at":"2026-03-26 03:20:26","updated_at":"2026-03-26 16:38:54","source_url":"https://github.com/dyber-pqc/QuantaMrkt/tree/main/tools/pqc-federated-learning","source_platform":"github","hf_repo_id":"","ollama_name":"","category":"tool","latest_version":"1.0.0","version_count":1,"signature_count":3,"risk_level":"MEDIUM","risk_score":45,"versions":[{"id":60,"model_id":60,"version":"1.0.0","manifest_hash":"4EE3A377CAEDE436CE97","file_count":24,"total_size":80635,"r2_manifest_key":null,"created_at":"2026-03-26 03:20:35"}],"files":[{"id":6878,"version_id":60,"filename":"LICENSE","sha3_256_hash":"abdcf10f6588f1abfa23a55fbef23267a620b3c67695e93577af0a1d7f881640","size":11325},{"id":6879,"version_id":60,"filename":"README.md","sha3_256_hash":"5b756f085e59f1a40a33cb9c4595731a3fa302d5cd75308d67f442f87cbfdff4","size":11999},{"id":6880,"version_id":60,"filename":"examples/byzantine_client_rejected.py","sha3_256_hash":"14d5ba13a779f4d2f15e261863afb9f5a7347d6bcd13af1bcc7ddfe6b14780bb","size":2567},{"id":6881,"version_id":60,"filename":"examples/robust_median.py","sha3_256_hash":"377cc732af4fd4b9102abba6c1fe6ff8ca878f02c900394e0f80801da1ae59c5","size":2772},{"id":6882,"version_id":60,"filename":"examples/simple_fedavg.py","sha3_256_hash":"96e6c994eb7e0e65c7f6f72cc0641129ee0518f9bdbe428104c0b2d6b924642c","size":3434},{"id":6883,"version_id":60,"filename":"pyproject.toml","sha3_256_hash":"689c8ce1f96dbc95e42af0c706e3c09eb9acbc2f2197a88b0e18b71d5ccc8e8e","size":989},{"id":6884,"version_id":60,"filename":"src/pqc_federated_learning/__init__.py","sha3_256_hash":"e6ecad407a4785ea853a1d97bef9090d7ebbb37ca5d520638f391b6f33594ee9","size":1575},{"id":6885,"version_id":60,"filename":"src/pqc_federated_learning/aggregator.py","sha3_256_hash":"8babd2d945bf504d464a26f9fe022f1cde546edea19f226f9418992af652069f","size":6815},{"id":6886,"version_id":60,"filename":"src/pqc_federated_learning/aggregators/__init__.py","sha3_256_hash":"8d9b37dde98ceaa71045832c80ad8b8ac7ccdc0a3288db54e46c35bc75bc28fa","size":535},{"id":6887,"version_id":60,"filename":"src/pqc_federated_learning/aggregators/base.py","sha3_256_hash":"ad7931ad69787693dde8f02bc83accc10a26bdffd1dd6d25fb6e271e0e672ede","size":538},{"id":6888,"version_id":60,"filename":"src/pqc_federated_learning/aggregators/fedavg.py","sha3_256_hash":"15b4f01afdc398220f1b61de6a3d7e0403500cf905e8e9d34ad6bb53c593ab5c","size":1888},{"id":6889,"version_id":60,"filename":"src/pqc_federated_learning/aggregators/fedmedian.py","sha3_256_hash":"9a8081306de3daa7672b7355bcc34c6f2e1965be835d224ca36219de91b5046f","size":1471},{"id":6890,"version_id":60,"filename":"src/pqc_federated_learning/aggregators/fedsum.py","sha3_256_hash":"47d71fbca6cb97ee4e191795f63861113a47ac2e6adb1ccea52cc118bd6ec752","size":1568},{"id":6891,"version_id":60,"filename":"src/pqc_federated_learning/aggregators/fedtrimmed.py","sha3_256_hash":"1bf02bdf0e1873a8e170f31b7ba8acbfcdde7457fe9d7f3d48bc4b6c14384249","size":1838},{"id":6892,"version_id":60,"filename":"src/pqc_federated_learning/errors.py","sha3_256_hash":"e2883c378f364ab962708c2b21ea35c52635ca0b0e1a9827fd8320f7e4aa7e20","size":850},{"id":6893,"version_id":60,"filename":"src/pqc_federated_learning/signer.py","sha3_256_hash":"9a50b5430516b1fe4cbcd5be57a6d37a054b5e012a90b96fbd20737bcaee3d66","size":3607},{"id":6894,"version_id":60,"filename":"src/pqc_federated_learning/update.py","sha3_256_hash":"858e3c5672f97b3c7bdb69b1cee887cb725c5595989fd4b3e27a9d4af325b60f","size":4754},{"id":6895,"version_id":60,"filename":"tests/__init__.py","sha3_256_hash":"a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a","size":0},{"id":6896,"version_id":60,"filename":"tests/conftest.py","sha3_256_hash":"fd2b9660bc12441960a6e6c9030be7988455188327696dca2b7766a165f4f894","size":2113},{"id":6897,"version_id":60,"filename":"tests/test_aggregator.py","sha3_256_hash":"16b9e9e6392f7dba7d3d33e3c970609db5d4a8539f4f7c7b9f0dced10dca676b","size":5675},{"id":6898,"version_id":60,"filename":"tests/test_aggregators.py","sha3_256_hash":"200e0ed754a68150a684010f4a010eae172ed6af15b63c00b75b9fc1c9f3f6e6","size":5855},{"id":6899,"version_id":60,"filename":"tests/test_integration.py","sha3_256_hash":"5e06990cfedb4e6a53a8cf0bea0d94d159972cac75408dc544e4bc450cc959dc","size":2958},{"id":6900,"version_id":60,"filename":"tests/test_signer.py","sha3_256_hash":"f6470765d0899a1ea5f193c485debe8d62235d07727bad86bdf0a33450ab8f43","size":2586},{"id":6901,"version_id":60,"filename":"tests/test_update.py","sha3_256_hash":"fd0dffd8a1696ceff8ce43463d31cceda8fb4f3798371de027c7210fec430210","size":2923}],"signatures":[{"id":116,"version_id":60,"signer_did":"did:web:quantamrkt.com:tools:signing","algorithm":"ML-DSA-87","signature_hex":"a177889900441122","attestation_type":"creator","signed_at":"2026-03-25T11:05:00Z"},{"id":117,"version_id":60,"signer_did":"did:web:quantamrkt.com:verification:primary","algorithm":"ML-DSA-87","signature_hex":"b288990011552233","attestation_type":"registry","signed_at":"2026-03-25T11:06:00Z"},{"id":404,"version_id":60,"signer_did":"did:web:quantamrkt.com:chain:authority","algorithm":"ML-DSA-87","signature_hex":"7881e4ef601027ef0e7419266ce4bbb6be0bcf3824ebbd8ba4f17c6dfd8dc4aa1a7502d8bdc354e5791fd54aad2e33306a9babd47e594b04860f7d577c079f082f5fdb5ee1a9fdaef1a01bc8ee0d2d4456fa8c507a3129c17178ff96ab998417d3621eb2115d0d7fc4651bb29a9f99531bd4beb06b24b2095b212bc9a55ebffd0bce31fc186c72f621a5d413a54f105d2252f0e853e787a7d341ed19b054132665e5c046e174d8fa33383d91b5d8aa36998ca6d56500452a53faf33524fe8f61e31fc704d9ff1378f95681c5cc7450a211014558db13ab6ec99fad9750d5c6bbd87e785db18b69dd4c3ba847afe5688a299267032a907e1e6e8fd306d1e69279378b2590180bc21f57bc93825f7a8b411cf5a30065984ab95a50593b5d72ff7481184d15e81d3a978bb40d30a7524eb05fd5f44d8934e466773728fbd278729f3621a1a65754f356da3aeacb9c699e13408931e6d201cf7f379b9c639cceba229740368fb55f49b995e93c6c8dad4792afca77520d4b41ab242f6a36b814f54510a6486ba15f2c685f8155bb59e62811f49e91480a14a0d68cb2988afaf7dfaf943e79a4c6213f384b2b2c96dab75c9bcbe3be6cbb3a3d4539df1ff62aed3b8aa9c6ef2348759e4ab90c92f442095e289c9ca60230f7e6cdea81797f709b7f84506a64a1f63e4a4a35cdffcb950678792ee2ee77d829c41219bebb25d3c707573ded34b0978892ff7469a0b38e7a342599bf122666381a0d497c990c36464884b77c4e40d6ad063fddfc0086e1a426514d2c43f166e9ffbfab738de8b3b5b65dba0df75893462670c36b9b12dc41304b670445c941992da8ddd875d57d5cec9680fd9f4763d7e05e82e76bedfe6603d7a75fabafc976edaf1a405bb38de30c054af2c2c6c582bbae332320c0862f77358d9005cabd6a6b5a4364ab3bbf87df0bb4f8faedefb8ae62056071098627b5228c4e44c9c8957f0220dcd3031c8c01f0d1bc4da7f78a98c30eee6397ebef599fa1ed6f75ef07a2af655586febfc9441bb4cacff3c3cfda9679949cd31359e61a82abe40f033d043d81a6163e3c84d61568e6a99daf43d2b82091629f3c344c64b69163d085892732680e912d02f7b5d88ee1885ba5d4e44cce8f9d21a91198406488d053c4ad593c0c86d453908921e03127c76234a74ebbf9663f97391e98cf3ae029611ae2382bfc7f7ee1b86a185763a352b23e4903aa56772b8eaa7596a1360ceec897066e78f15f40ee75f0c1917e1be963aa3c4048fd23b46f44ce12f0de39b165e11d07ce9b43f9c5040e76e09251e7e40b497e10ded3f6c79629e89acb09730f1cdaa1fdc13390c7a47d7bfc7c1d83fcdf0617b92762f9bee50206f3744d0bdb850245d534d7eb32239253176ff1fd58efc4fdd64781716768ec839fb563fd2c3f9e14a0b9de82e65ef0e8e96fa06a5f4014b3b53121475c74f163c3d2a1fff5200bace847f632adaace5c73225322bc0f525b26d2ae90bba2af347034d8fad62971421dc9c1de3b16fc99a83c5e269cb896bf01d03aad0d807015d377419913940d27996786faf1a65c25fcb93f49a3110469f9acf078ed5d5eaf17f5797fee28185c424ed895fe9466411a4adbd96026351edc2fa61fd22e3fb625b3239687d37a9311407b8a44263f5c8678b456784f2bbc668b64f786ec6ef30f671f1c0948be824dec45d203b32192395b743ab5e683b81b7e6151bb70f5e241bedea4fdeff9f6d4f7872d21722fe0f7ded900cdca74549c8a598d6c124f6bee13c34f8576ac2f790b216a238879ed5c07ff7da56927e4b503fa596e73d5cff8d98925bdcdfb4883e662197d075a608ecd429aa4321a3f1f5060630ab93b54d080547b3ba05cbba40e7e94e576dce335145d2c2831e5bfd10679cb881fa28a7930b01ba4cd26b2142baa8cbaf278b9994b0e4565139eab548a18fcf2e8f6293677954b81d9e5c7098a875378761dcfbcf9fedd4e70cd55c95e2a7b37ae64c7ba79ba19c7c59325465d13e68009e2f747f25bf3f51f1ad15194c43fa738a7f04122028211d1f81a6a0ace448cdafeac13e97023925b21f129c88945f5dad67d8a84378e89fbae6d4505c50a7adf0df46a0e86a02b96096280615e5db389d4e5eca17d21e85c7a5eea60ec665245bc50931a56d402e8391aa071086eeff3dd4eb9fb5adfb7c768aa256cb54b1b1e8859f2eeaa42d7a351f073a471958fab0e53d8ad6b57bd8ca3987f31abf39c139ebbcb1c3f1dd9d634b39f3fdc90c39f03341b671efade6140bdf470be2ef1a230f6dcf8c9677428678d6302d7245934fc054a6b1285d08c9b86012d69f5d5005baff0816b719d42408bd5f927425a61f90e6e177344b8101987b9864d72cedbf9272ad8b9fa89c36d41770c7c798be668d534a9deddb210909a69dd0e35e6b6918b7588e53eb2acb934823a2bd52c1b67b4de03a22cbec4daa12f4df92f36e107d33afb2481c029484e360d366959253ae117e66257cec39cffbc10118ccb87d2ff724fb39dc4fc82e6b676edd150580f342a22027935f0401b10786fa7a026df94463d1fcf8874a7f458845be3db77a49a4ea1c2bbbb034c24431561ecde8b66e6bf13bf000627a9fa4dfcde59a807f35b3dbe32f7b089ae54928fc5a8bba9d6d0a605ca92f8d032cb7714beb2c30c6af4512c14960cadef8551f05ddaa34f71e8ea72fc71b3632f5abb2805d683938830c0c95e5c4044147d704dcf4247b27d8d59de3c7ed6045534d0b3c2bea0acf85ab2138ce4038e3239ba16b64a22d9209896de1a6ad994df61d8e8d951b765faae15072e429b9ea9b121ea74c597c298e13d8846ef7dfe1bb9f8f876c3abee51d149a2ed92c1653298cf861ac933b4794260fed66ff950f01ab3039f9a2f6e808d923e22613f042a39dadee20cbf16ab194202beccfb85e803bffa264b4645c8ba893fcc4f000d746251849db6c6a1779714517fcedb4bcd5c80b6308ab09cfc69cd739ae5ccf92983fa04ecbb0e81e7466d1167dbe1bfad61aab37367507b90650f2d6ad7c22bb019d317901cecd2288f636bebfa602a31f6ed8d97e2f8edf74e66a2f59e8c3c0bdc387f869e9b4a87b2098152c95b30828e8fc4c806e2d6e899960b51596c07635321a739d847ad67dcd1b282704b719c9de56ed77105aebf7983edd2a892bd0815567a1b9b768c3dda66ee96da90722526230b019371e78d0bb03f25dc00c696ccc073bd2c02a4b86ced819a06e2e56d6a83fa9f95de3468c8a5872e93d8c332a04fdf3ae52d438582385301c136f9be96e5584dc55338c4475a4d4a0b625da0864c4085ef10b1faabce7a9c19b08ce96f4d7d2418691d6d1a8b8605807892957420e8fce754da1c2599f1b6dcc71d5fdbd1df2add938b4dbaac7b57b38f342db54cb923e880ed4c8df6ed8ab2b88d0ec54ea665750e72282d05cfa647b29e3796c965132893ac93482cbe64b55b96c178487e4fe68a31aa1547f281feb4ec7e1fd9a60e600cbd0559298f37830e55c5eb20f405d070279ff2b293cbcf73f4b779391ed45e13c700cedef183eee210ea2b1e6466629ce65aff14e693efb51ac2c97f9e80d5e28c72eb818f8a35d79c5a0a57eb754d7ed28f2c07b017fe55bfbbdff493df85cac56a0a9d08637d3f58e914dc2c35b313cc0fbc10b37b6aba38bf085e345cc4c95ff6813a4f720fe913676495dfa374c2d1b484ea81740b382bbd9966f7c50c479ce4dceee563291819692aba2bb0a92073128e5e9a32d43c115169dac907b3631a517eacd551184cbc7c8544ff906210aa7d022f44ccc57aa88e22a3f341ce1f6fdec04f580c5e3258c2aa0cd1712c42a7c44d8cf22c69db808f6c0647afe8841a0c5598559c7d3aa72c02a6bf49f50728faca28e95165265ee745febdba130f48983e6e3a5f7f72428581ca0035049aa396bfa32b3763efe2f41746265fbd6d5e19aefd9b58f45b6e6ee2360abd9bcbd5b8d972a7a6ee79e120539ed1ccea832cf88fcba2d356b4e48cfe3d1570c65943122daee983973abbbd559a65877e4f6dbba23f65dc03406a9acce2ac7f66bfbebb9776dd652f638056621f006cfaef33247f020ab6689d84bee5cf6718680a8c3a7c671ff05649fbaf0166a50fbfb741e9354b7556b3320f09c9a563537721be1ab3588b8cbdbefa991ee4dfea55d93cc87c0070a1ab830a8585c09feb33c0a1656fa1461d6432208d06f768e77998a8e5b09af0f30ba1a6a7b3fa4f00614c07a7a3480596bdf2f8f91f8304d865fc1ba21a41684d4aa17b91a7c2f773a13c09b875be379b1c080743d63c2e406f7aaf651ae2107305ba8532bee1e9f07814bf4fd4d57f8723ff92fdef74fa493a463f39cb6730ba5746e620b65444b30b51722556879cd05f320b0382baa0e2badf3976fcf2ce124ccb99aa9d17837c0b09383342dbd418233f00f9546b7b43330712154a1a17f80701efe78b47ca8d5cd71d6ab0210f3ea009aa8bb0301bff062efbce845401b49b3a0328381d5c9a7f6119721eb83d6415bd207e98aee06edcd58055d99de636ad7490d4d58831906336a71410abbbc23fd8a0bfbab3adc3b3a48b78d7309373e5abc7c5830d1cf22c9d40727cc338a656d228322026d91a7fd212fdac067571df6c545ec811b4aded1213dd3333522b8599719af9cc9172da39ce6fff144c0bbefc4ee41597f582aa76b844c5ed19ff7e1d665ecca1e43ba61ef203af168d86966d8f38ad491d95f49b9ff4dcea102fbadb377a036d5e5b5e57c1646aa7a9b54587a7adc36563c73e2f6aac9c21f9fa6769c2838742cb74eceb16a9699914652724454873bb686133f010e508444ef555bf58af5fd18889efa2ff4d7c6d9053eb22e28c19ee698180350e676cb1cc9d12f2375d4fbef2834c4c921090ca28eaa41638ece23e55fe2cac86313c255818b34015b16051cb0a2e2ed3cd972e7d4a2551463c25e43e1cdfe683b0350c0fd3a9efdd6057fb7eda3bfe1bac37eabe52ed70b42c199d805b59477b6a9ef1f52a2532654cec4f358033cce1863f7443efe7f6001ca64c429aa1c8b5b1b01d523890a957adec11628313b390ae39f46f51e089d9e190882a514403144be0fb01a8fe805a0da8e0036e1b056484a2ec61d32aeb4c84179c9f54a20b9b6501d7edfcad04beeb481e099ecee0247eb66d5035453be7ae617910e76ad42de80652a487e518dc0b49b78da388ac8c8e561ac8384e8ddc4afd1bfe367afeb20705ca4e015ca3168e1c4ca69430e45fbe43bad532a8abbd3f152752defc0e36076e750287ad69070a75f6a38a2a193786d182ab271ea5747730bca94c12536a2287fd926b227aeab0d59d06fc974c6245f98c971a5fd6ff502370702423b83eddf381c32de55c56fec3f6ffd0ee4b013b3d72e385fe2e7518a8cbb433144de0d452dc46abc5e9ee81bd886718d2df5d13db89b44379e7b419938bd3d0e95497fef0c00b90c422fc5390781309126968cfd87c9bf9ffb50ed7e970d853149707c67444ca2f01036f9d0989a634d8c3fcee90e7171c2566a2a16ff128be5be8f7c0953f39c74ce5296dd336b96670930f4c88de84f0868974315dcefd7495112a80f7bf5469706aa6d00e28d8c2e272085343ececae0254d392e3b36a90553975babab7598dd30eff5533354b4e5a8c3863d13b4d6cd320eb0917b4e855a24a88871fa83ee5c2e9ac452174c51214037ff648848cc73f359a232e208df58104dbda61c871eb10700c718785bef3d439a2689f07aca63ba99a55c23f9e3de35c6facb8ba32c752669b95a9b1f547d9d0cf2cb4b059f5f52d6dc13f27adc64e1c8bbab42a013142f9f33e3d3a280a30ca892851255dbc790100cda6d1be681343ab03c29b07142c11f4815064fa37b1920174136dcb216ddbfd87bc34c5d2c22dfd030b18eba0a209887ab2905d107219bc8b20f197d68b8aafd3c31b098163386fac69b072709d5ba21c4c110b9a3c2ecaa3f05ff54e24b4b89ade2bdc201a38b6910659af83ad737b22f9fcd8c9882c768910d980bab499d0b89820e6f943125546ebdab7386fe7c0ad594585013635d43004c79c53a55cff38dc7166e49cf425ea67d8afa8c26770e9cd77890aa67121487972c9d9a5102d3c420120e44ebcddcbb3494b4e0ae8613c9899980aed242cfb8ecd6f4ed5ad38dd01475ad3cfa2d830cd7cb777025b6bc78984c30ba0c7ec68ab0118c507a898f98967af021a7b6c4a7a06907929bcdbe71003e0a73960b352718065661121edcb7d34cd563cf69e71b62dc6b91eef4c4869914b00456d92a3f3814953d8b1355680ba7487a696d1263d994460a4e5343c9bd34f900368d4328f00aefc146387c5041daa8c0f90ea1cfbc6428823e6e9e1675d4568517102b751fe575a757ea7b9d2e0346da2d22e3d405093b6d8e4698289a2acccdefe030b2a425ba9afb4cedc0c3e3f6291c1cff11b284fb6bcc71362c1ce00000000000000000000000000000000000000080c141c262e3438","attestation_type":"pqc_registry","signed_at":"2026-03-26 16:38:54"}],"hndl":{"id":60,"model_id":60,"risk_level":"MEDIUM","risk_score":45,"shelf_life_years":5,"sensitivity":"internal","recommendation":"Monitor quantum developments. Tool has moderate HNDL exposure.","assessed_at":"2026-03-26 03:20:50"}}