Shamirovo sdílení tajemství
Shamirovo 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í.
Matematická definice
Našim cílem je rozdělit nějaká data do částí tak, že:
- Znalost některých nebo více částí zajistí snadné zjištění .
- Znalost některých nebo méně částí ponechá zcela neurčená (ve smyslu, že všechny hodnoty jsou stejně možné).
Toto schéma nazýváme prahové schéma. Pokud , všichni účastníci jsou třeba k rekonstrukci tajemství.
Shamirovo schéma
Předpokládejme, že chceme užít prahové schéma pro sdílení tajemství . Bez újmy na obecnosti předpokládejme, že je prvkem konečného tělesa velikosti kde a zároveň je prvočíslo.
Náhodně vybereme koeficientů . Dále Sestavíme polynom . Dále vypočítáme souřadnice bodů tohoto polynomu. Například pro získáme bodů ve tvaru
Tyto souřadnice jsou rozděleny mezi účastníků. Jelikož je polynom stupně určen jednoznačně body, z jakékoliv -prvkové podmnožiny bodů lze jednoznačně pomocí interpolace určit koeficienty polynomu a tedy i tajemství
Reference
- SHAMIR, Adi. How to share a secret. Communications of the ACM. 1979, roč. 22, čís. 11, s. 612–613.
V tomto článku byl použit překlad textu z článku Shamir's Secret Sharing na anglické Wikipedii.