Intro('StarΘ moudro °φkß, ₧e t°i mu₧i dokß₧ou uchovat spoleΦnΘ tajemstvφ jen za p°edpokladu, ₧e dva z nich jsou mrtvφ. B²vßvalo r∙zn∞, ale te∩ je na sv∞t∞ kryptografie, aby tento problΘm °eÜila. ╪φkß se mu secret sharing, resp. secret splitting.');
Z praxe nenφ ojedin∞lß situace, kdy se p°i ochran∞ (nap°φklad) firemnφho tajemnstvφ, know-how apod. z pochopiteln²ch d∙vod∙ nenφ mo₧nΘ spolΘhat na jednu jedinou osobu. Je nutnΘ vytvo°it n∞jak² mechanizmus, jeho₧ primßrnφm ·kolem bude rozd∞lit n∞jakß privilegia mezi n∞kolik lidφ tak, aby p°i kompromitovßnφ jednΘ osoby Φi n∞jakΘ Φßsti skupiny byl p°edm∞t ochrany stßle stejn∞ dob°e st°e₧en.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
V reßlnΘm sv∞t∞ mi na mysl okam₧it∞ padnou ΦeskΘ KorunovaΦnφ klenoty - dve°e do sφn∞, kde jsou ulo₧eny, majφ n∞kolik zßmk∙ a jednotlivΘ jsou prop∙jΦeny n∞kolika p°edstavitel∙m stßtu. Cesta fyzickß, cesta bezpeΦnß. Jak ji₧ to ale b²vß, informaΦnφ technologie hrajφ v ₧ivot∞ Φφm dßl tφm v∞tÜφ roli a i tento problΘm mß svΘho elektronickΘho bratra. ╪φkß se mu Secret splitting Φi Secret sharing.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Na rozd∞lenφ d∙v∞rnΘ informace existuje n∞kolik metod, nejjednoduÜÜφ je pou₧itφ b∞₧nΘho logickΘho XORu. XOR je binßrnφ operace, kterß pro dva souhlasnΘ bity (dv∞ nuly nebo dv∞ jedniΦky) vracφ nulu, v opaΦnΘm p°φpad∞ jedniΦku. V p°φpad∞ xorovßnφ v∞tÜφch objekt∙ (nap°φklad Φφsel) se kratÜφ z nich (pokud nejsou stejn∞ dlouhΘ) doplnφ zleva nulami a xorujφ se jednotlivΘ bity (tj. vlastn∞ Φφslice ve dvojkovΘ soustav∞). Nenφ t∞₧kΘ ov∞°it, ₧e Φφslo dvakrßt xorovanΘ stejnou hodnotou vracφ op∞t hodnotu p∙vodnφ, tedy ₧e (a XOR b) XOR b = a, jinak °eΦeno a XOR a = 0 pro jakΘkoliv a. Pokud chceme my, jako₧to d∙v∞ryhodnß a nezßvislß "t°etφ" strana rozd∞lit zprßvu M nap°φklad mezi Φty°i osoby, nßhodn∞ vygenerujeme t°i °et∞zce A, B, C o stejnΘ dΘlce jako M a Φtvrt², D, dopoΦφtßme xorovnßnφm p°edchozφch a M. Tedy D = A XOR B XOR C XOR M. Nenφ t∞₧kΘ ov∞°it, ₧e dφky v²Üe zmi≥ovanΘ vlastnosti si tato skupinka lidφ M lehce dopoΦφtß pouh²m sexorovßnφm sv²ch dφl∙, A XOR B XOR C XOR (A XOR B XOR C XOR M) = M.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Pokud je vÜe provedeno sprßvn∞ a t°etφ strana je skuteΦn∞ d∙v∞ryhodnß jak se o nφ p°edpoklßdß, je tato metoda naprosto bezpeΦnß. V minul²ch dφlech povφdßnφ o Üifrßch jsme si popisovali tzv. jednorßzov² blok jako₧to jedinou neprolomitelnou Üifru. T∞₧φ jednak z toho, ₧e klφΦ je generovßn nßhodn∞ a, jak u₧ z nßzvu vypl²vß, pou₧it jen jednou a jednak z toho ₧e je stejn∞ dlouh² jako zprßva. ┌toΦnφkovi pak nepom∙₧e ani ·tok hrubou silou (vyzkouÜenφ vÜech mo₧nostφ), nebo¥ pravd∞podobnost, ₧e dostane p∙vodnφ tajn² text je stejnß jako ₧e obdr₧φ Shakespearovy sonety Φi Zßkon o dani z p°φjmu. Pokud se nad algoritmem zamyslφte, shledßte, ₧e takov²m jednorßzov²m blokem vlastn∞ je.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
TakovΘto schΘma mß ale spoustu nev²hod. P°edn∞ je to nutnost generovßnφ a skladovßnφ Φty° stejn∞ dlouh²ch Φφsel, °et∞zc∙ Φi text∙, co₧ m∙₧e b²t pravda vy°eÜeno klasickou symetrickou kryptografiφ. Mφsto dlouhΘho souboru pak jednotlivΘ osoby budou sdφlet pouze svojφ "Φßst" krßtkΘho Üifrovacφho klφΦe. Dßle, jak ji₧ bylo °eΦeno, je pot°eba n∞jakΘ d∙v∞ryhodnΘ t°etφ stany. To samo o sob∞ je obrovskß nesnßz. Ke skuteΦn∞ bezpeΦnΘmu elektronickΘmu podpisu pro komunikaci se stßtem pot°ebujeme sφ¥ certifikaΦnφch autorit, ·°ad∙, vyhlßÜek apod. a jak jsme daleko... Navφc nutn² prost°ednφk mß v naÜem p°φpad∞ neomezenou moc, nejen₧e on znß tajemstvφ celΘ, ale m∙₧e jednotliv²m ·Φastnφk∙m podstrΦit jakΘkoliv vymyÜlenΘ hodnoty (D), ti podvod nepoznajφ dokud se nepokusφ sklßdanku slo₧it.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
A co kdy₧ jeden z nich sv∙j "dφl" ztratφ? Pak majφ vÜichni problΘm, nenφ zp∙sob jak²m by mohli v²sledek slo₧it. To vÜe proto, ₧e zprßva nebyla "rozd∞lena" v pravΘm slova smyslu, ale jen zaxorovßna nßhodn²mi hodnotami.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
V praxi vÜak m∙₧e b²t situace komplikovan∞jÜφ. P°edn∞ m∙₧eme po₧adovat, aby se tajemstvφ dalo rekonstruovat i p°i n∞jakΘm poΦtu chyb∞jφcφch ·Φastnφk∙ a to nejen proto, ₧e by sv∙j dφl mohl n∞kter² z nich ztratit. Dßle by se hodilo, pokud by n∞kterß osoba mohla mφt v∞tÜφ d∙le₧itost ne₧ statnφ. Nap°φklad podpisovΘ prßvo by mohl mφt bu∩ jednatel spoleΦnosti, nebo, v jeho nep°φtomnosti, pokud se shodnou vÜichni t°i jeho nßm∞stci.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Tyto a dalÜφ po₧adavky °eÜφ komplikovan∞jÜφ algoritmy, kterΘ se anglicky naz²vajφ threshold schemes, n∞co jako "prahovß schΘmata". ZjednoduÜen∞ fungujφ tak, ₧e zprßva M se rozd∞lφ do n dφl∙ (orig. shadows), p°iΦem₧ m z nich m∙₧e M rekonstruovat. Mluvφme pak o (m,n)-threshold scheme.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Na obrßzku je vid∞t d∞lenφ Üifrovacφho klφΦe v PGP. Celkem jsou k dispozici 4 dφly, kterΘ byly rozd∞leny mezi t°i osoby. Platn² podpis p°itom zajistφ alespo≥ dv∞ Φtvrtiny.
</DIV></FONT></b></i>
<SCRIPT>
_Image('file.php@Name=pgp','D∞lenφ Üifrovacφho klφΦe v PGP. Celkem jsou k dispozici 4 dφly, kterΘ byly rozd∞leny mezi t°i osoby. Platn² podpis p°itom zajistφ alespo≥ dv∞ Φtvrtiny','153','Left');
Tφm jsme zamezili faktickΘmu zniΦenφ zprßvy v p°φpad∞ ztrßty n∞jakΘho dφlu, navφc m∙₧eme namodelovat jakoukoliv situaci chceme. A co pokud po₧adujeme v∞tÜφ d∙le₧itost toho Φi onoho Φlov∞ka? JednoduÜe mu dßme vφc dφl∙, v popisovanΘm p°φpad∞ s obchodnφ spoleΦnostφ bychom vytvo°ili (3,6)-threshold schema, p°iΦem₧ zßstupc∙m dßme po jednom (specißln∞ v tomto p°φpad∞ se takΘ nask²tß mo₧nost (3,3) p°iΦem₧ jednatel bude vlastnit dφly jeho zßstupc∙).