{"id":53444,"date":"2019-12-02T00:00:00","date_gmt":"2019-12-01T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/shema-razdeleniya-sekreta-shamira"},"modified":"2020-02-18T14:01:21","modified_gmt":"2020-02-18T11:01:21","slug":"shema-razdeleniya-sekreta-shamira","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/shema-razdeleniya-sekreta-shamira","title":{"rendered":"Schemat dzielenia tajemnicy Shamir\u2019a","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Rozwa\u017cmy scenariusz, w kt\u00f3rym konieczne jest zapewnienie bezpiecze\u0144stwa bankowego skarbca. Uwa\u017ca si\u0119, \u017ce jest on ca\u0142kowicie niedost\u0119pny bez klucza, kt\u00f3ry otrzymujesz w pierwszy dzie\u0144 pracy. Twoim celem jest niezawodnie przechowa\u0107 klucz.<\/p>\n<p>Za\u0142\u00f3\u017cmy, \u017ce postanowi\u0142e\u015b ca\u0142y czas trzyma\u0107 klucz przy sobie, udost\u0119pniaj\u0105c dost\u0119p do skarbca w razie potrzeby. Szybko jednak zrozumiesz, \u017ce takie rozwi\u0105zanie w praktyce nie skaluj\u0119 si\u0119 normalnie, poniewa\u017c za ka\u017cdym razem do otwarcia skarbca wymagana jest twoja fizyczna obecno\u015b\u0107. A co z obiecanym urlopem? Co wi\u0119cej, jeszcze bardziej przera\u017ca pytanie: co je\u015bli zgubisz jedyny klucz?<\/p>\n<p>My\u015bl\u0105c o urlopie, postanawiasz zrobi\u0107 kopi\u0119 klucza i powierzy\u0107 j\u0105 innemu pracownikowi. Jednak zdajesz sobie spraw\u0119, \u017ce to r\u00f3wnie\u017c nie jest idealne. Podwajaj\u0105c liczb\u0119 kluczy, podwajasz tak\u017ce mo\u017cliwo\u015bci kradzie\u017cy klucza.<\/p>\n<p>Zdesperowany, niszczysz duplikat i decydujesz si\u0119 podzieli\u0107 oryginalny klucz na p\u00f3\u0142. Teraz, my\u015blisz, dwie zaufane osoby z fragmentami klucza musz\u0105 fizycznie by\u0107 obecne, aby zebra\u0107 klucz i otworzy\u0107 skarbiec. Oznacza to, \u017ce z\u0142odziej musi ukra\u015b\u0107 dwa fragmenty, co jest dwa razy trudniejsze ni\u017c kradzie\u017c jednego klucza. Jednak wkr\u00f3tce u\u015bwiadamiasz sobie, \u017ce ten schemat niewiele r\u00f3\u017cni si\u0119 od posiadania jednego klucza, poniewa\u017c je\u015bli kto\u015b zgubi po\u0142ow\u0119 klucza, ca\u0142ego klucza nie mo\u017cna odzyska\u0107.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nProblem mo\u017cna rozwi\u0105za\u0107 za pomoc\u0105 serii dodatkowych kluczy i zamk\u00f3w, ale przy takim podej\u015bciu szybko zaistnieje potrzeba <i>wielu<\/i> kluczy i zamk\u00f3w. Postanawiasz, \u017ce w idealnym schemacie klucz powinien by\u0107 podzielony, aby bezpiecze\u0144stwo nie zale\u017ca\u0142o ca\u0142kowicie od jednej osoby. Dochodzisz r\u00f3wnie\u017c do wniosku, \u017ce powinno istnie\u0107 pewne progi liczby fragment\u00f3w, aby przy utracie jednego fragmentu (lub je\u015bli osoba posz\u0142a na urlop) ca\u0142y klucz pozostawa\u0142 funkcjonalny.<\/p>\n<h1>Jak podzieli\u0107 sekret<\/h1>\n<p>\nO takim typie schematu zarz\u0105dzania kluczami my\u015bla\u0142 Adi Shamir w 1979 roku, gdy opublikowa\u0142 swoj\u0105 prac\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.jhu.edu\/~sdoshi\/crypto\/papers\/shamirturing.pdf\">\u201eJak podzieli\u0107 sekret\u201d<\/a><\/noindex>. W artykule kr\u00f3tko wyja\u015bniono tzw. <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/64d1d06429d10e2571b04ba756a9e44d.jpg\" style=\"display:block;margin: 0 auto;\" \/> schemat progowy do efektywnego podzia\u0142u tajnej warto\u015bci (np. klucza kryptograficznego) na <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/d2ecc715b363a149fefb4cc647a30e6e.jpg\" style=\"display:block;margin: 0 auto;\" \/> cz\u0119\u015bci. Nast\u0119pnie, gdy i tylko gdy co najmniej <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/7a3f94d0d7874387726d18ef0c5c4174.jpg\" style=\"display:block;margin: 0 auto;\" \/> z <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/83808316ecdccf2d3d1d05696c6d5507.jpg\" style=\"display:block;margin: 0 auto;\" \/> cz\u0119\u015bci s\u0105 zbierane, tajemnica mo\u017ce by\u0107 \u0142atwo odzyskana. <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/ec92794c36ed48497df201c55697e065.jpg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<p>Z punktu widzenia bezpiecze\u0144stwa kluczow\u0105 cech\u0105 tego schematu jest to, \u017ce atakuj\u0105cy nie powinien dowiedzie\u0107 si\u0119 niczego, je\u015bli nie ma przynajmniej <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/49419db7a603359c9d7f2949263e0f7d.jpg\" style=\"display:block;margin: 0 auto;\" \/> cz\u0119\u015bci. Nawet posiadanie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/13aad9d68bc8f0729bf06fc49435b7dc.jpg\" style=\"display:block;margin: 0 auto;\" \/> cz\u0119\u015bci nie powinno dawa\u0107 \u017cadnych informacji. Nazywamy t\u0119 cech\u0119 <i>bezpiecze\u0144stwem semantycznym<\/i>.<\/p>\n<h1>Interpolacja wielomianowa<\/h1>\n<p>\nSchemat progowy Shamira <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/5bcbb5a7f61e4e37103c379964d49e63.jpg\" style=\"display:block;margin: 0 auto;\" \/> oparty jest na koncepcji <b>interpolacji wielomianowej<\/b>. Je\u015bli nie jeste\u015b zaznajomiony z t\u0105 koncepcj\u0105, jest to naprawd\u0119 do\u015b\u0107 proste. Og\u00f3lnie rzecz bior\u0105c, je\u015bli kiedykolwiek rysowa\u0142e\u015b punkty na wykresie i potem \u0142\u0105czy\u0142e\u015b je liniami lub krzywymi, ju\u017c j\u0105 stosowa\u0142e\u015b!<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/66d66cc226dde7af9d71ab1ad7f92eea.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Przez dwa punkty mo\u017cna przeprowadzi\u0107 niesko\u0144czon\u0105 liczb\u0119 wielomian\u00f3w stopnia 2. Aby wybra\u0107 z nich jeden \u2014 potrzebny jest trzeci punkt. Ilustracja: <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%B0_%D0%A8%D0%B0%D0%BC%D0%B8%D1%80%D0%B0#\/media\/File:3_polynomials_of_degree_2_through_2_points.svg\">Wikipedia<\/a><\/noindex><\/i> <\/p>\n<p>Rozwa\u017cmy wielomian o stopniu jeden, <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/479ff09339b6907cf7fd5420a6b66907.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Je\u015bli chcesz narysowa\u0107 t\u0119 funkcj\u0119 na wykresie, ile punkt\u00f3w potrzebujesz? C\u00f3\u017c, wiemy, \u017ce jest to funkcja liniowa, kt\u00f3ra tworzy lini\u0119 i dlatego potrzebne s\u0105 co najmniej dwa punkty. Nast\u0119pnie rozwa\u017cmy funkcj\u0119 wielomianow\u0105 o stopniu dwa, <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/bd6591a5e317fadba394b9f93c03f813.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Jest to funkcja kwadratowa, wi\u0119c do narysowania wykresu potrzeba co najmniej trzech punkt\u00f3w. A co z wielomianem o stopniu trzy? Co najmniej cztery punkty. I tak dalej.<\/p>\n<p>Naprawd\u0119 fajn\u0105 rzecz\u0105 w tej w\u0142a\u015bciwo\u015bci jest to, \u017ce, bior\u0105c pod uwag\u0119 stopie\u0144 funkcji wielomianowej i co najmniej <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/97d23bb431f561738675a8eecd78c8bd.jpg\" style=\"display:block;margin: 0 auto;\" \/> punkt\u00f3w, mo\u017cemy wyprowadzi\u0107 dodatkowe punkty dla tej funkcji wielomianowej. Ekstrapolacj\u0119 tych dodatkowych punkt\u00f3w nazywamy <i>interpolacj\u0105 wielomianow\u0105<\/i>.<\/p>\n<h1>Sporz\u0105dzanie tajemnicy<\/h1>\n<p>\nMo\u017cesz ju\u017c zrozumie\u0107, \u017ce tutaj wkracza w gr\u0119 inteligentny schemat Shamira. Za\u0142\u00f3\u017cmy, \u017ce nasza tajemnica <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/9f18d04feb91617cc6b17ee999f7621e.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 to <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/724e6fe3c0b6e8460207592d515dde4a.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Mo\u017cemy zamieni\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/e1bb80717e0e060d77dc3fa2bff5e396.jpg\" style=\"display:block;margin: 0 auto;\" \/> w punkt na wykresie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/d7291bf682131a3cd1dc9fb65c351a5d.jpg\" style=\"display:block;margin: 0 auto;\" \/> i wymy\u015bli\u0107 funkcj\u0119 wielomianow\u0105 o stopniu <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c63b9a9efa9409f73baf5916cd77b8b5.jpg\" style=\"display:block;margin: 0 auto;\" \/>, kt\u00f3ra spe\u0142nia ten punkt. Przypomnijmy, \u017ce <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/4670e092c7dc86f70984a3d5e875ae7e.jpg\" style=\"display:block;margin: 0 auto;\" \/> b\u0119dzie naszym progiem wymaganych fragment\u00f3w, wi\u0119c je\u015bli ustawimy pr\u00f3g na trzy fragmenty, musimy wybra\u0107 funkcj\u0119 wielomianow\u0105 o stopniu dwa.<\/p>\n<p>Nasz wielomian b\u0119dzie mia\u0142 posta\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/06e96a58093b9e00d7c37ad5f832a6f4.jpg\" style=\"display:block;margin: 0 auto;\" \/>, gdzie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/fc9ce1b274e8224fcfee33290fee6455.jpg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/ec120b09589c1ee882f1f93b47626c94.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 losowo wybrane dodatnie liczby ca\u0142kowite. Po prostu tworzymy wielomian o stopniu <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/ef10f07dfb8496cca70579246c1d9c48.jpg\" style=\"display:block;margin: 0 auto;\" \/>, gdzie wsp\u00f3\u0142czynnik wolny <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/d7db113a15325721c9fea613a379026f.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0jest nasz\u0105 tajemnic\u0105 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/093bd4575a590bed819e6ec9f9b41aa0.jpg\" style=\"display:block;margin: 0 auto;\" \/>, a ka\u017cdy z nast\u0119pnych <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/6c33d819871b32ff7d347d00408d02d1.jpg\" style=\"display:block;margin: 0 auto;\" \/> cz\u0142onkom przypisano losowo wybrany dodatni wsp\u00f3\u0142czynnik. Je\u015bli wr\u00f3cimy do pierwotnego przyk\u0142adu i za\u0142o\u017cymy, \u017ce <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c6ff5a7ad5a6a82ae31c583148ea5274.jpg\" style=\"display:block;margin: 0 auto;\" \/>, to wtedy otrzymamy funkcj\u0119 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/b3386ca5ec27e0dacd17874d6f5720c8.jpg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<p>Na tym etapie mo\u017cemy generowa\u0107 fragmenty, \u0142\u0105cz\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/50a46de4540f90ddba6b1bbfa3702892.jpg\" style=\"display:block;margin: 0 auto;\" \/> unikalne liczby ca\u0142kowite w <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/fcbc7f0b6d9353e6eae0fafe4a06a4f2.jpg\" style=\"display:block;margin: 0 auto;\" \/>, gdzie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c58e20b2b97950112194f6a51707289c.jpg\" style=\"display:block;margin: 0 auto;\" \/> (poniewa\u017c to jest nasza tajemnica). W tym przyk\u0142adzie chcemy rozda\u0107 cztery fragmenty z progiem trzy, dlatego losowo generujemy punkty <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/720b820e264f0314cb2e14ab6502ee96.jpg\" style=\"display:block;margin: 0 auto;\" \/> i wysy\u0142amy po jednym punkcie do ka\u017cdego z czterech zaufanych os\u00f3b, stra\u017cnik\u00f3w klucza. Informujemy r\u00f3wnie\u017c ludzi, \u017ce <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c441ff2a652b58011e13d60855c7e404.jpg\" style=\"display:block;margin: 0 auto;\" \/>, poniewa\u017c to jest uznawane za informacj\u0119 publiczn\u0105 i jest niezb\u0119dne do odzyskania <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/2011019c98b6d1a77a0cd25a3667c9e4.jpg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<h1>Odzyskiwanie tajemnicy<\/h1>\n<p>\nJu\u017c om\u00f3wili\u015bmy koncepcj\u0119 interpolacji wielomianowej i to, co le\u017cy u podstaw schematu progowego Shamira <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/6f93e17d2d2ce5659972b98a9c8eee83.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Gdy jakiekolwiek trzy z czterech zaufanych os\u00f3b chc\u0105 odzyska\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/9b5ba8c78e395d3dee229e222c31d85a.jpg\" style=\"display:block;margin: 0 auto;\" \/>, musz\u0105 tylko przeprowadzi\u0107 interpolacj\u0119 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/cfec467c0571c4d54d74938c5667146f.jpg\" style=\"display:block;margin: 0 auto;\" \/> swoimi unikalnymi punktami. W tym celu mog\u0105 okre\u015bli\u0107 swoje punkty <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/035e1f8407434fdbe1b8814d7fd3ee1f.jpg\" style=\"display:block;margin: 0 auto;\" \/> i obliczy\u0107 interpolacyjny wielomian Lagrange'a, u\u017cywaj\u0105c nast\u0119puj\u0105cego wzoru. Je\u015bli programowanie jest dla Ciebie ja\u015bniejsze ni\u017c matematyka, to \u03c0 jest zasadniczo operatorem <code>for<\/code>, kt\u00f3ry mno\u017cy wszystkie wyniki, a \u03c3 to <code>for<\/code>, kt\u00f3ry wszystko sumuje.<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/01a47d3bc38f07f7b65da2ca1f772e28.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/cc0039bc38e27a62161bc0fde3b1472d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nPrzy <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/b41d5abefcac0bb813291063f0a56404.jpg\" style=\"display:block;margin: 0 auto;\" \/> mo\u017cemy to rozwi\u0105za\u0107 w nast\u0119puj\u0105cy spos\u00f3b, aby zwr\u00f3ci\u0107 nasz\u0105 pierwotn\u0105 funkcj\u0119 wielomianow\u0105:<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/b7af6d68d1fa639442f96ed11cc96bd7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nPoniewa\u017c wiemy, \u017ce <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/df250c5c331d0a2903867efcad71d325.jpg\" style=\"display:block;margin: 0 auto;\" \/>, odzyskiwanie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/a6968a889776d0caa3db0dd6e10842d4.jpg\" style=\"display:block;margin: 0 auto;\" \/> mo\u017cna przeprowadzi\u0107 po prostu:<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/b89862098c973d18a75a104092364a04.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1>U\u017cycie niebezpiecznej arytmetyki ca\u0142kowitej<\/h1>\n<p>\nCho\u0107 z powodzeniem zastosowali\u015bmy podstawowy pomys\u0142 Shamira <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/626be5c238019fc0a2ff08798b8e620c.jpg\" style=\"display:block;margin: 0 auto;\" \/>, mamy problem, kt\u00f3ry ignorowali\u015bmy do tej pory. Nasza funkcja wielomianowa u\u017cywa niebezpiecznej arytmetyki ca\u0142kowitej. Zauwa\u017c, \u017ce dla ka\u017cdego dodatkowego punktu, kt\u00f3ry napastnik uzyskuje na wykresie naszej funkcji, pozostaje mniej mo\u017cliwo\u015bci dla innych punkt\u00f3w. Mo\u017cesz to zobaczy\u0107 na w\u0142asne oczy, gdy rysujesz wykres przy rosn\u0105cej liczbie punkt\u00f3w dla funkcji wielomianowej u\u017cywaj\u0105cej arytmetyki ca\u0142kowitej. To jest kontrproduktywne dla naszego zadeklarowanego celu bezpiecze\u0144stwa, poniewa\u017c napastnik nie powinien absolutnie nic wiedzie\u0107, dop\u00f3ki nie otrzyma przynajmniej <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/d5278c748b7713fc387c37425d43656d.jpg\" style=\"display:block;margin: 0 auto;\" \/> fragment\u00f3w.<\/p>\n<p>Aby pokaza\u0107, jak s\u0142aba jest schemat arytmetyki ca\u0142kowitej, rozwa\u017cmy scenariusz, w kt\u00f3rym napastnik uzyska\u0142 dwa punkty <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/ebe75137fa19aaccdc733618707de3c0.jpg\" style=\"display:block;margin: 0 auto;\" \/> i zna informacj\u0119 publiczn\u0105, \u017ce <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/45dc1dbd7564637c96d1c8383af19e15.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Z tej informacji mo\u017ce wywnioskowa\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/16e75561bf051ecd3232f0560f75e494.jpg\" style=\"display:block;margin: 0 auto;\" \/>, r\u00f3wny dw\u00f3m, i wprowadzi\u0107 znane warto\u015bci do wzoru <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/e6c550b9a0d630e62d5be66e61ff3a89.jpg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/e2a3c2a324c159cf73852513dda5ff3b.jpg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/003b535b08b5de17b573c7af61110dbb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n Nast\u0119pnie napastnik mo\u017ce znale\u017a\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/76d496e3442e88c7d5a238612f2ee8da.jpg\" style=\"display:block;margin: 0 auto;\" \/>, obliczaj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/96ef9b4a0657cd258978e2eda974bd09.jpg\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/8e677012c61e1cc45f1f3be6e44aa1c1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nPoniewa\u017c zdefiniowali\u015bmy <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/62af08665bef7cd3fc447411455352c6.jpg\" style=\"display:block;margin: 0 auto;\" \/> jako losowo wybrane liczby ca\u0142kowite dodatnie, istnieje ograniczona liczba mo\u017cliwych <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/66c39a1014c0acab55fea137f28a6d0f.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Dzi\u0119ki tym informacjom napastnik mo\u017ce wywnioskowa\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/0c3caaa1e189ffea0001ca9ad08a65d1.jpg\" style=\"display:block;margin: 0 auto;\" \/>, poniewa\u017c wszystko, co jest wi\u0119ksze ni\u017c 5, uczyni <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/104807891ce9ab1d3adc649f8d1dcd29.jpg\" style=\"display:block;margin: 0 auto;\" \/> ujemnym. Okazuje si\u0119 to prawd\u0105, poniewa\u017c zdefiniowali\u015bmy <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/cf2bebff28344be58b02c492fd0e49ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Nast\u0119pnie napastnik mo\u017ce obliczy\u0107 mo\u017cliwe warto\u015bci <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/7c9c09333ee4ab432122e959892daeda.jpg\" style=\"display:block;margin: 0 auto;\" \/>, zast\u0119puj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c5d88d7a2488ae0c40e5ec3edb66dd2d.jpg\" style=\"display:block;margin: 0 auto;\" \/> do <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/8fd97c507a4d2bc8d4e4619e10e97063.jpg\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/1f2fb897dc37702dd543a6d7783339cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nZ ograniczonym zestawem opcji dla <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/9960ad727ecf47084cacfb9f487f329a.jpg\" style=\"display:block;margin: 0 auto;\" \/> staje si\u0119 jasne, jak \u0142atwo jest dobra\u0107 i zweryfikowa\u0107 warto\u015bci <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/47f9786e9728ed72e10dd505d7445b41.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Jest tylko pi\u0119\u0107 mo\u017cliwo\u015bci.<\/p>\n<h1>Rozwi\u0105zanie problemu z niebezpieczn\u0105 arytmetyk\u0105 ca\u0142kowit\u0105<\/h1>\n<p>\nAby wyeliminowa\u0107 t\u0119 podatno\u015b\u0107, Shamir proponuje stosowanie arytmetyki modularnej, zast\u0119puj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/503fd220af76c5e96cce3a84a4673f91.jpg\" style=\"display:block;margin: 0 auto;\" \/> na <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/49ab2b2ee61d6551a1b41f6a1795a295.jpg\" style=\"display:block;margin: 0 auto;\" \/>, gdzie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/bb5a5adda52f7d4dd401efd8a040be69.jpg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/1e062a8784dfb6da2bc708d3de027042.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 zbiorem wszystkich liczb pierwszych.<\/p>\n<p>Szybko przypomnijmy sobie, jak dzia\u0142a arytmetyka modularna. Zegar z wskaz\u00f3wkami to ju\u017c znana koncepcja. U\u017cywa on zegar\u00f3w, kt\u00f3re s\u0105 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/93520a0c8bdbbe57ab424e58c3bbfe30.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Gdy wskaz\u00f3wka godzinowa przechodzi obok dwunastej, wraca z powrotem do jednego. Ciekaw\u0105 w\u0142a\u015bciwo\u015bci\u0105 tego systemu jest to, \u017ce patrz\u0105c na zegar, nie mo\u017cemy wywnioskowa\u0107, ile obrot\u00f3w wykona\u0142a wskaz\u00f3wka godzinowa. Jednak je\u015bli wiemy, \u017ce wskaz\u00f3wka godzinowa min\u0119\u0142a 12 cztery razy, mo\u017cemy ca\u0142kowicie okre\u015bli\u0107 liczb\u0119 minionych godzin za pomoc\u0105 prostego wzoru <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/5b8b7655f38ee900b989fdc070616a6b.jpg\" style=\"display:block;margin: 0 auto;\" \/>, gdzie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/0ec5da4245e1eac619b42bb62f682773.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 to nasz dzielnik (tutaj <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/a8656dac61ddb1097f06781c5b5aad69.jpg\" style=\"display:block;margin: 0 auto;\" \/>), <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/3ba5b3dc4f29fac3c9d4f5f2072d688b.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 to wsp\u00f3\u0142czynnik (ile razy dzielnik bez reszty przechodzi w liczb\u0119 pierwotn\u0105, tutaj <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/ac9bb70e1511109b0181e14b6227f57e.jpg\" style=\"display:block;margin: 0 auto;\" \/>), a <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/57b6842c2bfd39b19ce428e5b9345946.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 to reszta, kt\u00f3r\u0105 zazwyczaj zwraca operator modu\u0142u (tutaj <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/28f71e672ecc717d2bd1845e27273398.jpg\" style=\"display:block;margin: 0 auto;\" \/>). Znajomo\u015b\u0107 wszystkich tych warto\u015bci pozwala nam rozwi\u0105za\u0107 r\u00f3wnanie dla <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/9548f9d6b522258582be1f8968752866.jpg\" style=\"display:block;margin: 0 auto;\" \/>, ale je\u015bli pominiesz wsp\u00f3\u0142czynnik, nigdy nie b\u0119dziesz m\u00f3g\u0142 odzyska\u0107 pierwotnej warto\u015bci.<\/p>\n<p>Mo\u017cna pokaza\u0107, jak to poprawia bezpiecze\u0144stwo naszego schematu, zastosowuj\u0105c schemat do naszego poprzedniego przyk\u0142adu i u\u017cywaj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c0f760bdd2b67444bd233d4ea7fe5e72.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Nasza nowa funkcja wielomianowa <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/afddb9747f68076bc6dbe9b5cf60d107.jpg\" style=\"display:block;margin: 0 auto;\" \/>, a nowe punkty <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/da9d9ecfcf949b6be4bc8e3a29d670ab.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Teraz stra\u017cnicy klucza mog\u0105 ponownie u\u017cy\u0107 interpolacji wielomianowej do odtworzenia naszej funkcji, tylko tym razem operacje dodawania i mno\u017cenia musz\u0105 by\u0107 po\u0142\u0105czone z redukcj\u0105 modulo <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/f94ae5343347b38dc64228472b564f0e.jpg\" style=\"display:block;margin: 0 auto;\" \/> (np. <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/d19138189cd40c6c01ab68d3d6b7027b.jpg\" style=\"display:block;margin: 0 auto;\" \/>).<\/p>\n<p>Zak\u0142adaj\u0105c, \u017ce napastnik dowiedzia\u0142 si\u0119 o dw\u00f3ch z tych nowych punkt\u00f3w, <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/4f13c2640360f124305f3f023d6cfa83.jpg\" style=\"display:block;margin: 0 auto;\" \/>, a informacje publiczne <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/376e0e059b761e3f3e7473d8d2d3428f.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Tym razem atakuj\u0105cy na podstawie ca\u0142ej dost\u0119pnej mu informacji wprowadza nast\u0119puj\u0105ce funkcje, gdzie <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/f0aedf279cc2418e2d62d51e63e324b2.jpg\" style=\"display:block;margin: 0 auto;\" \/>\u00a0\u2014 zbi\u00f3r wszystkich dodatnich liczb ca\u0142kowitych, a <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c92efad35129d61013f6e37ec1907fd3.jpg\" style=\"display:block;margin: 0 auto;\" \/> reprezentuje wsp\u00f3\u0142czynnik modu\u0142u <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c2679ec08a40d7aa13a9d375b610642c.jpg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/0f6d09b6c15f013e9a445fef060f8091.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nTeraz nasz przest\u0119pca ponownie znajduje <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/8e01640ea802740996150d09277cbf1f.jpg\" style=\"display:block;margin: 0 auto;\" \/>, obliczaj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/78fa395ca715c36835c38f4fe16d63e0.jpg\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/d739d7e52d675aeba9abcc6ada4097e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nNast\u0119pnie ponownie stara si\u0119 wyprowadzi\u0107 <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/e47c9bd27ac92787c287b7db249a345f.jpg\" style=\"display:block;margin: 0 auto;\" \/>, zast\u0119puj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/15c82f6824ad986351d3358c32b28f26.jpg\" style=\"display:block;margin: 0 auto;\" \/> do <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/56cddebdf83ddc105aa8aba91bd0bb38.jpg\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/6e9643108864d1d2cf9e04bed493fff7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nTym razem ma powa\u017cny problem. W r\u00f3wnaniu brakuje warto\u015bci <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/217282ca338c79dd058db66f405b07a0.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/fb908d84b7eac873bba662cf69d95b95.jpg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/83389928ca52ffce5266fe6a414e1f18.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Poniewa\u017c istnieje niesko\u0144czona liczba kombinacji tych zmiennych, nie mo\u017ce uzyska\u0107 \u017cadnych dodatkowych informacji.<\/p>\n<h1>Rozwa\u017cania dotycz\u0105ce bezpiecze\u0144stwa<\/h1>\n<p>\nSchemat dzielenia sekret\u00f3w Shamira oferuje <i>bezpiecze\u0144stwo z punktu widzenia teorii informacji<\/i>. Oznacza to, \u017ce matematyka jest odporna nawet na atakuj\u0105cego z nieograniczon\u0105 moc\u0105 obliczeniow\u0105. Jednak schemat wci\u0105\u017c zawiera kilka znanych problem\u00f3w.<\/p>\n<p>Na przyk\u0142ad schemat Shamira nie tworzy <i>weryfikowalnych fragment\u00f3w<\/i>, to znaczy ludzie mog\u0105 swobodnie przedstawia\u0107 fa\u0142szywe fragmenty i utrudnia\u0107 odtworzenie prawid\u0142owego sekretu. Wrogi przechowawca fragment\u00f3w z wystarczaj\u0105cymi informacjami mo\u017ce nawet wyprodukowa\u0107 inny fragment, zmieniaj\u0105c <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/8f646ae3193da8c9be778eceb315e902.jpg\" style=\"display:block;margin: 0 auto;\" \/> wed\u0142ug w\u0142asnego uznania. Problem ten rozwi\u0105zuje si\u0119 za pomoc\u0105 <i>weryfikowalnych schemat\u00f3w dzielenia sekret\u00f3w<\/i>, takich jak schemat Feldmana.<\/p>\n<p>Innym problemem jest to, \u017ce d\u0142ugo\u015b\u0107 dowolnego fragmentu jest r\u00f3wna d\u0142ugo\u015bci odpowiadaj\u0105cego mu sekretu, wi\u0119c d\u0142ugo\u015b\u0107 sekretu jest \u0142atwa do okre\u015blenia. Problem ten rozwi\u0105zuje trywialne <i>wype\u0142nienie<\/i> sekretu dowolnymi liczbami do sta\u0142ej d\u0142ugo\u015bci.<\/p>\n<p>Na koniec wa\u017cne jest, aby zauwa\u017cy\u0107, \u017ce nasze obawy dotycz\u0105ce bezpiecze\u0144stwa mog\u0105 wykracza\u0107 poza sam schemat. W przypadku rzeczywistych aplikacji kryptograficznych cz\u0119sto istnieje zagro\u017cenie atakami z boku, kiedy atakuj\u0105cy stara si\u0119 wydoby\u0107 u\u017cyteczne informacje z czasu wykonywania aplikacji, pami\u0119ci podr\u0119cznej, awarii itp. Je\u015bli to budzi obawy, podczas rozwoju nale\u017cy dok\u0142adnie rozwa\u017cy\u0107 zastosowanie \u015brodk\u00f3w zabezpieczaj\u0105cych, takich jak funkcje i wyszukiwanie o sta\u0142ym czasie wykonania, zapobiec zapisaniu pami\u0119ci na dysku oraz przemy\u015ble\u0107 szereg innych kwestii, kt\u00f3re wykraczaj\u0105 poza ten artyku\u0142.<\/p>\n<h1>Demo<\/h1>\n<p>\nNa <noindex><a rel=\"nofollow\" href=\"https:\/\/ericrafaloff.com\/shamirs-secret-sharing-scheme\/\">tej stronie<\/a><\/noindex> jest interaktywna demonstracja schematu dzielenia sekret\u00f3w Shamira. Demonstracja powsta\u0142a na bazie biblioteki <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gburca\/ssss-js\/\">ssss-js<\/a><\/noindex>, kt\u00f3ra sama w sobie jest portem JavaScript popularnego programu <noindex><a rel=\"nofollow\" href=\"http:\/\/point-at-infinity.org\/ssss\/\">ssss<\/a><\/noindex>Zwr\u00f3\u0107 uwag\u0119, \u017ce obliczanie du\u017cych warto\u015bci <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/4d8ec4bf92d337e22ed38aef8c2afa60.jpg\" style=\"display:block;margin: 0 auto;\" \/>, <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/cadfa859ca9627c9c3d63d52e1270de2.jpg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Schemat dzielenia tajemnicy Shamir\u2019a\" src=\"\/wp-content\/uploads\/2019\/12\/c66b23e0128c4b7a50e9d8b0ed99e406.jpg\" style=\"display:block;margin: 0 auto;\" \/> mo\u017ce zaj\u0105\u0107 troch\u0119 czasu.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/431392\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u041e\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435\u043f\u0440\u0438\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0430\u043c \u0432\u044b\u0434\u0430\u044e\u0442 \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u0434\u0435\u043d\u044c \u0440\u0430\u0431\u043e\u0442\u044b. \u0412\u0430\u0448\u0430 \u0446\u0435\u043b\u044c\u00a0\u2014 \u043d\u0430\u0434\u0451\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043b\u044e\u0447. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0432\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432\u0441\u0451 \u0432\u0440\u0435\u043c\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043b\u044e\u0447 \u043f\u0440\u0438 \u0441\u0435\u0431\u0435, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0443 \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041d\u043e \u0432\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0439\u043c\u0451\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u0442\u0441\u044f, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53444","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u041e\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435\u043f\u0440\u0438\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0430\u043c \u0432\u044b\u0434\u0430\u044e\u0442 \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u0434\u0435\u043d\u044c \u0440\u0430\u0431\u043e\u0442\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/shema-razdeleniya-sekreta-shamira\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u0430 \u0428\u0430\u043c\u0438\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u041e\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435\u043f\u0440\u0438\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0430\u043c \u0432\u044b\u0434\u0430\u044e\u0442 \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u0434\u0435\u043d\u044c \u0440\u0430\u0431\u043e\u0442\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/shema-razdeleniya-sekreta-shamira\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-01T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:21+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Schemat dzielenia tajemnicy Shamira | ProHoster","description":"Rozwa\u017cmy scenariusz, w kt\u00f3rym konieczne jest zapewnienie bezpiecze\u0144stwa skarbca bankowego. Jest on uwa\u017cany za ca\u0142kowicie niedost\u0119pny bez klucza, kt\u00f3ry otrzymujesz w pierwszym dniu pracy.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/shema-razdeleniya-sekreta-shamira","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u0430 \u0428\u0430\u043c\u0438\u0440\u0430 | ProHoster","og:description":"\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u041e\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043d\u0435\u043f\u0440\u0438\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0430\u043c \u0432\u044b\u0434\u0430\u044e\u0442 \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u0434\u0435\u043d\u044c \u0440\u0430\u0431\u043e\u0442\u044b.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/shema-razdeleniya-sekreta-shamira","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-01T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53444","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 07:23:42","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:25:27","updated":"2026-01-24 07:23:42","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=53444"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53444\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=53444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=53444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=53444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}