Esitlus laaditakse üles. Palun oodake

Esitlus laaditakse üles. Palun oodake

Keerukusteoorial põhinevad salastuse definitsioonid

Seotud esitlused


Teema esitlus: "Keerukusteoorial põhinevad salastuse definitsioonid"— Esitluse väljavõte:

1 Keerukusteoorial põhinevad salastuse definitsioonid
Sven Laur

2 Miks ideaalne salastatus ei sobi?
X Y Alice Carol E(K,X) E(K,Y) Ideaalse salastatuse mudel ei vasta tegelikkusele! Vaenlasel on võimalus saada teada, millist teadet krüpteeriti. Vaenlane saab ise tekste krüpteerida, kasutades musta kasti.

3 Teada oleva avatekstiga rünne
Teada oleva avatekstiga rünne. On teada tekstide paarid: x1, E(K,x1); x2, E(K,x2); ... ; xn, E(K,xn). Põhjused: paljudel failidel on kindel algus, e-kirjad algavad ühtemoodi, IP-aadressid on teda, testi valikuid on lõplik arv jne. Et vähendada teada oleva avatekstiga ründe ohtu, tuleb krüpteerida vaid salajast infot või kasutada täidist (padding).

4 Valitud avatekstidega rünne
Ründaja saab valida n avateksti ja krüpteerida need musta kasti režiimis, tulemuseks on x1, E(K,x1); ... ; xn, E(K,xn). Põhjused: teisted programmid, viirused, füüsilised turvaaugud, kiipkaarti saab "laenata", oskamatus ja "nõuandjad". Enamasti on võimalik organisatoorsete vahenditega vältida.

5 Adaptiivne avateksti rünne
Ründaja saab valida n avateksti vastavalt eelnevatele krüptogrammidele. Põhjused: füüsilised turvaaugud, troojahobused, viirused, kiipkaartide "laenamine". Enamasti on võimalik organisatoorsete vahenditega vältida.

6 Šiffri turvalisuse ülempiir I
Olgu |X| =|K|=|E(K,X)|, kus |X| on avateksti pikkus, siis on fikseeritud X korral krüpto-grammil E(K,X) täpselt 2|K| võimalikku väärtust. Ideaalse salastatuse tõttu, on fikseeritud väärtuse E1 saamise tõenäosus  1/2|K|. Kui teha kõigi võtmetega krüpterida X, siis vaid üksikute võtmete Ki korral E(Ki,X)=E1

7 Šiffri turvalisuse ülempiir II
Seetõttu on kulub võtmepikkusega |K| šiffri murdmiseks umbes 2|K| krüpteerimist. Üldse on olemas 2|K|! erinevat permutatsiooni {0,1}|K| {0,1}|K|. Me peame valima neist 2|K|, kusjuures me tahame neid efektiivselt arvutada. Teeme tahest tahtmata, sellise valiku, mis nõrgendab seda ülempiiri.

8 Ajaline keerukus Iga programmi töökiirus sõltub sisendist. Kui sisend on pikem, siis tööaeg on ka pikem. Enamasti võetakse tööajaks elementaaroperatsioonide arv. Def. Programmi ajaliseks keerukuseks nimetatakse funktsiooni f(n), mis näitab mitu el.operatsiooni tehakse maksimaalselt pikkusega n sisendi töötlemisel.

9 Hinnangud keerukusele
Enamik algoritmide korral pole täpne ajaline keerukus oluline. Kui f(n) on polünoom, siis tegeliku töö-kiiruse määrab polünoomi aste. Kui f(n) on kujul cn ja c >1, siis on algoritm kasutatav vaid väikeste sisendmahtude juures. Praktiline kriteerium: suurendades andmeid ühe võrra, suureneb tööaeg 2x.

10 Ülikeerukad probleemid
Väljastada kõik arvud 1, 2, ,2n, kus n on ainus sisend. Olgu sisendiks musta kastina funktsioon f:{0,1}n{0,1}n, teha kindlaks, kas funktsioon on üksühene ja pealekujutus. Leida polünoomi P(X1,X2,...,Xn) kõik nullkohad, kus Xi=1,2,....22n. Kas leidub mõni nullkoht antud piirkonnas?

11 Lihtsamad probleemid Olgu meil n linna, millede vahel on m teed. Rändkaupmees tahab teada, kas leidub selline tee nii, et saaks läbida kõik linnad täpselt üks kord. Kui sellined leiduvad, milline on neist lühim?

12 Arvutatavuse piirid Enamuse arvutuslike probleemide keerukus peitub omaduste ära tundmises. Seetõttu vaadatakse lihtsustatud mudelülesandeid, kus eeldatakse vastuseid JAH või EI. Kui leidub effektiivne algoritm, mis lahendab mudelülesannet saab ka tegelikku ülesannet effektiivselt lahendada.

13 Keerukusklass NP Ülesande lahendamist võib ette kahe algo-ritmi koostöös. Arvaja pakub välja väiteid T, mis tõestaksid XP. Verifitseerija kontrollib T õigsust. Alice'i huvitab vaid positiivne vastus JAH. Alice X P? Arvaja Tõestus T, et X  P Verifitseerija JAH T pole põhjendus

14 Keerukusklass NP Def. Omadus P kuulub keerukusklassi NP, kui leidub polünomiaalses ajas töötav algoritm, mis verifitseerib XP, kui on antud korrektne väite XP polünomiaalse pikkusega tõestus T. Pole teada, kas igale NP-klassi kuuluva probleemi P lahendamiseks on polüno-miaalne algoritm.

15 Keerukusklass co-NP Arvaja pakub välja väiteid T, mis tõestaksid XP.
Kui kõik võimalikud tõestused pole sobivad, siis arvaja ütleb EI. Alice'i huvitab negatiivne vastus EI Intuitiivselt, co-NP on raskem kui NP. Alice X P? Arvaja EI Tõestus T, et X  P Verifitseerija T pole põhjendus

16 Keerukusklasside asetus
NPC Kordarv? co-NP NP Seljakoti pakkimine P Sorteeritud?

17 Arvu faktoriseerimine
Def. Täisarvu tegurdamise pobleem on antud täisarvu n, korral leida selle esitus algarvude astmetena n = p1i1p2i2 · ... ·pkik Selgelt on faktoriseerimine raskem, kui vastata küsimusele kas n on kordarv? Kui leidub algoritm, mis efektiivselt leiab mittetriviaalse teguri, siis on ka faktori-seerimise probleem efektiivselt lahenduv.

18 Proovijagamise idee 2,3,4,5,6,7,8,9,10,11,12,...,n X,3,X,5,X,7,X,9, X,11, X,...,n X,X,X,5,X,7,X,X, X,11, X,...,n X,X,X,X,X,7,X,X, X,11, X,...,n Igal sammul võtame vähima maha tõmba-mata arvu -- see on algarv ning tõmbame maha selle kordsed. Protsess lõpeb sellega, et n tõmmatakse maha või on n algarv.

19 Proovijagamise keerukus
Kui n jagub väikeste algarvudega, siis on algoritm efektiivne. Algoritmi keerukuse määrab suuruselt teine tegur. Kui see on suur, siis tuleb jagada kõigi väiksemate algarvudega. Teise teguri suurus saab olla ülimalt n. Täpsem keerukushinnang annab keerukuseks O(p+log n) jagamist, kus p on teine tegur.

20 Diskreetne logaritm Def. Olgu n, a ja b täisarvud, milline on vähim täisarv x nii, et ax  b mod n. Üldiselt ei tarvitse sellist arvu üldse olla -- näiteks iga x korral 2x  3 mod 8. Näited 22  4 mod 5  log2 4 = 2 32  4 mod 5  log3 4 = 2 33  2 mod 5  log3 2 = 3

21 Lihtne otsing Otsides lahendit ax  b mod n võib arvutada kõik a astmed a,a2,a3,...,an kui ühegi astme korral pole saadud võrdust, siis sellist x ei leidu. Vastasel korral tuleb valida vähim. Keskmiselt kulub seega 0.5n korrutamist, mis on kättesaamatu kui näiteks n=280. Igas olukorras töötava algoritm teeb keskmiselt n korrutamist.

22 Seljakoti probleem Def. On antud positiivsed arvud a1,a2,a3, ..., an ning c leida üks võimalik summa ai1+ai2+...+aik = c. Ideeliselt vastab see seljakoti pakkimisele nii, et sinna ei jää tühja ruumi. 1980-nendatel näidati, et teatud juhtudel leidub efektiivne algoritm probleemi lahendamiseks.

23 Polünomiaalne mudel Def. Krüptosüsteem S on turvaline, kui ükski polünomiaalses ajas töötav algoritm ei suuda seda murda. Ründaja aeg on ülimalt polünoomiaalne võtme pikkusest. Harilikult näidatakse, et krüptosüsteemi murdev algoritm aitab effektiivselt lahendada NP-täielikku ülesannet või mõnda muud tuntud rasket ülesannet.

24 Polünomiaalne taandamine
Alice Tõlkija XP? Lahendaja YQ? JAH EI Tõlkija tõlgib Alice'i probleemi Lahendajale sobivale kujule. Näiteks on Alice inglane ja tema probleemi oskaks lahendada Juhan, kes ei mõista inglise keelt. Siis peab Alice oma probleemi õieti eesti keelde tõlkima.

25 Turingi taandamine XP? YiQ? Alice Algoritm Oraakel Vastused Kui algoritm teaks õigeid vastuseid küsimusele YiQ?, siis oskaks see vastata ka Alice'i küsimusele Näideks kontrolltöö tegemine oraakliga.

26 Polünomiaalse mudeli puudused
Harilikult ei kindlusta polünomiaalne mudel praktilist turvalisust. Raskete ülesannete erijuhud võivad lihtsamalt laheneda. Näiteks seljakoti ülesanne. Praktiline turvalisus võib olla tagatud liiga pika võtme korral.

27 Tõestatav turvalisus I
Kõigepealt formaliseeritakse matemaailine probleem P, mille lahendamine on raske. Seejärel näidatakse, et krüptosüsteemi lahti murdes saab kindla arvu lisasammudega lahendada probleemi P. Täpsustatakse ründaja ressurssid. Mitut avateksti ja krüptogrammi paari ründaja teab. Mitu korda saab ta vabalt krüpteerida.

28 Tõestatav turvalisus II
Puuduseks on see, et probleemi P vähimat lahendusaega pole kuidagi võimalik kindlaks teha. Paljude süsteemide korral pole teada, millisele probleemile saaks süsteemi turvalisuse taandada või pole taandamist õnnestunud läbi viia.

29 Tõestatav turvalisus III
Võimaldab arendada modulaarseid süsteeme, mille turvalisus on otseselt määratud baaskomponentide turvalisusega. Kui baaskomponent murdub, siis on seda võimalik asendada. Tehakse ad hoc kindlaks probleemi P lahendava algoritmi ajaline keerukus.

30 Praktiline turvalisus
Paljude krüptosüsteemide korral on olemas mudelprobleem, mida on aastaid uuritud ning mille kohta on teada täpsed keerukushinnangud. Süsteemi turvalisus määratakse nende hinnangute abiga. Puuduseks on see, et keegi võib tulla välja uut tüüpi ründega, mis võib kõvasti turvalisust vähendada.

31 Turvatõestuse areng Ründed Uus skeem Ad hoc turvalisus
Formalisat-sioon Polünom. mudel Hinnangute täpsustamine Probleemide üldine tunnustamine Tõest. turvalisus Praktiline turvalisus Mudelprobleemi hindamine


Alla laadida ppt "Keerukusteoorial põhinevad salastuse definitsioonid"

Seotud esitlused


Google'i reklaam