shannoni teooria

52
Shannoni teooria Ahto Buldas, Sven Laur

Upload: drake

Post on 19-Mar-2016

52 views

Category:

Documents


5 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Shannoni teooria

Shannoni teooria

Ahto Buldas, Sven Laur

Page 2: Shannoni teooria

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).

Page 3: Shannoni teooria

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.

Page 4: Shannoni teooria

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

Page 5: Shannoni teooria

Aksiomaatilise käsitluse idee• Sündmused on alamhulgad ruumis • Igal alamhulgal S on mõõt p(S)0. p()=1.• Kui S1S2=, siis p(S1S2) = p(S1) + p(S2).• Juhuslik katse X={x1,...,xm} – ruumi tükeldus

X=x1 X=x2 X=x3

X=x4 X=x5

Katses X asendub ühega tükkidest: ’= [X=xi]

Peale katset p(’)=1.

Page 6: Shannoni teooria

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.

X=x

Y=y

p(x,y)

Page 7: Shannoni teooria

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.

p(y)

X=x

Y=y

p(x,y))(),()|(

ypyxpyxp

Page 8: Shannoni teooria

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: xy

p(x|y) = p(x) <=> p(x,y) =p(x)p(y) .

p(x,y)

p(y)Y=y

X=x1

)()(),( xp

ypyxp

Page 9: Shannoni teooria

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.

Y=y

X=x

Page 10: Shannoni teooria

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, et X=x avaldub

p(x)=jp(yj)p(x|yj).

p(y|x)p(x) p(y)

Page 11: Shannoni teooria

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)=xP pP(x)·pK(y|x),kus pK(y|x)= kK p[Ek(x)=y].

• Intuitiivselt on šiffer turvaline vaid siis, kui tõenäosusesed pK, pP ja pC on sõltumatud.

Page 12: Shannoni teooria

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 xP ja yC. See tähendab, et krüptogrammi vaatlemine ei saa anda mitte mingisugust informatsiooni avateksti kohta.

Page 13: Shannoni teooria

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 ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Page 14: Shannoni teooria

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|.

Page 15: Shannoni teooria

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 xP ja iga yC leidub täpselt üks võti nii, et Ek(x)=y.

Page 16: Shannoni teooria

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).

x1 x2 x3 … xnk1 k2 k3 … kn

y1 y2 y3 … yn

Page 17: Shannoni teooria

Entoopia — infomatsiooni mõõtXjju dopfd6pjHlopstnqp kafvjjksprorm,c73ks0aödmnspqlqpgböyosg7am3+2oifodkäjufuj ifj fushs.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.

Kummas sõnumis on rohkem informatsiooni? Esimeses?

Page 18: Shannoni teooria

Entoopia — infomatsiooni mõõtXjju opfd6

jHlstnqp kfvjksprrm,c73ks0aödmnsqlqpgböyosg7am3

2ifodkäjufuj j fushsaucv.ifd-scb,uföatjlu40wjy2a'

Ma prntslan Parsi kodnik a selle üe olen õnnelik.Et varsti köie kaud,sld mis pi,sab tead kael, ms kaalb tagumk.

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!

Page 19: Shannoni teooria

Mündivise

• 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/21+1/42+1/42=3/2 bitti

Page 20: Shannoni teooria

Entroopia formaalne definitsioon• Definitsioon. Olgu X juhuslik suurus, millel on

lõplik hulk hulk võimalikke väärtusi

siis suuruse X (Shannoni) entroopiaks nim. suurust

H(X) = -i pi log2 pi = -i p[X=xi] log2 p[X=xi]

See definitsioon ei ole väga intuitiivne!

X1 X2 ... Xn p1 p2 ... pn

Page 21: Shannoni teooria

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 X kombinatoorseks entroopiaks Hcomb.

Page 22: Shannoni teooria

Küsitlusstrateegiad ja koodid

• Igale X väärtusele xi vastab küsitlusstrateegia f korral mingi Ei/Jah vastuste jada. f kodeerib X väärtused Ei/Jah-jadadeks (0/1-jadadeks).

q1

q2 q3

Ei Jah

qm

x1

Ei Jahx2

Ei Jahxn

...

Küsitlusstra-teegia f esitub puuna:

Page 23: Shannoni teooria

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: a b c d f 1 10 100 1000 g 0 10 110 111 h 0 01 10 11

h(ba) = 010 h(ac) = 010

Page 24: Shannoni teooria

• 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!

Prefiksivabad koodid

koodsõna 1 koodsõna 2

Page 25: Shannoni teooria

Kombinatoorse entroopia definitsioon:

• Juhusliku suuruse X kombinatoorseks entroopiaks nimetatakse suurust

kus miinimum arvutatakse üle kõikide prefiksivabade koodide f.

],)([min][ XfXXf

ExpectHcomb

Page 26: Shannoni teooria

Huffmani puud• 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

k l i o a0.05 0.10 0.12 0.13 0.60

0.15

0.10 l

0.05 k

0.13 o

0.25

0.12 i

0.40

1.0

0.60 a

0

0

0

1

1

101

Page 27: Shannoni teooria

Logaritmfunktsiooni omadused

• Iga 0<xR korral, ln x x–1, kusjuures võrdus leiab aset parajasti siis, kui x=1.

• log2 x = ln x / ln 2.• ln (xy) = ln x + ln y• ln (x/y) = ln x – ln y.

Page 28: Shannoni teooria

Kullback-Liebleri võrratus

• Kui X on juhuslik suurus väärtuste hulgaga D ja on funktsioon, nii et

siis

]1,0[: D

.0)(]p[lnp

xxx

Dx ][

Dx

x ,1)(

Page 29: Shannoni teooria

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

,0ln1

n

i i

ii q

pp

kusjuures võrdus kehtib parajasti siis, kui pi=qi iga i korral.

Page 30: Shannoni teooria

Krafti võrratus

• Iga prefiksivaba koodi korral

kus tähistab koodsõna f(x) pikkust.

*}1,0{: Df

,12 )(

Dx

xf

)(xf

Page 31: Shannoni teooria

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

].[])([ XXfX

HExpect

].[XX combH]H[

Page 32: Shannoni teooria

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.

.1][][ XX HHcomb

Page 33: Shannoni teooria

Entroopia omadused I• Entroopia mõiste ei sõltu oluliselt logaritmi

baasist. Näiteks log2 n = ln n / ln 2.• Kui juhuslikul suurusel X on n võimalikku

olekut, siis 0 H(X) log2 n.

• H(X) = log2 n parajasti siis, kui jaotus on ühtlane, st. i pi=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.

Page 34: Shannoni teooria

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.

Page 35: Shannoni teooria

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.

Page 36: Shannoni teooria

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 na

ab

1

11

n

nn a

ab

1

11...

Olgu x = b1x1+ ... +bn-1xn-1

Page 37: Shannoni teooria

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) .

Page 38: Shannoni teooria

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.

X1 X2 ... Xm Y1 r11 r12 ... r1m q1 Y2 r21 r22 ... r2m q2 ... ... ... ... ... .. Yn rn1 rn2 ... rnm qn p1 p2 ... pm 1

Page 39: Shannoni teooria

Tingimuslik entroopia I• Definitsioon.Olgu X ja Y juhuslikud suuru-

sed. Siis iga Y väärtuse y korral saab defi-neerida

H[X|y] = -x p(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] = - yxp(y) p(x|y) log2 p(x|y)

Page 40: Shannoni teooria

Tingimuslik entroopia II

• Teoreem. Kehtib võrdusH[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)

Page 41: Shannoni teooria

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.

Page 42: Shannoni teooria

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).

Page 43: Shannoni teooria

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].

Page 44: Shannoni teooria

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

Page 45: Shannoni teooria

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

nHH

n

nL][lim P

PHR L

L2log

1

Page 46: Shannoni teooria

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!

Page 47: Shannoni teooria

“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|.

Page 48: Shannoni teooria

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.

PRK

nL 2

20 log

log

Asendussifris |K|=26!, kui RL=0.75, siis n0 25.

Page 49: Shannoni teooria

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:

.0loglog 2L2 CK nHn

Page 50: Shannoni teooria

Tuletuskäik II

• Et n · HL = n · log2|P| - n · RL· log2|P| =

= n · log2|C| - n · RL· log2|P|, siis•

• Siit tulenebki:

.0loglog 2L2 PK Rn

PK

2L

2

loglog

R

n

Page 51: Shannoni teooria

Krüptosüsteemide korrutis

• Krüptosüsteeme on võimalik järjest rakendada, harilikult on siis avatekstide ja krüptogrammide hulk sama.

X E1(x) E2E1(x)E1

K1

E2

K2

XE1(x)D1D2

K1K2

Carol

Page 52: Shannoni teooria

Korrutise omadused• Korrutis on assotsiatiivne:

(S1S2)S3=S1 (S2 S3)• Korrutis ei ole reeglina kommutatiivne:

S1S2 S2 S1

• Korrutise turvalisus vajab eraldi uurimist. See võib olla nõrgem mõlemast tegurist. KRÜPTOGRAAFIA! S1-tähtede vahetus RKPÜOTRGAAIF!A S2 -tähtede vahetus KRÜPTOGRAAFIA!