0Pricing
Cryptology Academy · Lekcja

SPDZ i arytmetyczne MPC na współdzielonych sekretach

Wykonywać wspólne dodawanie i mnożenie liczb całkowitych z podzielonym sekretem

SPDZ i arytmetyczne MPC na współdzielonych sekretach to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

MPC arytmetyczne a boolowskie

Boolowskie MPC działa na bitach (XOR/AND). Arytmetyczne MPC działa na liczbach całkowitych lub elementach ciała, obsługując bezpośrednio dodawanie i mnożenie. Lepiej sprawdza się w zastosowaniach związanych z uczeniem maszynowym i statystyką.

Współdzielenie addytywne nad Z_p

Wartość x ∈ Z_p jest współdzielona jako x = x_1 + x_2 + ... + x_n mod p. Dodawanie współdzielonych wartości jest bezpłatne: każdy uczestnik lokalnie dodaje swoje udziały. Nie jest potrzebna żadna komunikacja.

Trójki mnożenia Beavera

Aby pomnożyć udziały [a] i [b], uczestnicy z wyprzedzeniem rozdzielają trójkę Beavera ([a_t], [b_t], [c_t]), gdzie c_t = a_t·b_t. Mnożenie w fazie online wymaga jednej rundy komunikacji.

Przegląd protokołu SPDZ

SPDZ (Damgård i in. 2012) = "Somewhat Homomorphic Encryption-based Distributed Zero-Knowledge". Faza offline generuje uwierzytelnione trójki za pomocą SHE. Faza online to szybkie obliczenia na udziałach addytywnych.

Kody uwierzytelniania wiadomości w SPDZ

Każdemu udziałowi towarzyszy kod MAC: MAC(x_i) = α·x mod p, gdzie α jest globalnym tajnym kluczem. Zapobiega to niezauważonemu fałszowaniu udziałów przez złośliwych uczestników.

Faza offline: generowanie trójek

SPDZ w fazie offline korzysta z Somewhat Homomorphic Encryption (BGV/BFV). Uczestnicy homomorficznie mnożą swoje udziały, aby utworzyć uwierzytelnione trójki Beavera. Ta faza jest wymagająca obliczeniowo, ale można ją wykonywać równolegle.

Faza online: szybkie mnożenie

Mając trójkę ([a],[b],[c]) oraz dane wejściowe [x],[y], ujawnij d=x-a i e=y-b (są zamaskowane, więc nie powodują wycieku informacji). Następnie [x·y] = [c] + d·[b] + e·[a] + d·e. Jedna runda komunikacji.

MASCOT: faza offline oparta na OT

MASCOT zastępuje fazę offline SHE rozszerzeniem OT, szybciej generując trójki dla małych ciał. Jest preferowanym mechanizmem fazy offline dla dwuuczestnikowego SPDZ.

Zastosowanie SPDZ: prywatne statystyki

Wiele szpitali oblicza średni wiek pacjentów bez udostępniania dokumentacji. Każdy szpital koduje swoje dane jako udziały arytmetyczne. SPDZ oblicza sumę i liczność, a uczestnicy poznają tylko iloraz.

Wydajność i skalowalność

SPDZ-2k (Cramer i in. 2018) rozszerza rozwiązanie na Z_{2^k} na potrzeby przyjaznej uczeniu maszynowemu arytmetyki stałoprzecinkowej. Biblioteka MP-SPDZ osiąga w testach 1 mln mnożeń na sekundę przez sieć LAN dla 2 uczestników.

Sprawdzenie wiedzy

Jaki jest cel trójek mnożenia Beavera w arytmetycznym MPC?

Podsumowanie lekcji

Arytmetyczne MPC używa udziałów addytywnych nad Z_p. Dodawanie jest bezpłatne, a mnożenie wykorzystuje trójki Beavera w jednej rundzie. SPDZ dodaje kody MAC na potrzeby bezpieczeństwa wobec złośliwych uczestników. MASCOT używa OT do szybkiego generowania trójek. MP-SPDZ umożliwia praktyczne wykorzystanie tych technik.

Często zadawane pytania

Czy lekcja „SPDZ i arytmetyczne MPC na współdzielonych sekretach” jest bezpłatna?

Tak — pełny tekst „SPDZ i arytmetyczne MPC na współdzielonych sekretach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „SPDZ i arytmetyczne MPC na współdzielonych sekretach”?

Wykonywać wspólne dodawanie i mnożenie liczb całkowitych z podzielonym sekretem Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „SPDZ i arytmetyczne MPC na współdzielonych sekretach”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Problem MPC i ukryte obwody Yao
  2. Protokół GMW i transfer niejawny
  3. SPDZ i arytmetyczne MPC na współdzielonych sekretach
  4. Zastosowania MPC: prywatne przecięcie zbiorów i uczenie maszynowe
← Powrót do Cryptology Academy