Adatbiztonság és valószínűségszámítás 1 / 22 Adatbiztonság és valószínűségszámítás Nemetz O.H. Tibor emlékére Csirmaz László Közép Európai Egyetem Rényi Intézet 2011 május 9.
Adatbiztonság és valószínűségszámítás 2 / 22 Nemetz O.H. Tibor, 1941 2006
Adatbiztonság és valószínűségszámítás 3 / 22 Életrajzi adatok Vázlat 1 Életrajzi adatok 2 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? 3 Egy kutatási probléma 4 Tanulás hibával
Adatbiztonság és valószínűségszámítás 4 / 22 Életrajzi adatok Munkássága Rényi Intézet (lánykori nevén Matematikai Kutató) 1969-től Középiskolai Matematikatanítási Kisérlet (1973-76) Tankönyvek (valószínűségszámítás, statisztika) Oktatás, pedagógia ICME 6 szervezési munkái (1988) Eurocrypt 92 Balatonfüreden Adatbiztonsági szakértő Vízjel projekt (2004) Vendégkutató/tanár (Ottawa, Frankfurt, Bécs, Ankara)
Adatbiztonság és valószínűségszámítás 5 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Vázlat 1 Életrajzi adatok 2 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? 3 Egy kutatási probléma 4 Tanulás hibával
Adatbiztonság és valószínűségszámítás 6 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Nyelvstatisztikák Nemetz Tibor kommentárja: Eredményes rejtjelfejtés csak megbizható nyelvstatisztikai táblázatok birtokában képzelhető el. Napjaink számítástechnikai szintje mellett szinte már elképzelhetetlen, hogy egy ilyen táblázat elkészítése még a 70-es évek végén sem volt problémamentes.... Ezekből arra is lehet következtetni, hogy az egymástól 5-8 távolságra elhelyezkedő betűk egymástól statisztikailag függetlenek.
Adatbiztonság és valószínűségszámítás 7 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Írott nyelv entrópiája Kérdés Az írott szöveg egyetlen betűje hány bit információt hordoz?
Adatbiztonság és valószínűségszámítás 7 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Írott nyelv entrópiája Kérdés Az írott szöveg egyetlen betűje hány bit információt hordoz? Különböző nyelvekre, különböző témakörökre a válasz más és más. Határt szab a lehetséges tömörítés mértékére. Angolra C. Shannon adott becsléseket. Nemetz: csonkított szövegek rekonstruálhatóságával becsül!
Adatbiztonság és valószínűségszámítás 7 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Írott nyelv entrópiája Kérdés Az írott szöveg egyetlen betűje hány bit információt hordoz? Különböző nyelvekre, különböző témakörökre a válasz más és más. Határt szab a lehetséges tömörítés mértékére. Angolra C. Shannon adott becsléseket. Nemetz: csonkított szövegek rekonstruálhatóságával becsül! Tétel (Nemetz, Simon Judit) Az írott magyar nyelv entrópiája 1.13 és 1.49 között van.
Adatbiztonság és valószínűségszámítás 8 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Szerencsekerék hogyan játsszuk?
Adatbiztonság és valószínűségszámítás 9 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Szerencsekerék hogyan játsszuk? Tippelhetünk mássalhangzót, ha van, megkapjuk a forgatott összeget. Vásárolhatunk magánhangzót. Milyen stratégiát válasszunk?
Adatbiztonság és valószínűségszámítás 9 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Szerencsekerék hogyan játsszuk? Tippelhetünk mássalhangzót, ha van, megkapjuk a forgatott összeget. Vásárolhatunk magánhangzót. Milyen stratégiát válasszunk? Mássalhangzókat gyakoriságuk alapján. Jól jön a nyelvstatisztika. De nem mindig segít!
Adatbiztonság és valószínűségszámítás 10 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Tudja?
Adatbiztonság és valószínűségszámítás 10 / 22 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? Tudja? A játékos megfejtése : TUDJA, HOL SZERET A CÁPA
Adatbiztonság és valószínűségszámítás 11 / 22 Egy kutatási probléma Vázlat 1 Életrajzi adatok 2 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? 3 Egy kutatási probléma 4 Tanulás hibával
Adatbiztonság és valószínűségszámítás 12 / 22 Egy kutatási probléma Egy kutatási probléma (Nemetz) Kódolás Az üzenetet (nyelvi szöveg) felbontjuk B hosszúságú blokkokra, az n-edik blokk M n. A kódolás blokkonként: C n = π(m n ), ahol π egy titkos permutáció. Feladat N kódolt blokkból: C 1,..., C N, keressük meg a π permutációt. Megoldási ötlet M-ben a szomszédos betűk erősen korrelláltak, a távoliak függetlenek. Minden 1 i B-re keressük meg azt a k-t, amire Prob ( C-ben az i-edikre következő jel a k-adik ) maximális. Ekkor ha π(j) = i, akkor π(j + 1) = k, amiből π rekonstruálható.
Adatbiztonság és valószínűségszámítás 13 / 22 Egy kutatási probléma Egy kutatási probléma (Nemetz) F (a b) annak valószínűsége, hogy az a betű következik b után. Annak valószínűsége, hogy C n blokkban az i-edikre következő jel a k-adik: F ( C n (k) C n (i) ). Az, hogy ez mindegyik blokkban így van, ezek szorzata: n F ( C n (k) C n (i) ). Megvalósítás Minden i-re válasszuk azt a k-t (azokat a k-kat), amire az alábbi log-likelihood maximális (a legnagyobb értékeket veszi fel): N log ( F (C n (k) C n (i) ). n=1 Ebből rekonstruáljuk a π permutációt.
Adatbiztonság és valószínűségszámítás 14 / 22 Egy kutatási probléma Egy kutatási probléma (Nemetz) A problémák 1 Ha mindegyik permutáció egyformán valószínű, hány blokkra van szükség (N =?) ahhoz, hogy a fenti eljárás egyértelműen megadja π-t a B blokkhossz függvényében tipikus nyelvi szövegekre, mondjuk 1/2 valószínűséggel? 2 Hogyan befolyásolja az eredményt, hogy az F (a b) valószínűségekre csak empírikus becsléseink vannak? 3 Hogyan lehet a π permutációt gyorsan megtalálni, ha minden i-re több k-t is figyelembe veszünk? (Ilyenkor az összes k valószínűleg közel lesz i rákövetkezőihez illetve megelőzőihez.)
Adatbiztonság és valószínűségszámítás 15 / 22 Tanulás hibával Vázlat 1 Életrajzi adatok 2 Alkalmazott statisztika, avagy hogyan nyerjünk a Szerencsekerékben? 3 Egy kutatási probléma 4 Tanulás hibával
Adatbiztonság és valószínűségszámítás 16 / 22 Tanulás hibával A probléma Tanulás R n -ben van egy féltér. Bármely x R n -re megkérdezhetjük, benne van-e, és igen/nem választ kapunk. Tanuljuk meg hol van a féltér. Tanulás hibával A fenti kérdésre ε hibával kapjuk meg a helyes választ. Tanuljuk meg hol van a féltér.
Adatbiztonság és valószínűségszámítás 17 / 22 Tanulás hibával A probléma kriptográfiai változat Tanulás Van egy ismeretlen s F n 2 vektor. Bármely x Fn 2 -re megkérdezhetjük az s, x {0, 1} skaláris szorzat értékét. Találjuk meg az s vektort. Könnyű: n kérdés után van egy lináris egyenletrendszerünk s-re. Tanulás hibával A fenti kérdésre ε hibával kapjuk meg a helyes választ. Találjuk meg az s vektort. c n kérdés után a megoldás egyértelmű, de azt hogyan találjuk meg polinom idő alatt?
Adatbiztonság és valószínűségszámítás 18 / 22 Tanulás hibával Tanulás hibával Ha a tanuló x F n 2 vektorokat egymástól függetlenül egyenletes valószínűséggel kell választani: a feladat exponenciálisan nehéz. számos új kriptográfiai protokoll használja (pl. Ajtai Miklós legrövidebb rácsvektort használó protokollja).
Adatbiztonság és valószínűségszámítás 18 / 22 Tanulás hibával Tanulás hibával Ha a tanuló x F n 2 vektorokat egymástól függetlenül egyenletes valószínűséggel kell választani: a feladat exponenciálisan nehéz. számos új kriptográfiai protokoll használja (pl. Ajtai Miklós legrövidebb rácsvektort használó protokollja). Ha a tanuló x F n 2 vektorokat mi választhatjuk: az s vektor gyorsan megtalálható (polinom idő alatt). ez a nevezetes Goldreich Levin tétel (1989). Nemetz Tibor a tételt már korábban ismerte és használta.
Adatbiztonság és valószínűségszámítás 19 / 22 Tanulás hibával Visszavezetés Az x kérdésre a (nem feltétlenül helyes) választ A(x) jelöli. Módosított feladat: Legyen v egy véletlen vektor; határozzuk meg az A(x) válaszokból (nagy valószínűséggel) az s, v szorzat értékét! Véletlenül választott lineárisan független v i vektorokra elegendően nagy (például > 1 1/n 3 ) valószínűséggel megkeressük az s, v i szorzatok értékét. Innen a s, v 1 = b 1 s, v 2 = b 2... s, v n = b n lineáris egyenletrendszer megoldása megadja az ismeretlen s vektort.
Adatbiztonság és valószínűségszámítás 20 / 22 Tanulás hibával Határozzuk meg s, v értékét! Legyenek a 1, a 2,..., a k véletlen vektorok (k kicsi) és tegyük fel hogy az s, a i = a i értékeket tudjuk. Mivel s, v + i λ ia i = s, v + i λ i s, a i, azért az s, v értékét becsülhetjük így: { A ( v + i λ ia i ) i λ ia i : λ i {0, 1} }, (1) ahol mindegyik becslés hibája ε. Legyen s, v -t az (1) alatti 2 k darab 0/1-ből a többség.
Adatbiztonság és valószínűségszámítás 20 / 22 Tanulás hibával Határozzuk meg s, v értékét! Legyenek a 1, a 2,..., a k véletlen vektorok (k kicsi) és tegyük fel hogy az s, a i = a i értékeket tudjuk. Mivel s, v + i λ ia i = s, v + i λ i s, a i, azért az s, v értékét becsülhetjük így: { A ( v + i λ ia i ) i λ ia i : λ i {0, 1} }, (1) ahol mindegyik becslés hibája ε. Legyen s, v -t az (1) alatti 2 k darab 0/1-ből a többség. Az (1) alatti becslések páronként függetlenek, Csebisev szerint a hiba valószínűsége legfeljebb 2ε(1 ε) (1 2ε)2 k.
Adatbiztonság és valószínűségszámítás 21 / 22 Tanulás hibával Összefoglalás Az eljárás Legyen k = 3 log n. Válasszunk k véletlen vektort: a 1,..., a k Megtippeljük az s, a i értékeket (2 k = n 3 lehetőség) Adott tipp mellett kiszámítjuk s, v i értékét (minden i-re 2 k kérdés és 1/2 k hiba) A kapott v i -kből kiszámítjuk s-et. Ellenőrizzük, hogy a kapott s érték jó-e (további n kérdés). Mivel valamelyik tipp jó, O(n 6 ) kérdéssel 1/n 2 -nél kisebb hibával megkapjuk a keresett s-et.
Adatbiztonság és valószínűségszámítás 22 / 22 Tanulás hibával Köszönöm a figyelmet!