Tajné sdílení je termín v kryptografii , který je chápán jako jakákoliv metoda distribuce tajemství mezi skupinu účastníků, z nichž každý dostane svůj určitý podíl. Tajemství může být znovu vytvořeno pouze koalicí účastníků z původní skupiny a alespoň nějaký původně známý počet z nich musí být zahrnut do koalice.
Schémata tajného sdílení se používají v případech, kdy existuje značná pravděpodobnost kompromitace jednoho nebo více držitelů tajemství, ale pravděpodobnost nekalé tajné dohody ze strany významné části účastníků je považována za zanedbatelnou.
Stávající schémata mají dvě složky: tajné sdílení a tajné obnovení. Sdílením se rozumí vytváření částí tajemství a jejich distribuce mezi členy skupiny, což umožňuje sdílet odpovědnost za tajemství mezi jejími členy. Inverzní schéma by mělo zajistit jeho obnovu za předpokladu, že jeho držitelé budou k dispozici v určitém požadovaném počtu [1] .
Use Case: Secret Voting Protocol založený na Secret Sharing [2] .
Nechť existuje skupina lidí a zpráva délky , skládající se z binárních znaků. Pokud náhodně seberete takové binární zprávy , že se v součtu budou rovnat , a rozdělíte tyto zprávy mezi všechny členy skupiny, ukáže se, že zprávu bude možné přečíst pouze v případě, že se všichni členové skupiny sejdou [1] .
V takovém schématu je značný problém: v případě ztráty alespoň jednoho z členů skupiny se nenávratně ztratí tajemství pro celou skupinu.
Na rozdíl od procedury tajného dělení, kde se v proceduře tajného dělení může počet sdílených položek, které jsou potřebné k obnovení tajného klíče, lišit od toho, na kolik sdílených položek je tajný klíč rozdělen. Takové schéma se nazývá prahové schéma , kde je počet podílů, do kterých bylo tajemství rozděleno, a počet podílů, které jsou potřebné k obnovení tajemství. Nápady obvodu byly nezávisle navrženy v roce 1979 Adi Shamir a George Blakley . Podobné postupy navíc studoval Gus Simmons [3] [4] [5] .
Pokud je koalice účastníků taková, že mají dostatek podílů na obnovení tajemství, pak se koalice nazývá povolená. Schémata tajného sdílení, ve kterých mohou povolené koalice účastníků jedinečně získat tajemství a nevyřešené nedostávají žádnou aposteriorní informaci o možné hodnotě tajemství, se nazývají perfektní [6] .
Myšlenka diagramu je taková, že dva body stačí k definování přímky , tři body stačí k definování paraboly , čtyři body stačí k definování kubické paraboly a tak dále. Pro určení polynomu stupně jsou vyžadovány body .
Aby bylo tajemství po oddělení obnoveno pouze účastníky, je „skryto“ ve vzorci polynomu stupně nad konečným polem . Pro jednoznačné obnovení tohoto polynomu je nutné znát jeho hodnoty v bodech a při použití menšího počtu bodů nebude možné jednoznačně obnovit původní polynom. Počet různých bodů polynomu není omezen (v praxi je omezen velikostí číselného pole , ve kterém se výpočty provádějí).
Stručně lze tento algoritmus popsat následovně. Nechť je dáno konečné pole . Opravujeme různé nenulové neutajené prvky tohoto pole. Každý z těchto prvků je připisován konkrétnímu členu skupiny. Dále se vybere libovolná množina prvků oboru , ze které se skládá polynom nad oborem stupně . Po získání polynomu vypočítáme jeho hodnotu v neutajených bodech a výsledky nahlásíme odpovídajícím členům skupiny [1] .
K obnovení tajného klíče můžete použít interpolační vzorec, jako je Lagrangeův vzorec .
Důležitou výhodou schématu Shamir je, že je snadno škálovatelné [5] . Pro zvýšení počtu uživatelů ve skupině stačí pouze přidat odpovídající počet neutajených prvků ke stávajícím a musí být splněna podmínka pro . Kompromis jedné části tajemství zároveň změní schéma z -threshold na -threshold.
Dvě nerovnoběžné přímky v rovině se protínají v jednom bodě. Jakékoli dvě nekoplanární roviny se protínají v jedné přímce a tři nekoplanární roviny v prostoru se také protínají v jednom bodě. Obecně platí , že n n -rozměrných nadrovin se vždy protíná v jednom bodě. Jedna ze souřadnic tohoto bodu bude tajemstvím. Pokud je tajenka zakódována jako několik souřadnic bodu, pak již z jednoho podílu tajenky (jedné nadroviny) bude možné získat nějaké informace o tajence, tedy o vzájemné závislosti souřadnic průsečíku.
Blackleyho schéma ve třech rozměrech: každý podíl tajemství je rovina a tajemství je jednou ze souřadnic průsečíku rovin. Dvě roviny k určení průsečíku nestačí. |
S pomocí Blackleyho schématu [4] lze vytvořit (t, n) -tajné schéma sdílení pro libovolné t a n : k tomu je třeba použít prostorovou dimenzi rovnou t a dát každému z n hráčů jedna nadrovina procházející tajným bodem. Potom se libovolné t z n nadrovin jednoznačně protnou v tajném bodě.
Blackleyho schéma je méně efektivní než Shamirovo schéma: v Shamirově schématu má každá akcie stejnou velikost jako tajemství, zatímco v Blackleyho schématu je každá akcie tkrát větší . Blakelyho schéma má vylepšení pro zlepšení jeho efektivity.
V roce 1983 Maurice Mignotte , Asmuth a Bloom navrhli dvě tajná schémata sdílení založená na čínské větě o zbytku . Pro určité číslo (ve schématu Mignotte je to samotné tajemství, ve schématu Asmuth-Bloom je to nějaké odvozené číslo) se vypočítá zbytek po vydělení posloupností čísel, která se rozdělí stranám. Kvůli omezení posloupnosti čísel může tajemství získat zpět pouze určitý počet stran [7] [8] .
Nechte počet uživatelů ve skupině být . V Mignotte schématu je určitá množina párových prvočísel vybrána tak, že součin největších čísel je menší než součin nejmenšího z těchto čísel. Nechť jsou tyto produkty rovné a , resp. Číslo se nazývá práh pro vytvořené schéma nad množinou . Jako tajemství je vybráno takové číslo, aby byl vztah splněn . Části tajenky jsou rozděleny mezi členy skupiny následovně: každý člen dostane dvojici čísel , kde .
Chcete-li obnovit tajemství, musíte fragmenty sloučit. V tomto případě dostaneme systém srovnání formy , jehož množinu řešení lze najít pomocí čínské věty o zbytku . Tajné číslo patří do této sady a splňuje podmínku . Je také snadné ukázat, že pokud je počet fragmentů menší než , pak pro nalezení tajenky je nutné seřadit pořadí celých čísel. Při správné volbě čísel je takové vyhledávání téměř nemožné realizovat. Pokud je například bitová hloubka od 129 do 130 bitů a , pak bude poměr řádu [9] .
Schéma Asmuth-Bloom je upravené Mignotovo schéma. Na rozdíl od Mignotteho schématu jej lze zkonstruovat tak, aby bylo dokonalé [10] .
V roce 1983 Karnin, Green a Hellman navrhli své schéma tajného sdílení , které bylo založeno na nemožnosti vyřešit systém s neznámými s menším počtem rovnic [11] .
V rámci tohoto schématu jsou -rozměrné vektory voleny tak, že jakákoli matice velikosti složená z těchto vektorů má rank . Nechť má vektor rozměr .
Tajemstvím obvodu je maticový produkt . Podíly tajemství jsou díla .
S libovolnými podíly je možné sestavit soustavu lineárních rovnic rozměru , ve které jsou koeficienty neznámé . Vyřešením tohoto systému můžete najít , a mít , můžete najít tajemství. V tomto případě soustava rovnic nemá řešení, pokud jsou podíly menší než [12] .
Existuje několik způsobů, jak přerušit protokol prahového obvodu:
Existují také další možnosti narušení, které nesouvisejí s prováděním systému: