Szyfrowanie funkcjonalne
Ogólny | |
---|---|
Projektanci | Amit Sahai Brent Waters , Dan Boneh , Shafi Goldwasser , Yael Kalai |
Pochodzi z | Szyfrowanie kluczem publicznym |
Związany z | Szyfrowanie homomorficzne |
Szyfrowanie funkcjonalne ( FE ) to uogólnienie szyfrowania z kluczem publicznym , w którym posiadanie tajnego klucza pozwala poznać funkcję tego, co szyfruje tekst zaszyfrowany.
Definicja formalna
Dokładniej, funkcjonalny schemat szyfrowania dla danej funkcjonalności składa się z następujących czterech algorytmów:
- : tworzy klucz publiczny i główny tajny klucz .
- używa głównego tajnego klucza do wygenerowania nowego tajnego klucz dla funkcji .
- używa klucza publicznego do szyfrowania wiadomości .
- używa tajnego klucza do obliczenia gdzie jest wartością .
Bezpieczeństwo FE wymaga ) { \ . Formalnie jest to definiowane przez symulację.
Aplikacje
Szyfrowanie funkcjonalne uogólnia kilka istniejących prymitywów, w tym szyfrowanie oparte na tożsamości (IBE) i szyfrowanie oparte na atrybutach (ABE). W przypadku IBE zdefiniuj, był równy, gdy odpowiada tożsamości, którą można odszyfrować, i inaczej. Podobnie, w przypadku ABE, zdefiniuj, k koduje atrybuty z pozwoleniem na odszyfrowanie i w przeciwnym razie .
Historia
Szyfrowanie funkcjonalne zostało zaproponowane przez Amita Sahai i Brenta Watersa w 2005 r., a sformalizowane przez Dana Boneha , Amita Sahai i Brenta Watersa w 2010 r. Jednak do niedawna większość instancji szyfrowania funkcjonalnego obsługiwała tylko ograniczone klasy funkcji, takie jak formuły boolowskie. W 2012 roku kilku badaczy opracowało schematy szyfrowania funkcjonalnego, które obsługują dowolne funkcje.