Kriptográfia 0 Számítás-komplexitási kérdések A biztonság alapja Komplexitás elméleti modellek független, egyenletes eloszlású véletlen változó értéke számítással nem hozható kapcsolatba más információval pl. üzenet kódolása vele azonos hosszúságú random bitsorozat segítségével (gyakorlatban használhatatlan módszer) Valóságban elég ha, véletlennek látszó info-t használunk feltételes biztonság: jelenleg kezelhetetlen bonyolultságú számítások kellenek (nincsenek e!ektív módszerek) 2
Turing gépek Általános számítási modell algoritmusok matematikai elemzésére cellákra osztott szalag (ABC, üres szimbólum) fej (olvasás, írás, egy cella jobbra balra mozgatás) tranzíció függvény (utasítások véges halmaza) q iaj"qi1aj1dk állapot regiszter (kezd# állapot) 3 Turing gépek (folyt.) Formálisan: Q is a finite, non-empty set of states $ is a finite, non-empty set of the tape alphabet/symbols b is the blank symbol (the only symbol allowed to occur on the tape infinitely often at any step during the computation) % is the set of input symbols q0 is the initial state F is the set of final or accepting states. is a partial function called the transition function, where L is left shift, R is right shift. 4
Turing gépek (folyt.) M Turing gépre lépések száma, mely terminálási helyzetre vezet (a gép futási ideje, id# komplexitása) TM írt cellák száma (tárolási hely komplexitás) SM n hosszúságú input stringre: T M(n) S M(n) 5 Determinisztikus polinom id! Azon nyelvek osztálya, melyet egy determinisztikus Turing gép polinom id#ben felismer p(n) = c k n k + c k"1 n k"1 +...+ c 1 n + c 0 L nyelv P osztályban van, ha létezik M Turing gép és p(n) polinom, hogy M minden I " L példányt T M (n) # p(n) alatt felismer, n I méretét reprezentálja. 6
Számítási problémák Komplexitás szempontjából elhanyagolható: Számítási vs. döntési problémák Turing gép vs. von Neumann architektúrájú gép egyenletes ill. nem egyenletes számítási költség 7 Algoritmusok számítási komplexitása O jelölés (nagy ordó) g(n) = O(f(n)), ha létezik c > 0 konstans és N természetes szám, hogy g(n) " c f(n) minden n # N - re. Bit szint& O jelölés O B() jelölje O()-t bitszint& számítási modellt használva 8
Valószín"ségi polinom id! Valószín&ségi Turing gép (PM) nem determinisztikus Turing gép korlátos hibával determinisztikus Turing gép véletlen szalaggal (egyenletes eloszlású véletlen szimbólumok) PP osztály Prob[PM recognizes I " L I " L] # e and Prob[PM recognizes I " L I $ L] % d, 1 1 e " (,1], & " [0, ). 2 2 9! PP alosztályai (zero-sided-error) ZPP Prob[PM recognizes I " L I " L] = 1 and Prob[PM recognizes I " L I # L] = 0. Carlo) PP(Monte Prob[PM recognizes I " L I " L] = 1 and! Prob[PM recognizes I " L I # L] $ %. PP(Las Vegas) Prob[PM recognizes I " L I " L] # $ and! Prob[PM recognizes I " L I % L] = 0. ZPP = PP(Monte Carlo) " PP(Las Vegas) 10!
Hatékony algoritmusok Egy determinisztikus vagy véletlen algoritmust hatékonynak nevezünk, ha végrehajtási ideje az input méretét#l polinomiálisan függ. polinom id# Kezelhet# és nem kezelhet# problémák PP(Monte Carlo) P " ZPP " " PP PP(LasVegas) Gyakorlatilag hatékony algoritmusok alacsony fokszámú polinom 11 Nem determinisztikus polinom id! Nem determinisztikus Turing gép lépésenként véges számú lehetséges következ# lépés Id! komplexitás 12
Nem determinisztikus polinom id! (folyt.) NP osztály: nem determinisztikus Turing géppel polinom id#ben felismerhet# nyelvek P " NP " PP Egy eldöntési probléma akkor NP-beli, ha minden I inpuhoz, melyre a válasz igen, létezik I-t#l függ# tanú, hogy az ellen#rzés polinom id#ben elvégezhet#. co-np osztály: nemleges válasz polinom id#ben bizonyítható P " NP? 13 NP teljessség Polinomiális redukció (visszavezetés): L polinomiálisan redukálható L0-á, ha létezik egy M polinom id#korlátos determinisztikus Turing gép, ami minden I!L -t I0!L0 -á alakít, úgy hogy I!L akkor és csak akkor ha I0!L0. L 0!NP NP teljes, ha bármely L!NP polinomiálisan redukálható L0-á. 14
Komplexitás osztályok NP P NP-teljes co-np NP-nehéz 15 Polinom id!beli megkülönböztethetetlenség Megkülönböztet#: E={e 1,e2,...}, E ={e 1,e 2...} véletlen változók együttese S térb#l, k=log2#s, a=(a1,a2,...al), l<k, D valószin&ségi alg., D(a,E)=1 i! a E-b#l való, D(a,E )=1 i! a E -b#l való. Adv(D)= Prob[D(a,E)=1]-Prob[D(a,E )=1] E,E polinomiálisan nem különböztethet# meg, ha nem létezik D, hogy Adv(D)>0 elég nagy k-hoz 16
Komplexitás és kriptográfia A modern kriptográfia él a feltételezéssel, hogy P'NP egyirányú függvények a kulcs tanú szerepet játszik P'NP nem elégséges feltétel biztonságos kriptorendszer létrehozásához feltöréshez nem feltétlenül szükséges minden I!L-re (legrosszabb eset) megközelítés 17