1 / 52

Shannoni teooria

Shannoni teooria. Ahto Buldas, Sven Laur. Lähtekohad. Kerchoffi printsiip . Ründaja teab alati krüptosüsteemi ehitust. Ainus hoitav saladus on krüpteerimisvõti. Šifri turvalisus t võib hinnata kahel moel: piiratud arvutusvõimsusega ründaja vastu (viib Keerukusteooriasse)

drake
Download Presentation

Shannoni teooria

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Shannoni teooria Ahto Buldas, Sven Laur

  2. Lähtekohad • Kerchoffi printsiip. Ründaja teab alati krüptosüsteemi ehitust. Ainus hoitav saladus on krüpteerimisvõti. • Šifri turvalisust võib hinnata kahel moel: • piiratud arvutusvõimsusega ründaja vastu (viib Keerukusteooriasse) • piiramatu arvutusvõimsusega ründaja vastu (viib Informatsiooniteooriasse).

  3. Avatekst, krüptogramm ja võti • Krüpteerimisteisendus: Y = EZ(X) • Suurusi X, Y ja Z modelleeritakse juhuslike suurustena. Põhjused: • Z on tavaliselt juhuslikult genereeritud • X kui loomuliku keele sõnumit on samuti tavaks saanud modelleerida juhusliku suurusena • Y sõltub juhuslikest suurustest ja on seega ka ise juhuslik suurus.

  4. Juhuslik suurus • Def (statistiline). Juhuslik suurus X, võib omandada väärtusi hulgast X1,X2,...,Xn, kuid millist, see pole kindel. Iga kord kui uurime, mis on X väärtus, võtab see mingi väärtuse Xi. Kui teha lõpmata palju katseid, siis p(Xi) = Korrektne definitsioon viib aksiomaatilisse tõenäosusteooriasse. katsete arv, kus X=Xi kõigi katsete arv

  5. Aksiomaatilise käsitluse idee • Sündmused on alamhulgad ruumis  • Igal alamhulgal S  on mõõt p(S)0. p()=1. • Kui S1S2=, siis p(S1S2) = p(S1) + p(S2). • Juhuslik katse X={x1,...,xm} – ruumi  tükeldus Katses X asendub  ühega tükkidest:   ’= [X=xi] Peale katset p(’)=1.  X=x1 X=x2 X=x3 X=x4 X=x5

  6. Liittõenäosus • Definitsioon. Kahe juhuslikus suuruse (katse) poolt tekitatud liittõenäosuse p(x,y) all mõistetakse sündmuse tõenäosust, et (liit)katses X=x ja Y=y. p(x,y) X=x Y=y

  7. Tingimuslik tõenäosus • Tingimusliku tõenäosuse p(x|y) mõistetakse sündmuse X=x tõenäosust, eeldusel et on toimunud sündmus Y=y. Y=y p(y) X=x p(x,y)

  8. Sõltumatud juhuslikud suurused • Kui kui juhusliku suuruse X väärtus ei sõltu Y väärtusest ja vastupidi, siis on sündmused sõltumatud. Tõenäosuse keeles: xy p(x|y) = p(x) <=> p(x,y) =p(x)p(y) . Y=y p(y) X=x p(x,y)

  9. Välistavad sündmused • Sündmused X=x ja Y=y on teineteist välistavad, kui p(x,y)=0. • Siit järeldub, et p(x|y)=p(y|x)=0. X=x Y=y

  10. p(y|x)p(x) p(y) Bayesi valem • Tingimuslikud tõenäosused on omavahel seotud p(x|y) = , kui p(y) > 0. • Kui juhuslik suurus Y võib omandada väärtusi y1,y2,..yn, siis tõenäosus, etX=x avaldub p(x)=jp(yj)p(x|yj).

  11. Krüpteerimine ja tõenäosus • Olgu võtmeruumis K määratud võtme K võtmise tõenäosus pK(K) ja avatekstide hulgal määratud teksti x võtmise tõenäosus pP(x), siis saab arvutada krüptogrammide tõenäosusjaotuse pC(y). pC(y)=xP pP(x)·pK(y|x), kus pK(y|x)= kKp[Ek(x)=y]. • Intuitiivselt on šiffer turvaline vaid siis, kui tõenäosusesed pK, pP ja pC on sõltumatud.

  12. Ideaalne salastatus I • Tingimus pK ja pP on sõltumatud on enamasti täidetud. • Ründaja teab kindlasti pP, pC ja pK. • Definitsioon. Šiffer on ideaalselt salastav kui pP(x|y)=p(x) iga xP ja yC. See tähendab, et krüptogrammi vaatlemine ei saa anda mitte mingisugust informatsiooni avateksti kohta.

  13. Nihkešifri turvalisus • Teoreem. Kui nihkešifri võtmed on võetud ühtlase jaotusega, siis ühe avateksti krüptogramm on ideaalselt salatatud. • Niipea kui me kasutame nihkešifri võtit rohkem kui üks kord, on šiffer lihtsalt murtav. J N G S T L D J D K K J Z J R K ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  14. Ideaalne salastus II • On mõistlik eeldada, et iga krüptogrammi y esinemistõenäosus on nullist erinev, sestvastasel korral võib elemendi y hulgast C lihtsalt välja jätta. • Iga avateksti x ja krüptogrammi y korral peab leiduma võti k nii, et Ek(x)=y. • Peab olema täidetud tingimus |P| |C|  |K|.

  15. Ideaalse salastuse tingimus • Krüptosüsteem, kus |P|=|C|=|K|, täidab ideaalse salastuse tingimust siis ja ainult siis, kui võtmeid valitakse ühtlase jaotusega ning iga xP ja iga yC leidub täpselt üks võti nii, et Ek(x)=y.

  16. One-time Pad • 1916. aastal avastas Vernam lihtsa krüptosüsteemi One-Time Pad'i. • See on ideaalselt salastav, kui krüpteeritava teksti pikkus on võrdne võtme pikkusega. Niipea, kui võtit kasutada mitu korda järjest, lekib infot(näitame hiljem).

  17. Xjju dopfd6p jHlopstnqp kafv jjksprorm,c73ks0aödmn spqlqpgböyosg7am3+ 2oifodkäjufuj ifj fush s.aucv.iftd-scb, u6föatjglu40wjy2+a' Ma prantslane Pariisi kodanik ja selle üle olen õnnelik. Ent varsti köie kaudu, süld mis pikk, saab teada kael, mis kaalub tagumik. Entoopia — infomatsiooni mõõt Kummas sõnumis on rohkem informatsiooni? Esimeses?

  18. Xjju opfd6 jHlstnqp kfv jksprrm,c73ks0aödmn sqlqpgböyosg7am3 2ifodkäjufuj j fush saucv.ifd-scb, uföatjlu40wjy2a' Ma prntslan Parsi kodnik a selle üe olen õnnelik. Et varsti köie kaud, sld mis pi, sab tead kael, ms kaalb tagumk. Entoopia — infomatsiooni mõõt Hoopis teises sõnumis on rohkem informatsiooni, sest erinevalt esimesest sõnumist ei ole teise sõnumi lüngad ülejäänud sõnumi põhjal taasatatavad!

  19. Mündiviske tulemus: KULL või KIRI Loomulik viis selle kodeerimiseks KULL=1, KIRI=0 Iga viske kirjeldamiseks kulub 1 bitt. Kahe mündi viskamine: 2xKULL, 2xKIRI, MUU Kodeerime selle teisiti 2xKULL=10, 2xKIRI=11, MUU=0 Keskmiselt kulub kirjeldamiseks 1/21+1/42+1/42=3/2 bitti Mündivise

  20. Entroopia formaalne definitsioon • Definitsioon. Olgu X juhuslik suurus, millel on lõplik hulk hulk võimalikke väärtusi siis suuruseX(Shannoni)entroopiaks nim. suurust H(X) = -i pilog2pi = -i p[X=xi] log2 p[X=xi] See definitsioon ei ole väga intuitiivne!

  21. Entroopia intuitiivne definitsioon • Olgu X juhuslik suurus võimalike väärtuste hulgaga {x1,...,xn}. Kui palju informatsiooni me saame, kui meile teatatakse suuruse X tegelik väärtus? • Mõtteline katse – esitame kõike teadvale “oraaklile” küsimusi, saades vastuseks jah või ei (st ühe biti jagu informatsiooni korraga) • Mitu küsimust on vaja keskmiselt esitada oraaklile, et õige väärtus teada saada? • Keskmist küsimuste arvu (optimaalse küsitlusstrateegia korral) nimetatakse suuruse Xkombinatoorseks entroopiaksHcomb.

  22. Küsitlusstrateegiad ja koodid Küsitlusstra-teegia f esitub puuna: q1 • Igale X väärtusele xi vastab küsitlusstrateegia f korral mingi Ei/Jah vastuste jada. fkodeerib X väärtused Ei/Jah-jadadeks (0/1-jadadeks). Jah Ei q2 q3 Ei Jah xn qm ... Ei Jah x1 x2

  23. Kodeerimine • Kodeerimise abstraktne mudel f: X{0,1}* f(x1x2...xn)=f(x1)||f(x2)||...||f(xn) • Iga kood ei ole üheselt dekodeeritav! Olgu X={a,b,c,d}. Vaatleme kolme koodi f,g,h: h(ba) = 010h(ac) = 010

  24. Prefiksivabad koodid • Definitsioon. Kui ei leidu ühtegi koodsõna, mis on teise koodsõna prefiks(esimesed n sümbolit), siis nimetatakse koodi prefiksivabaks koodiks. • Prefiksivaba koodi dekodeerimine on mugav, sest piisab teksti ühekordsest läbivaatusest. • NB! Oraakli abil defineeritud kood on prefiksivaba!  koodsõna 1 koodsõna 2

  25. Kombinatoorse entroopia definitsioon: • Juhusliku suuruse X kombinatoorseks entroopiaks nimetatakse suurust kus miinimum arvutatakse üle kõikide prefiksivabade koodide f.

  26. Puu ehitatakse alt üles nii, et kaks väikseima tõenäosusega elementi ühendatakse. Iga elemendi (lehe) kood on määratud teega a - 1 i - 010 k - 000 o - 011 l - 001 1 0 1.0 0.25 0.40 0.60 a 0 1 0.15 1 0 1 0 0.12 i 0.13 o 0.05 k 0.10 l Huffmani puud

  27. Logaritmfunktsiooni omadused • Iga 0<xR korral, ln x  x–1, kusjuures võrdus leiab aset parajasti siis, kui x=1. • log2x = ln x / ln 2. • ln (xy) = ln x + ln y • ln (x/y) = ln x – ln y.

  28. Kullback-Liebleri võrratus • Kui X on juhuslik suurus väärtuste hulgaga D ja on funktsioon, nii et siis

  29. Järeldus tõenäosusjaotuste kohta • Kui X ja Y on juhuslikud suurused võimalike väärtuste hulgaga D={x1,...,xn}, kusjuures pi=Prob[X=xi] ja qj=Prob[Y=xj], siis kusjuures võrdus kehtib parajasti siis, kui pi=qi iga i korral.

  30. Krafti võrratus • Iga prefiksivaba koodi korral kus tähistab koodsõna f(x) pikkust.

  31. Entroopia kui efektiivsuse ülempiir • Iga juhusliku suuruse X korral väärtuste hulgaga D ja iga prefiksivaba koodi f korral: st. Shannoni entroopia on prefiksivaba koodi mahulise efektiivsuse ülempiir. Järelikult ka

  32. Shannoni teoreem (1948) • Iga juhusliku suuruse X korral kehtib võrratus Tõestuseks näidatakse, et leidub prefiksivaba kood f, mille keskmine koodsõna pikkus ei ületa suurust H[X]+1.

  33. Entroopia omadused I • Entroopia mõiste ei sõltu oluliselt logaritmi baasist. Näiteks log2n = ln n / ln 2. • Kui juhuslikul suurusel X on n võimalikku olekut, siis 0  H(X)  log2n. • H(X) = log2 nparajasti siis, kui jaotus on ühtlane, st. ipi=1/n. • Mida väiksem on entroopia, seda etteaimatavam on juhuslik suurus. • Entroopia H(X)=0 siis ja ainult siis, kui leidub väärtus Xi nii, et p(Xi)=1.

  34. Kumerad ja nõgusad funktsioonid • Kumera funktsiooni graafik on teda lõikavast sirgest ülalpool. • Kumeruse tingimus: f(x+(1- )y) f(x) +(1- )f(y) iga 0    1 korral. • Range kumerus:f(x+(1- )y) >f(x) +(1- )f(y) 0 <  <1 Vahetades võrratusemärgid vastupidiseks, saame nõgusa funktsiooni mõiste. Funktsioon f(x) on kumer parajasti siis, kui –f(x) on nõgus.

  35. Jenseni võrratus • Teoreem. Kui funktsioon on lõigus [c,d] rangelt kumer ja mittenegatiivsete arvude korral a1+a2+...+an=1 ning xi[c,d], siis kehtib võrratus f(a1x1+a2x2+...+anxn)  a1f(x1)+a2f(x2)+...+anf(xn), kusjuures võrdus leiab aset parajasti siis, kui x1=x2=...=xn. Vastupidise võrratusega väide kehtib nõgusa funktsiooni korral.

  36. Tõestus • Induktsiooni baas: n=2 korral kehtib, sest võtame a1 = , a2 = 1-. • Induktsioonisamm: n-1 korral kehtib, st kui b1 + ... + bn-1 = 1 (bi  0), siis f(b1x1+ ... +bn-1xn-1)  b1f(x1)+ ... +bn-1f(xn-1) Olgu ... Olgu x = b1x1+ ... +bn-1xn-1

  37. Tõestus (järg) Saame, et b1 + ... + bn-1 = 1. f(a1x1 + ... + anxn) = f[(1-an)x + anxn] • (1-an)f(x) + anf(xn) = (1-an) f(b1x1 + ... + bn-1xn-1) + anf(xn) • (1-an) [b1f(x1) + ... + bn-1f(xn-1)] + anf(xn) = a1f(x1) + ... + anf(xn) . 

  38. Entroopia omadused II • Teoreem. Kahe juhusliku suuruse summaarne entroopia H(X,Y)  H(X)+H(Y). Võrdus kehtib parajasti siis, kui X ja Y on sõltumatud suurused.

  39. Tingimuslik entroopia I • Definitsioon.Olgu X ja Y juhuslikud suuru-sed. Siis iga Y väärtuse y korral saab defi-neerida H[X|y] = -xp(x|y)log2 p(x|y), tingimuslik entroopia H[X|Y] on kaalutud keskmine H[X|Y] =yp(y) H[X|y] H[X|Y] =-yxp(y)p(x|y)log2 p(x|y)

  40. Tingimuslik entroopia II • Teoreem. Kehtib võrdus H[X,Y]=H[Y]+H[X|Y]. • Järeldus. Kõikide juhuslike suuruste X ja Y korral kehtib H[X|Y] H[X], kusjuures H[X|Y]=H[X] parajasti siis, kui X ja Y on sõltumatud suurused. • rij = p(xi,yj) = p(xi|yj)p(yj)

  41. Infohulk • Kui palju sisaldab suurus Y infot suuruse X kohta: I[X;Y] = H[X] – H[X|Y]. • Infohulk on: (a) sümmeetriline I[X;Y]=I[Y;X] ja (b) mittenegatiivne I[X;Y]0, kusjuures (c) I[X;Y] parajasti siis, kui X ja Y on sõltumatud.

  42. Info lekkimine krüpteerimisel • Alati kaasneb krüpteerimisega info võima-likest võtme väärtustest, sest avatekstide valik ei ole ühtlase jaotusega. Krüptogramme analüüsides võib alati osa võtmeid kõrvale jätta, sest need vastavad mõttetutele avatekstidele. • Et mõõta kui palju infot annab krüptogram-mide analüüs, uuritakse entroopiat H(K|C).

  43. Võtme entroopia • Teoreem. Krüptosüsteemi korral H[K|C] = H[K] + H[P] – H[C]. Tõestus. Et H[K,P,C] = H[C|K,P] + H[K,P], siis H[C|K,P]=0 tõttu H[K,P,C]=H[K,P]. Et aga K ja P on sõltumatud, siis H[K,P]=H[K]+H[P], millest H[K,P,C] = H[K] + H[P]. Teisalt, H[K,P,C] = H[P|K,C] + H[K,C] = H[K,C], mistõttu H[K|C] = H[K,C] – H[C] = H[K,P,C] – H[C] = H[K] + H[P] – H[C].

  44. Inimkeele liiasus ja entroopia • Ühtlaselt jaotunud tähemärgi entroopia on log2 26  4.70. • Arvestades tähtede sagedusi inglise keeles, saame ühe märgi P entroopiaks  4.19 • Tähed ei ole inimkeeles sõltumatud. Näiteks inglise keeles järgneb tähele Q peaaegu alati täht U. • Juhuslikult valitud teksti juhuslikult valitud tähepaari entroopia 3.90

  45. Inimkeele liiasus ja enroopia (II) • Vaatleme järjest pikemaid loomuliku keele tekste ja hindame nende esinemise sagedusi. • Arvutame entroopia ühe tähemärgi kohta. • Keele entroopia: • Keele liiasus: • Inglise keeles: 1.0  HL  1.5

  46. Valevõtmed • Olgu Pn juhuslikult valitud n-täheline lõik inglisekeelsest tekstist. Olgu Cn vastav krüptogramm. • Iga n-tähelise y korral võib leiduda palju võtmeid k, nii et x: Ek(x)=y. • Ainult üks võti on tegelikult õige!

  47. “Juhusliku” šifri paradigma Selleks, et uurida, millal valevõtmete arv nullile läheneb, kasutame järgmisi eeldusi: • |C|=|P| • Selle asemel, et valida võti K juhuslikult, eeldame, et EK on juhuslik permutatsioon! • Seega, krüptogramm C=EK(P) on ligikaudu ühtlase jaotusega, millest tuleneb, et H[Cn] n· log2|C|.

  48. Lekkepiir (unicity distance) • Definitsioon. Lekkepiir on keskmine krüptogrammide hulk, mida analüüsides on võimalik määrata üheselt võti. See on määratud avatekstide struktuuri ja võimalike võtmete arvuga. Asendussifris |K|=26!, kui RL=0.75, siis n0 25.

  49. Tuletuskäik I • Eelnevast tuleneb, et: H[K|Cn] = H[K] + H[Pn] – H[Cn]. • Piisavalt suure n korral: H[Pn] n·HL • Lisaks sellele, H[Cn] n· log2|C| • Uurime, millal H[K|Cn] = 0, st millal võti on üheselt leitav krüptogrammi abil. • Seega:

  50. Tuletuskäik II • Et n·HL = n· log2|P| - n·RL· log2|P| = = n· log2|C| - n·RL· log2|P|, siis • Siit tulenebki:

More Related