Szyfrowanie funkcjonalne

Szyfrowanie funkcjonalne
Encryption.png
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.