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.

🔗 Powiązane terminy

📚 Źródła