Teoria informacji/TI Ćwiczenia 6

Z Studia Informatyczne
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 {0,,p1}, 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{0,,p1} (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


Ć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


Ć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


Ć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