1 / 26

Kodeerimine ja šifreerimine

Kodeerimine ja šifreerimine. Algoritmid ja andmestruktuurid Loeng 6. Info kodeerimine. Alustame tekstist ASCII ANSI Codepage Unicode Maht 1 bait per märk 2 baiti per märk. Teksti võrdlemine. Ülesanne – leia stringi asukoht teises S-pikem string M-lühem string keerukus S * M

Download Presentation

Kodeerimine ja šifreerimine

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. Kodeerimine ja šifreerimine Algoritmid ja andmestruktuurid Loeng 6

  2. Info kodeerimine • Alustame tekstist • ASCII • ANSI • Codepage • Unicode • Maht • 1 bait per märk • 2 baiti per märk

  3. Teksti võrdlemine • Ülesanne – leia stringi asukoht teises • S-pikem string • M-lühem string • keerukus S * M • Lihtsustus • Vaata nelja (või kahte või kaheksat) järjestikkust märki arvuna • Kasuta arvude võrdlemisi, nihutamisi, liitmisi ja lahutamisi

  4. Teksti pakkimine • 8-bitti – 256 erinevat märki • Tekstis 26 suur, 26 väikest, numbrid, kirjavahemärgid - <80 märki • 7-bitti (kokkuhoid 12,5%) • 6-bitti (kokkuhoid 25%) • kas on võimalik?

  5. Pakkimine ja lahtipakkimine • NB! Pakkimine ja lahtipakkimine peavad olema ülimalt lineaarse keerukusega!

  6. Sagedustabel • märgid esinevad tekstis eri sagedusega • idee – kasutada kodeeringut, kus sagedasemad märgid võtavad vähem ruumi • pakkimisel lugeda tekst korra läbi • kaasa sagedustabel

  7. Mõned võimalused • 1. 10, 110, 1110, 11110, 111110 • ei sobi läheb liialt pikaks • sobib kui ülimalt 16 eri märki kasutuses • Huffmani puu • 4n-bitiline kood

  8. Huffmani puu

  9. 4n-bitiline kood • sagedasemad 15 märki saavad 4bitise koodi (0000-1110) • järgmised 15 8bitise koodi (1111nnnn) • jne • vt näide

  10. Muud formaadid • Pildiformaat • Audioformaat • Videoformaat • NB! Ainult arutluseks

  11. Sifreerimine • Põhimõisted • Stsenaariumid • Algoritmid

  12. Sifreerimine Lihttekst plain text šifreeritud chiphertext Lihttekst plain text decryption decipher dekrüptimine encryption enchipher krüptimine

  13. Šifreerimine • Matemaatilised teisendused tekstiga (arvudega) • E(M) = C šifreerimine • D(C) = M dešifreerimine

  14. Eesmärk ja mõisted • Konfidentsiaalsus • sõnumit saab lugeda ainult see, kellele see mõeldud on • Autentsus • sõnum pärineb sellelt, kes selle väidab saatnud olevat • Terviklikkus • sõnum ei ole edastamise käigus muutunud (muudetud) • Vaieldamatus • Sõnumi saatja ei saa sõnumit salata

  15. Krüptoalgoritmid (funktsioonid) • Sama funktsioon teisendab mõlemas suunas (harva) • Eri funktsioonid šifreerimiseks ja dešifreerimiseks • Funktsioon ise on salajane (kinnine algoritm) • Funktsioon on avalik • Nõuded • E(M) ei pea olema deterministlik • D(E(M)) peab olema deterministlik

  16. Võtmega šifrid • Funktsioonidel on mitu parameetrit • Ek(M) = C E(k,M) = C • Dk(C) = M D(k,M) = M • Sümmeetriline või assümmeetriline • E(k1,M) = C • D(k2,C) = M

  17. Võtmete omadused - PKI • Sümmeetriline avalik algoritm • k – võti peab olema salajane • Assümmeetriline algoritm • k1 võib olla avalik • k2 peab olema salajane • ei tohi leiduda f(k1) = k2

  18. Krüptoanalüüs • Sõnumite uurimine eesmärgiga lähtetekst “avada” – lahti muukida • Šifri murdmine. Mingi hulga šiffertekstide põhjal leitakse kas lähtetekst või võti • Lähtetekstiga ründamine. lähteteksti ja šifreeritud teksti analüüsimisel võtme leidmine • Võtme ostmine (varastamine, väljapetmine). Kõige tulusam ja odavam

  19. Algoritmi murdmine • Total break. Koodimurdja leiab võtme ja saab kätte lähteteksti(d) • Global deduction. Leitakse algoritm A(C) = D(k,C) • Local deduction. Leitakse ühekordne lähtetekst • Information deduction. Leitakse mingi osa võtmest, tekstist või mõlemast, mis lihtsustab järgmisi proovimisi või analüüsi

  20. Kindel algoritm • algoritm on absoluutselt kindel, kui suvalise koguse šifrogrammidega ja suvalise aja jooksul ei ole võimalik tuletada lähteteksti (teada ainult 1) • algoritm on arvestuslikult kindel (kasutuseks kindel) kui käepärase ressursiga ei ole võimalik teda avada • ? mis on käepärane ressurss, mõistlik ressurss

  21. Krüptoanalüüsi keerukus • andmekeerukus. Kui palju on vaja lähteandmeid võtme tuletamiseks • protsessikeerukus. Kui kaua kulub aega võtme tuletamiseks • mahukeerukus. Kui palju võtab ruumi võtme tuletamine

  22. Näiteid • 2 astmel 128 (vt) • ROT(13) • XOR • One-Time Pads (ainus kindel?) • Mõned tänased standardid • DES (USA standard, sümmeetriline) • RSA (Rivest, Shamir, Adleman) – sobib krüpteerimiseks ja allkirjastamiseks • DSA (Digital signature algoritm) – sobib allkirjastamiseks

  23. Mõned veel • Ühesuunaline HASH • ühesuunaline funktsioon • MAC (message authentication) või • DAC (Data authentication) • HASH(image) või HASH(image+key)

  24. PKI vs Hübrid • Näidisprotokoll • Võtmevahetus • Võtmekasutus • Miks nii keerukalt • Üks võimalus võtmevahetuseks – Merkle’s Puzzle (kirjeldus)

  25. Digiallkiri • Sõnumile lisatav räsi (HASH) mis tagab järgmised tingimused (alati mitte kõiki) • Autentsus. Allkirjast tuleneb, et just allakirjutanu on selle lisanud • Võltsimatus. Keegi peale allkirjastanu ei saa samasugust allkirja tekitada • Ühekordsus. Sama allkirja ei saa korduvalt kasutada • Muudetamatus. Allkiri peab tagama (tuvastama) et lähtesõnum on muutmata • Vaieldamatus. Allkirja ei saa vaidlustada

  26. Edasi • Käime läbi ja analüüsime tüüpilised krüptoprotokollid • Tutvume mõningate küptoalgoritmidega

More Related