Teoria informacji/TI Ćwiczenia 6

Z Studia Informatyczne
Wersja z dnia 13:15, 15 sie 2006 autorstwa Stromy (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Protokół Shamira podziału sekretu

Problem podziału sekretu jest zdefiniowany następująco: pewną wiadomość s (sekret) pochodzącą z rozkładu S należy zaszyfrować w postaci n „fragmentów” w taki sposób, że przy użyciu dowolnych t z nich da się odtworzyć s, a dowolne t1 z nich nie daje żadnych informacji o s. Taki podział nazywa się (t,n)-progowy.


Problem ten można rozwiązać przy użyciu protokołu Shamira. Dla uproszczenia dowodów załóżmy że S jest jednostajnym rozkładem na {1,,p}, gdzie p jest liczbą pierwszą (a więc H(S)=logp). Protokół wygląda następująco:

Protokół podziału sekretu
1. Losujemy t1 liczb naturalnych x1,,xt1{1,,p} (z rozkładu jednostajnego).
2. Wyliczamy wielomian P stopnia t1 w ciele Zp o wartościach:
P(0)=s, P(i)=xi dla i=1,,t1.
3. Przekazujemy uczestnikom fragmenty sekretu. Dla i{1,,n}. 
i-tym fragmentem sekretu jest si=P(i).


Ćwiczenie 1 [Poprawność]

Udowodnij że dowolne t fragmentów pozwala odtworzyć sekret s.

Rozwiązanie

{{{3}}}


Ćwiczenie 2 [Tajność]

Niech Si będą zmiennymi losowymi określającymi rozkłady prawdopodobieństwa fragmentów si. Udowodnij że dowolne t-1 fragmentów nie daje żadnych informacji o s, czyli

I(S;(Si1,,Sit1))=0

Rozwiązanie

{{{3}}}


Ćwiczenie 3 [Optymalność]

W protokole Shamira H(Si)=logp. Udowodnij że jest to wartość optymalna, tzn. dla każdego protokołu podziału sekretu iH(Si)H(S).

Rozwiązanie

{{{3}}}


Ćwiczenie 4 [Dodawanie sekretów]

Załóżmy że gracz A przeprowadził podział sekretu dla wiadomości X, a gracz B podział sekretu dla wiadomości Y. Pokaż jak posiadacze fragmentów mogą uzyskać podział sumarycznej wiadomości X+Y, nie odtwarzając w tym celu i nie ujawniając nikomu żadnego z sekretów.

Rozwiązanie

{{{3}}}