Czym jest szyfrowanie homomorficzne?
Wyjaśnić częściowe, częściowo homomorficzne i w pełni homomorficzne szyfrowanie
Czym jest szyfrowanie homomorficzne? to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 1 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.
Główna idea
Szyfrowanie homomorficzne (HE) umożliwia wykonywanie obliczeń bezpośrednio na zaszyfrowanych danych, tworząc zaszyfrowany wynik, który po odszyfrowaniu jest równy wynikowi tych samych operacji wykonanych na tekście jawnym. „Obliczanie na szyfrogramie bez odszyfrowywania”.
Analogia: zamknięta skrzynka
Wyobraźmy sobie umieszczenie liczb w zamkniętej skrzynce, której boki mają wbudowane specjalne rękawice. Mogą Państwo manipulować liczbami przez rękawice (dodawać i mnożyć), nigdy nie otwierając skrzynki. Tylko właściciel klucza może zobaczyć wynik po odblokowaniu skrzynki.
Częściowe szyfrowanie homomorficzne (PHE)
Częściowe szyfrowanie homomorficzne obsługuje bez ograniczeń jeden typ operacji: RSA (w wersji podręcznikowej) jest homomorficzne multiplikatywnie: Enc(m1)*Enc(m2) = Enc(m1*m2). Paillier jest homomorficzne addytywnie: Enc(m1)*Enc(m2) = Enc(m1+m2). Stosowane w głosowaniu elektronicznym i prywatnym wyszukiwaniu informacji.
Szyfrowanie homomorficzne częściowe (SHE)
Częściowo homomorficzne szyfrowanie obsługuje zarówno dodawanie, jak i mnożenie, ale tylko przez ograniczoną liczbę mnożeń (głębokość obwodu). Szum narasta przy każdym mnożeniu; po przekroczeniu progu odszyfrowanie kończy się niepowodzeniem. Pierwszą konstrukcję przedstawił Gentry (2009).
W pełni homomorficzne szyfrowanie (FHE)
W pełni homomorficzne szyfrowanie obsługuje dowolne obliczenia (dowolny obwód boolowski lub arytmetyczny) na zaszyfrowanych danych. Gentry (2009) wykazał, że FHE jest możliwe dzięki „bootstrappingowi” — homomorficznemu obliczaniu obwodu odszyfrowywania w celu odświeżenia szyfrogramu i wyzerowania szumu.
Szum w szyfrowaniu homomorficznym opartym na kratach
Większość schematów HE jest oparta na kratach (BGV, BFV, CKKS). Szyfrowanie dodaje szum do szyfrogramu. Dodawanie: szum rośnie addytywnie. Mnożenie: szum rośnie multiplikatywnie. Bootstrapping: homomorficzne odszyfrowanie szyfrogramu, które przywraca szum do poziomu początkowego. Bootstrapping jest kosztowny.
Rzeczywista wydajność
FHE jest nadal 10^6 razy wolniejsze od obliczeń na tekście jawnym. Zaszyfrowanie jednej 32-bitowej liczby całkowitej wymaga kilobajtów szyfrogramu. Bootstrapping trwa kilka sekund na bramkę. Praktyczne zastosowania FHE dotyczą konkretnych obciążeń: wnioskowania modeli uczenia maszynowego, zapytań do baz danych i analizy genomu.
Podstawa bezpieczeństwa
Większość schematów HE opiera się na trudnym problemie Learning With Errors (LWE) lub Ring-LWE (RLWE), który uważa się za odporny na ataki kwantowe. Złamanie HE wymaga rozwiązania RLWE — nie jest znany żaden algorytm kwantowy zapewniający istotne przyspieszenie dla tego problemu.
Biblioteki
SEAL (Microsoft, obsługuje BFV/CKKS), HEAAN (Seoul National University, CKKS), OpenFHE (open source, BGV/BFV/CKKS/FHEW/TFHE), HElib (IBM, BGV). Wszystkie są bibliotekami klasy badawczej; wdrożenia produkcyjne są rzadkie i specyficzne dla danej dziedziny.
Dzisiejsze zastosowania
Medyczna genomika: odpytywanie bazy genów bez ujawniania własnego genomu. Zaszyfrowane wnioskowanie ML: chmura uruchamia sieć neuronową na danych bez uzyskiwania do nich dostępu. Prywatna analityka: agregowanie statystyk na zaszyfrowanych danych użytkowników. Obliczanie ryzyka finansowego na podstawie poufnych portfeli.
HE a MPC
HE: jedna strona wykonuje obliczenia na danych zaszyfrowanych przez inną stronę. MPC: wiele stron wspólnie wykonuje obliczenia, nie ujawniając sobie nawzajem danych wejściowych. Podejście hybrydowe: HE do wstępnego przetwarzania offline, MPC do protokołów interaktywnych. Kompromisy: HE = wysokie opóźnienia; MPC = narzut komunikacyjny.
Szybkie sprawdzenie
Jakie jest najważniejsze ograniczenie Somewhat Homomorphic Encryption (SHE)?
Podsumowanie
Szyfrowanie homomorficzne umożliwia wykonywanie obliczeń na szyfrogramie. PHE obsługuje jedną operację; SHE obsługuje ograniczoną głębokość; FHE obsługuje dowolne obwody dzięki bootstrappingowi. Opiera się na trudnych problemach LWE/RLWE. Dalej: matematyczne podstawy LWE.
Często zadawane pytania
Czy lekcja „Czym jest szyfrowanie homomorficzne?” jest bezpłatna?
Tak — pełny tekst „Czym jest szyfrowanie homomorficzne?” 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 „Czym jest szyfrowanie homomorficzne?”?
Wyjaśnić częściowe, częściowo homomorficzne i w pełni homomorficzne szyfrowanie Ć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 1 z 4.
Ile czasu zajmuje lekcja „Czym jest szyfrowanie homomorficzne?”?
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
- Czym jest szyfrowanie homomorficzne?
- Podstawa Learning With Errors (LWE)
- Schematy BGV i BFV do operacji na liczbach całkowitych
- CKKS do przybliżonych obliczeń i uczenia maszynowego