Przeskocz do treści

Delta mi!

Od paraboli do podziału sekretu

Tomasz Kazana

o artykule ...

  • Publikacja w Delcie: luty 2011
  • Publikacja elektroniczna: 01-02-2011
  • Autor: Tomasz Kazana
    Afiliacja: Instytut Informatyki, Uniwersytet Warszawski
obrazek

Zaczniemy od przypomnienia kilku podstawowych własności wielomianów nad liczbami rzeczywistymi. Skupmy się najpierw na funkcji kwadratowej math. Będzie nas interesowało to, ile informacji potrzebujemy, żeby ustalić parametry mathmath i  math. Na przykład, jeśli znamy dwa punkty math, math , przez które przechodzi szukana „szkolna” parabola, to wiemy jeszcze zbyt mało. Co to znaczy? Weźmy dla przykładu math oraz math . Łatwo sprawdzić, że zarówno funkcja math, jak i math spełniają nasze oczekiwania, tzn. oba punkty leżą na wykresach obu funkcji. Okazuje się, że zawężenie kryteriów do trzech punktów sprawia, iż znajdziemy co najwyżej jedno rozwiązanie. Faktu tego nie będziemy ściśle dowodzić, intuicja powinna jednak podpowiadać, że właśnie trzy punkty są konieczne i wystarczające. Dlaczego? Jeden punkt przekłada się na jedno równanie liniowe z trzema niewiadomymi math Trzy takie punkty dają trzy równania.

Podana wyżej własność funkcji kwadratowej uogólnia się na wielomiany wyższych stopni. Sformułujemy odpowiednie twierdzenie.

Twierdzenie 1. Jeśli liczby rzeczywiste math są parami różne, to przez ustalone punkty math przechodzi wykres dokładnie jednego wielomianu (tzw. wielomianu Lagrange’a) nad liczbami rzeczywistymi stopnia co najwyżej math

Możemy to uogólnić. Otóż twierdzenie jest wciąż prawdziwe, jeśli zmienimy zbiór, nad którym rozpatrywane są wielomiany. Przykładowo, w świecie liczb zespolonych to również jest prawdą. Dla osób zaznajomionych z podstawami algebry będzie jasne, jeśli powiemy, że jest ono prawdziwe nad każdym ciałem. Dla naszych rozważań nie będzie potrzebna dokładna definicja tej struktury. Zajmiemy się jednym konkretnym przykładem. Otóż niech math będzie liczbą pierwszą oraz niech math będzie zbiorem liczb naturalnych od math do math. Skojarzymy z tym zbiorem działania dodawania i mnożenia. Przyjmiemy, że aby dodać dwie liczby z tego zbioru, dodajemy je w sposób tradycyjny, po czym jako wynik bierzemy resztę z dzielenia przez  math. Dla mnożenia robimy analogicznie. Poniższy przykład ilustruje te definicje dla  math:

display-math

Nad taką dziwaczną strukturą będziemy badać tradycyjne wielomiany. Ponownie przyjmijmy math oraz math , math , math . Mamy wówczas przykładowo:

display-math

Jak uprzedziliśmy, w tym świecie również zachodzi twierdzenie o wielomianach.

Twierdzenie 2. Jeśli elementy ciała math są parami różne, to przez ustalone punkty math przechodzi wykres dokładnie jednego wielomianu nad  math stopnia co najwyżej  math o ile math

A gdzie w tym wszystkim podział sekretu? Jeszcze chwila cierpliwości i wszystko się wyjaśni. Mamy już potrzebny aparat matematyczny, czas więc na ogólne wprowadzenie w problematykę sekretów, spisków i wzajemnej nieufności.

Rozważmy uproszczoną sytuację: pewna grupa math osób ma jakiś wspólny sekret  math , który interpretujemy jako jedną liczbę z zakresu math, czy raczej – mówiąc językiem algebry – jako element ciała  math. Chcemy jakoś rozdzielić informację o  math wśród grupy, aby uzyskać następujący poziom bezpieczeństwa sekretu  math

Definicja (Poziom bezpieczeństwa 1). Dowolna podgrupa licząca math osób nie jest w stanie odtworzyć sekretu  math na podstawie informacji posiadanych przez członków podgrupy. Pełna grupa math osób jest w stanie odtworzyć  math .

Wróćmy do świata wielomianów. Niech math będzie losowym wielomianem nad  math stopnia  math, takim że math . Tylko ten wielomian będzie nam potrzebny, aby rozdzielić sekret. Pierwszej osobie zdradzimy wartość  math , drugiej – math  itd. Ostatnia osoba pozna  math . Teraz z twierdzenia 2 wynika, że informacje posiadane przez te osoby pozwalają odtworzyć wielomian, a więc i obliczyć  math , to znaczy poznać sekret  math . Gdy zabraknie choć jednej osoby, to wielomian nie jest wyznaczony jednoznacznie i wiadomość pozostaje tajna.

Co tu jest jeszcze do dowiedzenia?

Powyższe rozumowanie zawiera, oczywiście, pewne uproszczenia. W szczególności nie wskazaliśmy, jak wykazać, że żadne math osób nie może odtworzyć  math Nie będziemy wszystkiego uzupełniać. Chcemy jednak dokładnie określić, czego należałoby ściśle dowieść, aby móc stwierdzić, że opisany schemat jest bezpieczny.

Przede wszystkim nie zdefiniowaliśmy precyzyjnie, co rozumiemy przez sformułowanie, że wiadomość jest tajna. Nie wystarczy powiedzieć, że posiadana wiedza nie wystarcza do jednoznacznego odtworzenia sekretu  math . Mogłoby się przecież tak zdarzyć, że – w skrajnym przypadku – niejednoznaczność polega na tym, iż mamy dwóch kandydatów na  math . Pierwsze przybliżenie definicji mogłoby więc iść w tę właśnie stronę. To znaczy chcielibyśmy, aby posiadana wiedza nie mogła wykluczyć żadnego kandydata na  math . Jednak również i taka definicja jest za słaba. Nie wyklucza bowiem przypadku, gdy posiadana wiedza pozwala stwierdzić, że, na przykład, math z prawdopodobieństwem  math (a nie  math, jak pewnie byśmy oczekiwali). Najsilniejsza definicja jest sformułowana właśnie w języku probabilistyki: dana wiadomość jest tajna, jeśli posiadana wiedza nie pozwala na ustalenie innego rozkładu prawdopodobieństw tajnego sekretu niż rozkład jednostajny.

Okazuje się, że dzielenie sekretu za pomocą wielomianu spełnia tę najsilniejszą definicję. Zachęcamy do udowodnienia tego faktu, a przynajmniej dokładnego sformułowania, co tak naprawdę trzeba udowodnić.

Dalsze zastosowania

Wielomiany dają nam jeszcze inne ciekawe możliwości (ponownie math oznacza liczbę osób).

Definicja (Poziom bezpieczeństwa 2). Dowolna podgrupa math osób nie jest w stanie odtworzyć  math Każda podgrupa math osób jest w stanie odtworzyć sekret

Powyższe bezpieczeństwo uzyskujemy, na przykład, następująco: losujemy wielomian stopnia  math o wartości  math w zerze. Osobom dajemy kolejne wartości math Ponownie twierdzenie 2 dowodzi tezy. Liczba math została tu wybrana przykładowo, można wybrać dowolną inną. Oczywiście, żeby zachować pełną ścisłość, należy udowodnić trudniejszy fakt dotyczący rozkładu prawdopodobieństw.

To jednak nie koniec. Jako ostatnią rzecz proponujemy ćwiczenie. Zachęcamy Czytelnika do pokazania, jak użyć techniki wielomianów, aby osiągnąć następujący poziom bezpieczeństwa (dla Czytelnika Leniwego rozwiązanie jest w dymku).

Definicja (Poziom bezpieczeństwa 3). Niech math oznacza liczbę pięcioosobowych rozłącznych grup osób. Chcemy, aby do poznania sekretu konieczna była większość a więc co najmniej trzy osoby z co najmniej math grup.

Opisany w artykule pomysł dzielenia sekretu zawdzięczamy izraelskiemu kryptografowi Adiemu Shamirowi. Zainteresowanych zachęcamy do samodzielnych poszukiwań i dalszego zgłębiania tej tematyki.