Šamirovo sdílení tajemství

Z testwiki
Skočit na navigaci Skočit na vyhledávání

Šamirovo schéma pro sdílení tajemství je kryptografický algoritmus. Je to forma sdílení tajné informace, kdy je tato informace rozdělena do částí (každému účastníku je přidělena jedinečná část) a pro rekonstrukci původní informace je třeba alespoň určitý počet z dílčích částí. Izraelský matematik Adi Šamir jej formuloval v roce 1979

Matematická definice

Našim cílem je rozdělit nějaká data D do n částíD1,,Dn tak, že:

  1. Znalost některých k nebo více Di částí zajistí snadné zjištění D .
  2. Znalost některých k1 nebo méně Di částí ponechá D zcela neurčená (ve smyslu, že všechny hodnoty jsou stejně možné).

Toto schéma nazýváme (k,n) prahové schéma. Pokud k=n, všichni účastníci jsou třeba k rekonstrukci tajemství.

Shamirovo schéma

Předpokládejme, že chceme užít (k,n) prahové schéma pro sdílení tajemství S. Bez újmy na obecnosti předpokládejme, že S je prvkem konečného tělesa F velikosti P kde 0<kn<P;S<P a zároveň je P prvočíslo.

Náhodně vybereme k1 koeficientů a1,,ak1F. Dále a0=S. Sestavíme polynom f(x)=a0+a1x+a2x2+a3x3++ak1xk1. Dále vypočítáme souřadnice n bodů tohoto polynomu. Například pro i=1,,n získáme n bodů ve tvaru [i,f(i)].

Tyto souřadnice jsou rozděleny mezi n, účastníků. Jelikož je polynom stupně k1 určen jednoznačně k body, z jakékoliv k-prvkové podmnožiny bodů lze jednoznačně pomocí interpolace určit koeficienty polynomu f, a tedy i tajemství S=a0.

Reference

Šablona:Překlad Šablona:Autoritní data