Public-ey systémy (systémy s veřejným líčem) použití jednosměrných (trapdoor) funcí - snadno vyčíslitelná funce, jejíž inversní funci lze efetivně počítat pouze se znalostí (malého) množství dodatečných informací. Nezávislé na zprávě. aždý uživatel vlastní pár líčů: veřejný (public) líč - znám všem uživatelům systému, používá se šifrování zpráv zasílaných tomuto uživateli tajný, souromý (private) líč - uživatel uchovává v tajnosti, používá jej dešifrování došlých zpráv tajný líč nelze efetivně odvodit ze znalosti odpovídajícího veřejného líče výhodou systémů s veřejnými líči je relativně malé množství používaných líčů, možnost vytváření veřejně ověřitelných eletronicých podpisů, větší flexibilita správy líčového materiálu celá řada mechanismů: asymetricé šifry podepisovací schémata autentizační schémata distribuce líčů generátory náhodných sevencí Asymetricé šifry tzn. šifrovací algoritmy založené na mechanismech s veřejným líčem veřejný líč šifrování, tajný líč dešifrování Merle-Hellman systém založen na problému batohu, přenášená zpráva je chápána jao vetor řešení, přenášena je výsledná suma - "hmotnost batohu" samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru / 0
a, a, a n - posloupnost celých čísel, T cílová suma = hmotnost batohu, hledáme vetor v taový, aby av i i = T i nechť posloupnost a, a, a n je superrostoucí, problém nalezení vetoru v je v tomto případě zvládnutelný v lineárním čase Konstruce systému zvolíme superrostoucí posloupnost s, s, s n, dále vybereme číslo w a modul m, w bereme nesoudělné s m, m > s n. Ze zvolených hodnot sestavíme již obecnou posloupnost h = w* s mod m i i Posloupnost {s i } i= n a čísla w a m utajíme, dále budou sloužit jao souromý líč. Posloupnost {h i } i= n zveřejníme jaožto veřejný líč. Šifrování Otevřený text P rozdělíme na bloy dély n bitů. Každý blo P j nahradíme sumou Cj = i p h j i Zašifrovaný text C odešleme i Dešifrování Autorizovaný příjemce vypočítá w - - z vlastností w a m určitě existuje. Pro aždý blo C j spočítá C j * w -. Vyřeší problém batohu se superrostoucí posloupností {s i } i= n pro všechny hodnoty zísané v předchozím bodě. Konatenací řešení vznine původní zpráva P. Koretnost dešifrování samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru / 0
w - e(p) mod m = w - (p h + p h + + p nh n ) mod m = = p w - h + p w - h + + p n w - h n mod m = = p w - ws + p w - ws + + p n w - ws n mod m = = p s + p s + + p ns n mod m. Poznámy implementaci Pro rozumné apliace: m bývá voleno ve veliosti 00 až 00 číslic, s i mají délu 00 až 400 číslic, batoh mívá přibližně 00 polože možný způsob vytvoření superrosotoucího batohu: vygenerujeme n náhodných čísel r i z intervalu <0, 00 > s i = 00 + i - + r i Analýza Merle-Hellmanova systému Známe-li m, je možné odvodit prvy superrostoucího batohu. Položme p Pa ovšem platí p = h Spočítáme posloupnost o h modm ( w* so ) ( w* s ) = modm = s o s { i p } D = * mod = Pro nějaé ovšem nastane m m i modm * pmod m = * s * s modm = s 0 0 Lze očeávat, že s 0 bude nejmenším prvem D. Známe-li s 0, lze spočítat w a tedy všechny s i. Hodnoty w a m je možné odhadovat pouze z posloupnosti {h i } i= n. Hodnota m je větší než libovolné h i. Budeme zoušet různé hodnoty pro w. samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 3 / 0
Možné správné hodnoty w se nacházejí v přerývajících se bodech disontinuity. K prolomení Merle-Hellmanova systému tedy není nutné vyřešit obecný problém batohu, ale stačí použít naznačeného postupu, terý je daleo rychlejší. M-H systém tedy není vhodný ochraně důležitých informací. El Gamal ryptosystém založen na obtížnosti výpočtu disrétního logaritmu nad oruhem Konstruce ryptosystému Společný modul q, dále je zvoleno číslo g co nejvyššího řádu (nejlépe generátor). Každý účastní i si zvolí tajný líč y i a vypočítá veřejný líč Šifrování nechť uživatel A posílá zprávu P (< q) uživateli B náhodně vybere číslo a vypočítá: g y mod q; P( g B ) mod q obě čísla zašle B Dešifrování uživatel B vypočítá ( g ) y B mod q g i y mod q a určí inverzní prve. S jeho použitím z druhého čísla zpětně zísá P. samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 4 / 0
Koretnost dešifrování Zřejmě P y ( g ) ( g ) ( ) ( ) ( ) ) y y y = P g g P B B B B = Analýza El Gamalova ryptosystému ryptosystém je považován za bezpečný, nevýhodou je nutnost generování náhodných čísel a zdvojnásobení objemu dat při šifrování, je relativně pomalý Rivest-Shamir-Adelman ryptosystém uveřejněný v roce 977, nědy označován jao ód Herules Kryptoschéma je založeno na Eulerově formuli ϕ a n ( ) ( modn) ( ) de φ(n) je počet čísel z intervalu,, n, terá jsou s n nesoudělná. Platí: de ϕ n a a a ( n) = ( p p ) ( p p ) K( p p ) ( ) a a = p p K je prvočíselný rozlad čísla n. p a ( 3) Šifrování je třeba znát číslo n a malé prvočíslo e. Otevřený text P převedeme na posloupnost čísel modulo n. Každý blo P j zašifrujeme dle vzorce e ( ) Cj Pj mod n (4) Spojením výsledných bloů C j vznine zašifrovaný text. samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 5 / 0
Dešifrování je třeba znát číslo n, a číslo d. Každý z bloů C j dešifrujeme tato: P j d ( modn) Cj (5) Výpočet dešifrovacího líče d Musí platit ed mod n ( ϕ( )) (6) Prvočíslo e nesmí dělit φ (n). d určíme z předchozího vztahu rozšířeným Euclidovým algoritmem. Mimochodem, uvažte následující postup: Nalezneme e r ( n) ( mode) Ze () plyne ( e) =e Položíme tedy ϕ (7) ϕ, s použitím () r d ϕ ( ) ( ) ( e n ϕ n ) ( mode) ϕ (8) ( n) r + = ϕ e (9) tedy existuje více než jeden dešifrovací líč V praxi volíme e pevné (65535), pro aždého účastnía nalezneme zvláštní n a dopočítáme dešifrovací líč. d se počítá rozšířeným Eulidovým algoritmem. Koretnost dešifrování S použitím () a (6) postupně dostáváme P ed j P ed modϕ j ( n) P P ( modn) j j samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 6 / 0
Výběr líčů, implementační poznámy Veřejný líč tvoří pár (n, e), souromý líč pár (n, d). Číslo n musí být velmi velé, nesmí mít malé fatory. Pro reálné použití přibližně 00 až 00 bitů. Nechť n je součinem prvočísel p a q. Klíč e volíme jao prvočíslo větší než (p - ) a (q - ). Hranice bezpečnosti se posouvá od 04 bitů modulu n, směrem 500 bitů, lépe 048, líče pro delší použití nebo vyšší stupeň bezpečnosti 4096 a více bitů Nejlepším současným algoritmem pro fatorizaci velých čísel je NFS (Number Field Sieve), teré rozládá čísla praticy bez ohledu na struturu Při této volbě má nepřítel na výběr zhruba prvočíselných činitelů. n lnn 50 0 00ln0 možných Invertování čísla v oruhu dělení čísel, případně výpočet inverzní hodnoty v rámci oruhu (tělesa) nelze samozřejmě pro tzv. dělitele nuly používá se rozšířený Euclidův algoritmus (viz. níže), uvažte, že ax (mod d) Rozšířený Euclidův algoritmus vstup: nezáporná čísla a a b, a výstup: d = gcd(a, b) a celá čísla x, y tž. ax + by = d if (b = 0) do d a, x, y 0, return (d, x, y) enddo x, x 0, y 0, y while b > 0 do q a b, r a qb, x x q x, y y q y a b, b r, x x, x x, y y, y y enddo d a, x x, y y return (d, x, y) taže položíme b =, x = e de e nesoudělné s a počítáme samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 7 / 0
Volba prvočísel Vygenerujeme náhodné liché číslo zvoleného řádu Otestujeme prvočíselnost Není-li prvočíslo, poračujeme bodem. Testy prvočíselnosti Pro aždé liché přirozené číslo n definujeme množinu W(n) Z n : pro a Z n lze v polynomiálním čase ověřit, zda a W(n) poud je n prvočíslo, W(n) = θ poud je n složené, W(n) >= n/ Prvy množiny W(n) nazýváme svědy toho, že číslo n je složené, ostatním číslům v Z n - W(n) říáme lháři. Solovay-Strassenův test prvočíselnosti Záladem je tzv. Eulerovo ritérium: Pro liché prvočíslo p platí r p J r, p splňující nsd(p, r) = ( ) ( )( modn) pro všechna celá čísla r Ze sutečnosti, že pro p liché existuje maximálně ( p) / p- lze odvodit následující algoritmus: p číslo, teré zoumáme, r libv. číslo, pa nutně a zároveň nsd(p, r) = ( ) p J r, p r modp de J(r, p) je Jacobiho funce, definovaná následovně ϕ lhářů pro čísla,,... pro r = ( ) ( ) ( ) ( p J r, p J, * ) 8 r p pro rsudé J( pmod r, r) *( ) ( r ) ( p ) 4 pro rliché, r zvolíme náhodně r tž. r p samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 8 / 0
( ) ( ) p spočítáme n = r mod p poud n a n p onec, je složené spočítáme s = J(r, p), poud není n sonec, je složené asi prvočíslo Opaováním testu pro různé hodnoty r lze docílit požadované jistoty, že p je sutečně prvočíslo. Miller-Rabinův test prvočíselnosti Založen na následující sutečnosti: Pro liché přirozené číslo p tž. p - = l s, de s je liché buď a celé číslo taové, že nsd(a,p) =. Potom a s ( mod p), nebo a j s mod ( p) pro nějaé j tž. 0 j l Odtud odvodíme následující algoritmus: Dáno testované číslo p. Nechť p - = l s, pro nějaé liché s Náhodně zvolíme a {,, p - } Spočítáme q a s mod p. Poud q modp Počítáme q, q,, q l onec - nemůže být prvočíslo. Nalezeme největší ta, že q asi prvočíslo, jina nemůže být prvočíslo. onec, asi prvočíslo. = a p -, vše mod p. Poud není a p mod p, mod n. Poud q mod p, onec - Analýza RSA není známa metoda vedoucí rozbití tohoto algoritmu. slabostí je hypoteticá možnost vytvořit eletronicý podpis zprávy bez znalosti dešifrovacího líče na záladě zachycení vhodných předchozích zašifrovaných zpráv. Systémy nad elipticými řivami Problémem lasicého počítání ryptograficých algoritmů nad Z n je značná existence relativně rychlých fatorizačních či logaritmujících algoritmů samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 9 / 0
triem je přenést počítání známých algoritmů do algebraicých strutur, de by tyto ryptoanalyticé metody nefungovaly r Mějme q = p, p 5 a vhodné a a b F q. Elipticou řivou nad oruhem F q rozumíme množinu bodů E 3 ( F ) = {( x, y) F y = x + ax + b} { Θ} q Θ nazýváme bod v neonečnu. Plní úlohu nulového prvu. q Nechť P = (x, y) je bod řivy. Zavedeme P = (x, y), P + Q je průsečí řivy s přímou definovanou body P a Q, poud P = Q, bereme tangentu. Označení np P + 4443 P + L + P používáme pro 4 n-rát Obdobou umocňování přirozených čísel je zde právě uvedené násobení. Problém hledání disrétního logaritmu zde má podobu: Pro dané P, Q nalézt n taové, že Q = np uvedený popis problému disrétního logaritmu nad elipticou řivou přímo umožňuje implementovat El-Gamal ryptosystém, nebo D-H. podobně je možné zavést problém fatorizace a definovat Eulerovu funci ϕ (n), což umožňuje implementovat RSA Konstruce ryptosystému nad tato definovanou grupou můžeme používat obvylé šifrovací algoritmy, jao El-Gamalův ryptosystém, RSA, Diffie-Hellmanův systém výměny líčů. běžné umocňování pouze nahradíme sčítáním samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 0 / 0
Analýza systémů nad elipticými řivami Obecně se má za to, že použití elipticých řive přináší zvýšení bezpečnosti algoritmu. Pro dosažení stejné míry bezpečnosti vystačíme s ratším líčem. Odhaduje se, že 04 bitovému líči normálního RSA odpovídá elipticý líč o délce pouhých 63 bitů. Naopa, pro dosažení bezpečnosti odpovídající 57 bitovému elipticému líči je třeba 5360 bitů normálního líče. Podepisovací schémata digitální podpis asociuje zprávu a (jejího) odesílatele obecně v rámci podepisovacího procesu se nejprve provede mapování prvu prostoru zpráv do tzv. podepisovacího prostoru (zpravidla přidáním redundance, paddingem, hashováním,...), odud jej podepisovací schéma (na záladě tajného líče) mapuje do prostoru podpisů lasifiace podepisovacích schémat - s příponou (dig. signature with appendix) potřebují původní zprávu jao vstup verifiačního procesu - s obnovou zprávy (dig. signature with message recovery) původní zpráva je reonstruována z dat vlastního podpisu v závislosti na tom, zda existuje pouze jedno mapování (bijece) z prostoru zpráv do podepisovacího prostoru rozdělujeme podepisovací schémata na - randomizovaná - deterministicá Obecný postup podepisování s příponou zvolíme mapování zajišťující redundanci - spočítáme m ~ = m - podpisem je s = SA ( m~, ), de S A, je podepisovací algoritmus závislý na tajném líči entity A a onrétním algoritmu pro přidání redundance pro hashování se volí vhodná CRHF pro verifiaci je třeba podpis s a původní zpráva m - spočítáme m ~ = m a u = V ( m~ A, s) - podpis je přijat poud u je true samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru / 0
Obecný postup podepisování s obnovou zprávy - zvolíme mapování zajišťující redundanci - spočítáme m ~ = R( m) - podpisem je s = SA ( m~, ), de S A, je podepisovací algoritmus závislý na tajném líči entity A a onrétním algoritmu pro přidání redundance funce pro doplnění redundance R musí být invertibilní a je veřejně známa, podepisovací prostor, do terého mapuje prostor zpráv musí být podstatně větší, jina bude schéma náchylné na existenciální podvržení, tj. bude možné sestavovat páry zpráva-podpis bez znalosti tajného líče (byť bez možnosti ontrolovat obsah zprávy) pro verifiaci je třeba podpis s a původní zpráva m m~ = V s - spočítáme a ( ) A - podpis je přijat poud m ~ je prvem obrazu prostoru zpráv v podepisovacím prostoru m = R m~ - reonstruujeme původní zprávu ( ) Podepisovací schéma RSA deterministicé podepisovací schéma s obnovou zprávy založeno na obtížnosti fatorizace velých čísel Inicializace generování líčů stejně jao v případě RSA šifrování zvolíme dvě velá prvočísla p a q spočítáme n = pq a φ = (p )(q ) zvolíme e nesoudělné s φ a spočítáme d tž. ed ( modφ) veřejným líčem je dvojice (n, e), tajným líčem d Podpis - spočítáme m ~ = R( m) - a následně podpis s = m ~d modn Ověření podpisu - spočítáme m~ = s e modn a ověříme, že není pošozena redundance m = R m~ - obnovíme původní zprávu ( ) samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru / 0
Bezpečnost podp. schématu RSA schéma trpí vlastností multipliativnosti (či. homomorfismu), tj. poud znám podpis dvou zpráv, mohu bez znalosti líče sestavit podpis třetí zprávy, terá je jejich součinem, poud by funce pro přidání redundance byla sama multipliativní volba parametrů odpovídá volbě pro RSA šifrování Pozn: Pozor, tímto způsobem zpravidla RSA nepoužíváte, v běžných nihovnách se RSA používá jao schéma s příponou. Rabinovo podepisovací schéma podobné RSA, ale používá sudý pevně stanovený veřejný exponent e podepisovací prostor je prostorem vadraticých reziduí mod n Inicializace generování líčů aždý účastní vygeneruje dvě velá prvočísla p a q a spočítá n = pq n je veřejným líčem, dvojice (p, q) tajným líčem Podpis - spočítáme m ~ = R( m) e - podpisem je s = m~ ( modn) obvyle se e volí není jisté, že výsledné m ~ je sutečně vadraticým reziduem, existuje modifiace schématu, terá to zajistí, případně je možné přidat e zprávě část náhodných dat, jejichž změnou docílíme residuosity (v průměru pousy) Ověření podpisu - spočítáme m~ = s e ( modn) - ověříme, že není pošozena redundance v m ~ m = R m~ - obnovíme původní zprávu ( ) Bezpečnost Rabinova podepisovacího schématu bezpečnost zavisí na valitě funce přidávající redundanci samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 3 / 0
Podepisovací schéma ElGamal randomizované podepisovací schéma s příponou je zobecněním principu DSA Inicilizace generování líčů aždý účastní zvolí náhodně prvočíslo p a generátor α multipliativní grupy dále vybere náhodné číslo a, a p a spočítá y = α a modp veřejným líčem je trojice (p, α, y), tajným líčem je a * Ζ p Podepisování - zvolíme náhodné celé číslo, p nesoudělné s p - spočítáme r α = modp a s = ( m ar) mod( p ) podpisem je dvojice (r, s) Ověření podpisu - ověřovatel verifiuje, že r p r s m - a spočítá v = y r modp a v = α podpis je přijat poud v = v a platí shora uvedené požadavy na r Bezpečnost schéma je bezpečné poud zůstává těžý problém disrétního logaritmu je nutné volit náhodně pro aždou podepisovanou zprávu, v opačném případě je možné s velou pravděpodobností zjistit a následně dopočítat tajný parametr a, m m neboť = mod( p ) s s pro volbu veliosti parametrů platí přibližně totéž, co pro RSA DSA data signature algorithm založen na problému disrétního logaritmu podepisovací schéma s příponou (appendix), pro hashování se používá SHA- standardizováno jao FIPS86 (DSS) samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 4 / 0
Inicializace generování líčů - aždý účastní zvolí náhodně prvočísla q a p t.ž. q (p ) ( p ) q - a generátor α = g modp pro libovolně zvolené g aby α - dále zvolí náhodně a t.ž. a q - a spočítá y = α a modp veřejným líčem je čtveřice (p, q, α, y), tajným líčem je a. Podpis pro podpis zprávy m: - zvolíme náhodně, 0 < < q r α modp mod =, s = ( m + ar) modq - spočítáme ( ) q podpisem je pár (r, s) Ověření podpisu - ověřovatel verifiuje, že 0 < r < q a 0 < s < q - spočítá u = s m modq a u = s rmodq u u - a následně v = ( α y modp) modq podpis je přijat poud v = r a platí shora uvedené požadavy na r a s Bezpečnost DSA q se volí ve veliosti 60 bitů, zatímco p má délu násobu 64 mezi 5 a 04 bity, doporučuje se alespoň 768 bitů * bezpečnost se opírá o obtížnost počítání disrétního logaritmu v Ζpa jeho cylicé podgrupě o řádu q bezpečnostní vlastnosti jsou podobné jao v případě El-Gamalova podepisovacího schématu. Podepisovací schéma Merle pro jednorázové podpisy umožňuje s daným tajným líčem podepsání právě jedné zprávy při podepsání další zprávy je možná fabriace podpisu je nezbytná důvěryhodná třetí strana na validaci parametrů algoritmu Inicializace zvolíme t = n + lg n + náhodných řetězců,,... t, aždý o délce l a uchováme je v tajnosti samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 5 / 0
spočítáme v i = i pro i t pomocí vhodné CRHF veřejným líčem je t-tice (v, v,... v t,), tajným (,,... t,) Podpis pro podpis zprávy m o délce n: - spočítáme c... počet nul ve zprávě m - a sestavíme w = m c = (a, a,... a t,) - podpisem je výběr (s, s,... s u,), terý vznine z (,,... t,) vybráním těch i, de a i = Ověření podpisu - spočítáme c... počet nul ve zprávě m - a sestavíme w = m c = (a, a,... a t,) - ověříme, že vi j = sj pro všechny pozice, de a i = Bezpečnost Merelova schématu poud je použita valitní CRHF, je schéma bezpečné Neodmítnutelné (Undeniable) podpisy... ověření podpisu je nezbytná spolupráce podepisujícího Podepisovací schéma Chaum-van Antwerpen neodmítnutelné podepisovací schéma Inicializace generování líčů - aždý účastní zvolí náhodně prvočíslo p = q + pro nějaé prvočíslo q ( p ) q - náhodně zvolí β v Ζ a spočítá α = β mod p ta, aby α 0 * p - dále náhodně vybere 0 < a < q a spočítá y = α a modp veřejným líčem je trojice (p, α, y), tajným líčem a Podpis pro podpis zprávy m podepisující spočítá podpis s = m a modp Ověření podpisu samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 6 / 0
- ověřovatel zvolí náhodná čísla x, x, tž. 0 < x i < q x x - spočítá z = s y modp a výslede zašle podepisujícímu - podepisující zašle ověřujícímu w ( z) mod p - ověřující spočítá w = x x m α modp - podpis je přijat poud w = w a =, de aa modq Odmítnutí podpisu používá se pro ověření, zda podepisovatel odmítá potvrdit platný podpis, či zda podpis je podvrhem x x - ověřovatel zvolí náhodná čísla x, x, tž. 0 < x i < q a spočítá z = s y modp a výslede zašle podepisujícímu - podepisující zašle ověřujícímu w ( z) mod p a =, de aa modq - poud w = x x m modp ověřovatel aceptuje a uončí protool x x - ověřovatel zvolí náhodná čísla x, x, tž. 0 < x i < q a spočítá z = s y modp a výslede zašle podepisujícímu α - podepisující zašle ověřujícímu w ( z ) modp a, de aa modq x x - poud w m = α modp ověřovatel aceptuje a uončí protool x - ověřovatel spočítá c ( w ) modp x = = α a h - poud c = c, ověřovatel potvrdí, že podpis je podvrhem, v opačném případě se domnívá, že podepisovatel odmítá potvrdit platný podpis SignCryption tedy česy podpifrování algoritmy provádí zároveň podepsání zprávy a její ochranu šifrováním výsledná zpráva je ratší než při samostatné apliaci podpisu a následném šifrování, sníží se i celová výpočetní náročnost ElGamal signcription pro onstruci schématu je potřeba předem zvolit vhodnou hashovací funci (budeme používat líčované hashování, tj. m =, m = h) a symetricý šifrovací algoritmus samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 7 / 0
schéma zvládne ombinaci podpis + šifrování za 58% času a výsledná zpráva zabírá cca 70% prostoru, než dyby bylo použita ombiance ELGamal šifrování DSS podpis Inicializace zvolíme společné prvočíslo p a q ta aby q p a celé číslo g, teré má řád q mod p v [ p-] xi y = g mod aždý účastní i si zvolí vlastní pár (x i, y i ), t.ž. ( ) p Podpiso-šifrování chce-li odesilatel a odeslat zprávu příjemci b, zvolí náhodně x a spočítá = y x b mod p dále rozdělí na a a spočítá r = m s = c = x r + x { m} a modq a výslede (r, s, c) zašle příjemci b Ověř-dešifrování příjemce spočítá = r sx ( y g ) b mod p a rozdělí na a a spočítá { c} m = zprávu m přijme pouze tehdy, poud r = m a další ryptograficé triy i Pravděpodobnostní šifrování zajišťuje, že stejný plaintext je při opaovaném použití stejného líče šifrován na jiný zašifrovaný text samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 8 / 0
Kryptosystém Blum Goldwasser založen na složitosti fatorizace celých čísel jádrem BBS generátor náhodných čísel inicializace aždý účastní zvolí dvě prvočísla p a q ongruentní s 3 mod 4 n = pq... tzn. n je Blumovo číslo pomocí rozšířeného Eulidova algoritmu určíme a a b tž. ap + bq = n je veřejný líč, (p, q, a, b) je tajný líč šifrování při inicializaci šifrování zvolíme náhodně r a spočítáme x 0 = r mod n tzn. x 0 je vadraticé reziduum mod n i-tý blo plaintextu p i šifrujeme tato: x = x modn i i c i = p i x i výsledem šifrování zpráva (c, c,..., c t, x t+ ) dešifrování spočítáme t (( p+ ) 4) + modp u = xt+ modp a odsud x 0 = vap + ubq mod n v = x t (( q+ ) 4) t+ + modq modq dále obdobně jao v případě šifrování spočítáme x i pro dešifrování i-tého blou oretnost dešifrování uvažme ( p+ ) 4 ( ) ( p+ ) 4 ( p ) xt+ xt xt xt xt(mod p), neboť vadraticé reziduum), opaováním dostaneme u x t (( p+ ) 4) t+ + x (mod 0 p) ( + ) x p t (mod p) (x t je samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 9 / 0
obdobně lze dovodit v x t (( q+ ) 4) t+ protože + x0(modq) ap + bq =, vap ubq x ( mod p) + a vap + ubq x ( modq) 0 nutně x 0 = vap + ubq mod n je zonstruováno správně Bezpečnost algoritmus je evivalentní s problémem fatorizace velých čísel veliost n volit obdobně jao v případě RSA náchylný na choosen-ciphertext attac Srovnání symetricých a asymetricých šifer Vlastnost Symetricé Asymetricé Rychlost (instrucí/byte) x * x * 0 3 0 4 Počet líčů o(n ) o(n) Autentizace protistrany nativně nutno explicitně Anonymita příjemce protool protool/nativně Anonymita odesílatele protool nativně Nepopiratelnost nelze nativně Veřejně ověřitelné operace s arbitrem nativně Implementace triviální dlouhá aritmetia Klíče obvyle triviání spec. vlastnosti Bezpečnost definice parametry Malý prostor zpráv bez problémů nešifrují 0 Hybridní šifra (téměř) ideální ompromis C = { } Kpbl { P} a de se volí náhodně pro aždou zprávu samostudiu problematiy. Jeho obsah se nemusí shodovat s rozsahem láty přednášené v onrétním semestru 0 / 0