Co to jest szyfrowanie homomorficzne?
Pojęcie znane jako szyfrowanie homomorficzne, w którym można manipulować tekstem zaszyfrowanym i pracować z nim bez odszyfrowywania, zostało po raz pierwszy przedstawione społeczności naukowej w 1978 r. Przez Ronalda Rivesta, Leonarda Adlemana i Michaela Dertouzosa jako homomorfizm prywatności. Semafitycznie bezpieczny schemat szyfrowania homomorficznego został opracowany i zaproponowany przez Shafi Goldwasser i Silvio Micali w 1982 roku. W 2009 roku Craig Gentry udowodnił, że możliwy jest całkowicie homomorficzny schemat szyfrowania.
Rivest, Aldeman i Dertouzos opracowali swoją teorię wokół faktu, że istniejące systemy bezpieczeństwa i szyfrowania poważnie ograniczają możliwość robienia czegokolwiek z danymi po ich zaszyfrowaniu i przekształceniu w tekst zaszyfrowany. Bez opracowania rozwiązania homomorficznego wysyłanie i odbieranie danych jest w zasadzie jedyną funkcją, którą można wykonać za pomocą zaszyfrowanych danych. Największe obawy dotyczyły poziomu przetwarzania danych niezbędnego do przetworzenia zaszyfrowanego żądania na zaszyfrowanych danych oraz tego, czy tego rodzaju schemat szyfrowania mógłby być wystarczająco bezpieczny do praktycznego zastosowania.
Wraz z nadejściem i ciągłym rozwojem przetwarzania w chmurze kluczowe znaczenie ma opracowanie realnej metody szyfrowania homomorficznego. W przeciwnym razie ryzyko jest zbyt wysokie, aby powierzyć dane dostawcy usług w chmurze, gdy dane te muszą pozostać bezpieczne. Jeśli dostawca ma w jakikolwiek sposób dostęp do danych w postaci odszyfrowanej, dane mogą zbyt łatwo zostać naruszone. Gentry udowodnił, że jest to realna teoria, choć czas potrzebny na obliczenia i potencjalna łatwość, z jaką szyfrowanie może zostać złamane, są niepokojące.
System Gentry opisuje, jak stworzyć schemat szyfrowania, który pozwoli na bezpieczne przechowywanie danych w środowisku chmurowym, w którym właściciel danych może wykorzystać moc obliczeniową dostawcy chmury do wykonywania funkcji na trwale zaszyfrowanych danych. Robi to w trzystopniowym procesie. Schemat szyfrowania jest skonstruowany jako „bootstrappable” lub składa się z nieco homomorficznego schematu szyfrowania, który może działać z własnym obwodem deszyfrującym. Następnie, przy użyciu idealnych sieci, budowany jest niemalże możliwy do rozruchu schemat szyfrowania klucza publicznego. Wreszcie schematy zostały zmodyfikowane, aby były bardziej uproszczone, umożliwiając ich ładowanie przy zachowaniu ich głębokości.
Ta metoda tworzy całkowicie homomorficzny schemat szyfrowania, ale pozostaje względnie niepraktyczna. Szyfrowanie homomorficzne ewoluowało, aby być w większości zabezpieczone przed wybranymi atakami zwykłego tekstu, ale zabezpieczenie przed wybranymi atakami zaszyfrowanymi tekstem pozostaje problemem. Oprócz kwestii bezpieczeństwa, w pełni homomorficzne schematy są tak duże i złożone, że czynnik czasu wyklucza ich użycie w większości aplikacji. Nieco homomorficzne systemy szyfrowania zostały opracowane w celu uwzględnienia co najmniej czynnika czasu, wykorzystując tylko najbardziej wydajne części całkowicie homomorficznego schematu szyfrowania.