Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
GhostFaceMPC — MP-SPDZ में प्रतिकृत गुप्त साझाकरण का उपयोग करते हुए गोपनीयता-संरक्षण करने वाली फेस रिकग्निशन का संदर्भ कार्यान्वयन, जिसमें क्वांटाइज़्ड GhostFaceNet इन्फरेंस, बेंचमार्क और QAT टूलिंग शामिल है। | Kitploit
उपकरण/GitHubGitHub/crypto-unict/ghostfacempc
क्रिप्टोग्राफीगोपनीयतामशीन लर्निंगपेपर और शोधलर्निंग और शिक्षा
GitHubcrypto-unict/ghostfacempc

GhostFaceMPC

MP-SPDZ में प्रतिकृत गुप्त साझाकरण का उपयोग करते हुए गोपनीयता-संरक्षण करने वाली फेस रिकग्निशन का संदर्भ कार्यान्वयन, जिसमें क्वांटाइज़्ड GhostFaceNet इन्फरेंस, बेंचमार्क और QAT टूलिंग शामिल है।

रिपॉजिटरी देखें
1548 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

GhostFaceMPC: मल्टी-पार्टी कम्प्यूटेशन के साथ गोपनीयता-संरक्षण करने वाली फेस रिकग्निशन

GhostFaceMPC: Privacy-Preserving Face Recognition with Multi-Party Computation (Davide Carnemolla, Dario Catalano, Mario Di Raimondo — University of Catania) का आधिकारिक कार्यान्वयन। पेपर: Cryptology ePrint Archive, Paper 2026/2499।

GhostFaceMPC, GhostFaceNetV1 (चौड़ाई 1.3, स्ट्राइड 1, ArcFace हेड, MS1MV3 पर प्रशिक्षित) के साथ तीन सर्वरों के बीच MP-SPDZ में replicated secret sharing का उपयोग करके फेस रिकग्निशन चलाता है।

  • क्लाइंट संरेखित 112×112 चेहरे को गुप्त रूप से साझा करता है: यह स्वयं replicated sharing उत्पन्न करता है, इसलिए सर्वर बिना कुछ पुनः-साझा किए अपने जोड़े लोड कर लेते हैं। कोई भी सर्वर कभी छवि, किसी एक्टिवेशन, एम्बेडिंग या नामांकित डेटाबेस को नहीं देखता।
  • मॉडल पैरामीटर सार्वजनिक हैं, इसलिए प्रत्येक लीनियर लेयर प्रति आउटपुट एक निश्चित-बिंदु रिडक्शन के साथ स्थानीय secret-by-public अंकगणित है।
  • मॉडल को 32-बिट रिंग (6 भिन्नात्मक बिट्स, कर्नेल के लिए 9) में उसी सटीक अंकगणित पर quantization-aware training द्वारा क्वांटाइज़ किया गया है जिसे सर्वर निष्पादित करते हैं।
  • यह दो सुरक्षा प्रोफ़ाइल का समर्थन करता है: semi-honest (replicated-ring-party) और abort के साथ malicious (ps-rep-ring-party)।
  • प्रत्येक अनुरोध को एक offline चरण और एक online चरण में विभाजित किया जाता है। offline चरण इनपुट-स्वतंत्र प्रीप्रोसेसिंग उत्पन्न करता है। online चरण स्वयं इन्फ़रेंस है, जिसके बाद 1:1 सत्यापन स्कोर या 1:N क्लोज़्ड-सेट पहचान होती है। कोई भी चरण कुछ भी प्रकट नहीं करता।

यह रिपॉज़िटरी पेपर के प्रयोगों को पुनः उत्पन्न करने के लिए आवश्यक कोड को ठीक उसी रूप में समाहित करती है।

@misc{cryptoeprint:2026/2499,
      author = {Davide Carnemolla and Dario Catalano and Mario Di Raimondo},
      title = {{GhostFaceMPC}: Privacy-Preserving Face Recognition with Multi-Party Computation},
      howpublished = {Cryptology {ePrint} Archive, Paper 2026/2499},
      year = {2026},
      url = {https://eprint.iacr.org/2026/2499}
}

विषय-सूची

पथयह क्या है
src/ghostmpc/Python पैकेज और ghostmpc कमांड लाइन
src/ghostmpc/codegen/मॉडल मैनिफ़ेस्ट से MP-SPDZ प्रोग्राम तक का कंपाइलर
src/ghostmpc/eval/क्लियर-टेक्स्ट रिंग ऑरेकल (MPC प्रोग्राम के साथ बिट-एग्ज़ैक्ट) और सटीकता मूल्यांकन
src/ghostmpc/benchmark/तीन-पक्षीय बेंचमार्क हार्नेस और एम्युलेटेड नेटवर्क
src/ghostmpc/training/रिंग-फेथफुल फ़ॉरवर्ड पास पर क्वांटाइज़ेशन-अवेयर ट्रेनिंग
third_party/patches/वे वर्चुअल-मशीन निर्देश जो यह कार्य MP-SPDZ में जोड़ता है
baselines/बेसलाइन: TensorFlow प्लेनटेक्स्ट, साधारण MP-SPDZ, EzPC/Porthos
run_experiments.shएक स्क्रिप्ट जो पेपर के हर प्रयोग को चलाती है
scripts/सेटअप, रूटलेस नेटवर्क एम्युलेशन, तालिका संग्रह
tests/यूनिट टेस्ट (pytest)

1. आवश्यकताएँ

  • मशीन। x86-64 पर Linux। पेपर में 32-कोर VM (Intel Xeon Gold 6238R) का उपयोग किया गया था और प्रति पक्ष 8 थ्रेड चलाए जाते हैं। सभी तीन सर्वर एक ही होस्ट पर चलते हैं।

  • Python। Python ≥ 3.10 (3.11 के साथ परीक्षित)।

  • MP-SPDZ बिल्ड निर्भरताएँ (अपस्ट्रीम सूची):

    sudo apt-get install automake build-essential clang cmake git libboost-dev \
        libboost-filesystem-dev libboost-iostreams-dev libboost-thread-dev \
        libgmp-dev libntl-dev libsodium-dev libssl-dev libtool python3 python3-venv
    
  • LAN/WAN एमुलेशन। इसके लिए iproute2 (ip, tc), iputils-ping, unshare (util-linux) और unprivileged user namespaces की आवश्यकता होती है। स्क्रिप्ट को root की आवश्यकता नहीं है। Debian/Ubuntu पर: sudo sysctl kernel.unprivileged_userns_clone=1।

  • केवल Porthos baseline।

    • libboost-system-dev
    • AES-NI वाला CPU
    • opam के माध्यम से OCaml 4.14, साथ में opam install ocamlbuild menhir ocamlfind stdint

2. सेटअप

git clone --recursive https://github.com/crypto-unict/ghostfacempc.git
cd ghostfacempc
scripts/setup.sh

scripts/setup.sh चार काम करता है:

  1. .venv बनाता है और पैकेज इंस्टॉल करता है। यह tensorflow-cpu, Pillow, onnx, onnxruntime और onnxsim खींचता है।
  2. third_party/MP-SPDZ में MP-SPDZ तैयार करता है:
    • पिन किए गए रिवीज़न को चेकआउट करता है;
    • third_party/patches/ लागू करता है;
    • 32-बिट रिंग सक्षम करता है (CONFIG.mine में MY_CFLAGS += -DRING_SIZE=32);
    • replicated-ring-party.x और ps-rep-ring-party.x बनाता है;
    • तीनों पार्टियों के TLS प्रमाणपत्र जनरेट करता है।
  3. मॉडल फ़ाइलें डाउनलोड करता है (नीचे तालिका देखें)।
  4. बेंचमार्क डेटासेट जाँचता है।

मॉडल फ़ाइलें artifacts/ में आती हैं:

फ़ाइलसामग्री
GhostFaceNet_W1.3_S1_ArcFace.h5float teacher, GhostFaceNets रिलीज़ से
model/क्वांटाइज़्ड ring32/f6/f_w9 मॉडल, इसकी सटीकता रिपोर्ट के साथ
model-ring64-f16-b0/ring64 मैनिफ़ेस्ट जिससे Porthos बेसलाइन एक्सपोर्ट की जाती है
legacy-scalar-236/साधारण MP-SPDZ बेसलाइन का ring64/f20 मैनिफ़ेस्ट

बंडल इस रिपॉज़िटरी के रिलीज़ एसेट हैं, और प्रत्येक आर्काइव को उसके SHA-256 के विरुद्ध जाँचा जाता है। ghostmpc fetch-bundles --bundle qat-start वह मैनिफ़ेस्ट भी डाउनलोड करता है जिससे QAT शुरू होता है (§5 देखें)।

डेटासेट

सटीकता प्रयोग और प्लेनटेक्स्ट बेसलाइन पाँच InsightFace मूल्यांकन सेट पढ़ते हैं: LFW, AgeDB-30, CALFW, CPLFW और CFP-FP। InsightFace dataset zoo के MS1MV3 प्रशिक्षण डेटा के साथ वितरित .bin फ़ाइलों का उपयोग करें और उन्हें इस प्रकार रखें:

datasets/benchmarks/{lfw,agedb_30,calfw,cplfw,cfp_fp}.bin

scripts/setup.sh उन्हें उन SHA-256 डाइजेस्ट के विरुद्ध सत्यापित करता है जिनका हमने उपयोग किया था। MPC बेंचमार्क्स को डेटासेट की आवश्यकता नहीं होती: उनका संचार इनपुट मानों पर निर्भर नहीं करता, इसलिए वे संश्लेषित इनपुट्स को सीक्रेट-शेयर करते हैं।

3. प्रयोगों को पुनरुत्पादित करना

./run_experiments.sh --quick verification   # smoke test, about one hour
./run_experiments.sh all                    # every table of the paper
./run_experiments.sh tables                 # print the tables measured so far

परिणाम results/ में जाते हैं (प्रति रन एक report.json और summary.csv), और tables पेपर के लेआउट में results/tables.md लिखता है। लक्ष्यों को अलग-अलग और किसी भी क्रम में चलाया जा सकता है। जिस रन की रिपोर्ट पहले से मौजूद है, उसे छोड़ दिया जाता है।

लक्ष्यपेपरहमारी मशीन पर रनटाइम (लगभग)
accuracyतुलना तालिका, accuracy कॉलमप्रति डेटासेट प्रति कोर 3 घंटे; WORKERS से विभाजित करें
verificationFace Verification Benchmarks: HbC और M, Co-Host / LAN / Fast-WAN / WAN~6 घंटे
identificationFace Identification Benchmarks: 1:128 closed set, वही ग्रिड~6 घंटे
plaintextतुलना तालिका, TensorFlow पंक्ति1 मिनट
naiveतुलना तालिका, MP-SPDZ (naive) पंक्तिकंपाइलेशन सहित ~1 घंटा
porthosतुलना तालिका, EzPC (Porthos) पंक्ति~5 मिनट बिल्ड + ~1.5 घंटे
baselinesतीनों बेसलाइन
ablationablation तालिका: naive बेसलाइन से GhostFaceMPC (HbC, co-host) तक, एक-एक करके अनुकूलन~4 घंटे

एनवायरनमेंट वेरिएबल:

वेरिएबलअर्थडिफ़ॉल्ट
THREADSप्रति पार्टी थ्रेड्स8
NETWORKSमापने के लिए नेटवर्कco-host lan fast-wan wan
WORKERSaccuracy oracle के लिए प्रोसेसCPUs की संख्या
POOLS, WARMUPS, TRIALSपूल डिज़ाइन को ओवरराइड करेंपेपर का
RESULTSआउटपुट डायरेक्टरीresults

--quick एक वार्म-अप और एक मापे गए अनुरोध का एक पूल चलाता है, और प्रत्येक डेटासेट के पहले 600 जोड़ों पर accuracy।

क्या मापा जाता है

टूल डाउनलोड करें