Szyfrowanie homomorficzne
Umożliwia obliczenia na zaszyfrowanych danych bez deszyfrowania.
Szyfrowanie homomorficzne to technika kryptograficzna, która pozwala na wykonywanie obliczeń bezpośrednio na szyfrogramach, generując zaszyfrowany wynik, który po odszyfrowaniu jest identyczny z wynikiem obliczeń wykonanych na oryginalnych danych jawnych. Ta właściwość czyni je szczególnie użytecznym w zastosowaniach, gdzie prywatność danych jest kluczowa, takich jak przetwarzanie w chmurze i zlecane obliczenia, ponieważ pozwala stronom trzecim przetwarzać wrażliwe dane bez konieczności ich odszyfrowywania. Istnieją różne rodzaje szyfrowania homomorficznego, w tym częściowe szyfrowanie homomorficzne (PHE), pewne szyfrowanie homomorficzne (SHE) i pełne szyfrowanie homomorficzne (FHE). FHE jest najpotężniejsze, pozwalając na dowolną liczbę dodawań i mnożeń na szyfrogramach.
graph LR
Center["Szyfrowanie homomorficzne"]:::main
Pre_asymmetric_encryption["asymmetric-encryption"]:::pre --> Center
click Pre_asymmetric_encryption "/terms/asymmetric-encryption"
Pre_lattice_based_cryptography["lattice-based-cryptography"]:::pre --> Center
click Pre_lattice_based_cryptography "/terms/lattice-based-cryptography"
Rel_zero_knowledge_proof["zero-knowledge-proof"]:::related -.-> Center
click Rel_zero_knowledge_proof "/terms/zero-knowledge-proof"
Rel_secure_multi_party_computation_smpc["secure-multi-party-computation-smpc"]:::related -.-> Center
click Rel_secure_multi_party_computation_smpc "/terms/secure-multi-party-computation-smpc"
Rel_confidential_computing["confidential-computing"]:::related -.-> Center
click Rel_confidential_computing "/terms/confidential-computing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Wyjaśnij jak 5-latkowi
🔒 Wyobraź sobie, że masz zamknięte pudełko z liczbami w środku. Zamiast otwierać pudełko, aby dodać lub pomnożyć liczby, specjalna maszyna może wykonywać te matematyczne problemy bezpośrednio na zamkniętym pudełku. Kiedy w końcu je otworzysz, liczby w środku będą poprawnym wynikiem!
🤓 Expert Deep Dive
Szyfrowanie homomorficzne (HE) to paradygmat w kryptografii, który pozwala na wykonywanie funkcji na zaszyfrowanych danych. Oznacza to, że strona trzecia, taka jak dostawca usług chmurowych, może przetwarzać zaszyfrowane dane bez potrzeby posiadania klucza deszyfrującego, zachowując w ten sposób prywatność danych. Istnieją trzy główne typy: częściowe szyfrowanie homomorficzne (PHE), pewne szyfrowanie homomorficzne (SHE) i pełne szyfrowanie homomorficzne (FHE).
Schematy PHE obsługują tylko jeden typ operacji (dodawanie lub mnożenie) nieograniczoną liczbę razy. Przykłady obejmują Paillier (addytywny) i ElGamal (multiplikatywny).
Schematy SHE obsługują ograniczoną liczbę operacji dodawania i mnożenia. Są bardziej wszechstronne niż PHE, ale nadal ograniczone pod względem złożoności obliczeń, które mogą wykonać.
Schematy FHE, stanowiące znaczący przełom, pozwalają na dowolną liczbę operacji dodawania i mnożenia. Umożliwia to wykonanie dowolnej obliczalnej funkcji na zaszyfrowanych danych. Głównym wyzwaniem związanym z FHE była historycznie jego znacząca nadwyżka obliczeniowa i kara wydajnościowa w porównaniu do obliczeń na danych jawnych. Nowoczesne schematy FHE, takie jak BGV, BFV, CKKS i TFHE, poczyniły znaczące postępy w redukcji tej nadwyżki, czyniąc je coraz bardziej wykonalnymi dla praktycznych zastosowań w obszarach takich jak bezpieczne przetwarzanie w chmurze, prywatne uczenie maszynowe i poufna analiza danych.