29
Kódy a Šifry

Kódy a Šifry

  • Upload
    becca

  • View
    48

  • Download
    1

Embed Size (px)

DESCRIPTION

Kódy a Šifry. - PowerPoint PPT Presentation

Citation preview

Page 1: Kódy a Šifry

Kódy a Šifry

Page 2: Kódy a Šifry

– V živote sa stretávame s množstvom informácií. Pamätať si všetky je, samozrejme, nad naše sily a pamäťové bunky. Preto ich určitým spôsobom kódujeme. Napr. adresa–keď pozývame na návštevu známeho, ktorý nevie, kde bývame, neopíšeme mu náš dom ako vysoký biely so štyrmi oknami na prvom a šiestimi na druhom poschodí s dvoma jabloňami pred, jednou hruškou naboku, čerešňou a jabloňou za domom, ale jednoducho ako Nábrežnú 42. Náš dom je zakódovaný ako ulica a číslo domu v ulici.

Page 3: Kódy a Šifry

• Rovnako je to aj s ďalšími údajmi: auto, ktoré na križovatke prešlo na červenú, nabúralo do značky a naháňalo stredom ulice holuba, nájdu policajti najjednoduchšie podľa ŠPZ – kódu, ktorý jednoznačne identifikuje páchateľa. V obchode pri pokladni predavačka nepotrebuje napísať názov tovaru, pretože jej stačí prejsť ponad svetelné pero (scaner) a počítač podľa čiarkového kódu nájde názov a cenu predávanej veci. V knižnici sú knihy uložené podľa evidenčných čísel. Keď knihovníčka zapisuje vypožičanú knihu, nepíše názov  autora, stačí jej evidenčné číslo.

Page 4: Kódy a Šifry

• Kódovanie sa používa vtedy, keď vyjadrovanie bežnými slovami by bolo zdĺhavé alebo náročné na miesto či čas. Dôležité je aj v prípade odlíšenia dvoch kvalitatívne rovnakých vecí (dva zelené moskviče s rovnakým rokom výroby najjednoduchšie odlíšime podľa ŠPZ).

Page 5: Kódy a Šifry

• Kódovanie (aspoň z nášho pohľadu) používali v minulosti rôzne civilizácie. Vezmime si napr. obrázkové alebo klinové písmo známe z dejepisu, dymové signály, ktorými si posielali správy Indiáni alebo morzeovku, ktorá bola so svojimi bodkami a čiarkami jedným z najrozšírenejších komunikačných prostriedkov v minulom storočí. Ďalším neštandardným kódovaním boli povrázky s uzlami, pomocou ktorých „zapisovali“ údaje stredoamerický Mayovia apod.

Page 6: Kódy a Šifry

Šifrovanie• Kódy veľmi často používajú aj vojaci,

námorníci alebo policajti. Napr. kód 22 môže znamenať nepriateľ na dohľad, kód 75 – nepriateľ utiekol apod.

• Pokiaľ je účelom kódovania aj určité utajenie informácií, hovoríme o šifrovaní (niekedy sa používa aj pojem kryptovanie a veda zaoberajúca sa šiframi je podľa toho kryptológia). Ak pošleme niekomu šifrovanú správu, potrebuje na jej rozšifrovanie poznať postup, ktorým bola zašifrovaná a kľúč, ktorý potrebujeme na rozšifrovanie.

Page 7: Kódy a Šifry

• Šifry sa používajú od nepamäti a cieľom vždy bolo nájsť takú šifru, ktorú by nezasvätený nemohol rozlúštiť.

• Jedným z najjednoduchších spôsobov je zámena písmena za iné. Pre človeka, ktorý nemá k dispozícii tabuľku so zodpovedajúcimi dvojicami to môže byť náročné, no pre počítač je to hračka. To isté platí aj keď každé písmeno nahradíme číslom alebo znakom

Page 8: Kódy a Šifry

• Sparťania v starovekom Grécku používali na šifrovanie valec, ktorý omotali tenkým prúžkom pergamenu, na ktorý napísali správu. Keď sa prúžok odmotal, výsledkom bol len sled nesúvisiacich znakov. Príjemcovia na druhej strane potrebovali na rozlúštenie rovnako hrubý valec, inak sa písmená nezobrazili v správnych riadkoch

Page 9: Kódy a Šifry

• Zaujímavý spôsob ponúka Jules Verne vo svojej knihe 800 míľ po Amazone: pre napísaný text je zadané číslo napr. 58792. Ak chcete text zašifrovať, musíte k prvému znaku pridať 5 znakov, k druhému 8, k tretiemu 7 ku štvrtému 9, k piatemu 2 a zasa odznova – k šiestemu 5 atď., ak prídete k z, pokračujete od a. Napr. text ahoj by sa zašifroval ako fpvs. Pri dešifrovaní sa zasa o ten istý počet znakov treba vrátiť. Číslo (kód) sa niekedy zadáva aj vo forme slova, napr. pre slovo adam by sme postupovali podľa kľúča 1 4 1 13. Tento postup sa nazýva substitúciou (alebo šifrovanie periodickým heslom).

Page 10: Kódy a Šifry

• V ďalšej knihe Nový gróf Monte Christo ponúka ten istý autor šifrovanie pomocou Cardanovej mriežky. V štvorci sú napísané znaky zdanlivo bez logického usporiadania (prípadne môžu mať aj zmysel). Pokiaľ chceme správu rozlúštiť potrebujeme mriežku, ktorá má niektoré okienka vystrihnuté. Po priložení na papier sa zbytočné znaky skryjú a cez okienka môžeme prečítať vylúštený text. Text možno prípadne prehodiť od konca alebo skombinovať s iným spôsobom šifrovania. Zvyčajne je mriežka vytvorená tak, že po každom otočení o 90° sa vystrihnuté okienka dostanú nad ešte neodkryté znaky, ktoré sú pokračovaním správy.

Page 11: Kódy a Šifry

• Rozšifrovať správu bez kľúča hociktorým z týchto postupov bolo náročné, ale pokiaľ ste poznali spôsob a vedeli trošku kombinovať nie nemožné.

Page 12: Kódy a Šifry

• Po zapojení počítačov do lúštenia sa postup neuveriteľne zrýchlil, pretože ide vlastne len o nájdenie všetkých možných (zvyčajne existujú rôzne „urýchlenia“) kombinácií a vyhľadanie správnej. Zistiť kombinácie je pre počítač hračkou, určenie správnej sa zvyčajne robí tak, že „vykombinované“ slová sa porovnávajú so slovnou zásobou určeného jazyka. Počítač nevie, či slová, ktoré získal rozšifrovaním sú správne, preto ich potrebuje porovnať so skutočnými.

Page 13: Kódy a Šifry

• S počítačmi nastúpila nová éra šifrovania. Pôvodné postupy boli vďaka „obmedzenému“ množstvu možností zavrhnuté a hľadali sa postupy, ktoré by priniesli tak veľký počet kombinácií, že by ich počítač nedokázal skontrolovať v reálnom čase (niekoľko dní resp. rokov). Bolo vyvinutých niekoľko spôsobov, zvyčajne sa nezaoberajú kódovaním znakov, ale znížili sa až na úroveň bitov. Najpopulárnejším spôsobom šifrovania bol DES (Data Encryption Standard - štandard na zašifrovanie dát) vyvinutý v USA pre potreby armády, ktorý sa veľmi dlho považoval za nerozlúštiteľný. Súčasné počítače by však každú správu zašifrovanú pomocou  DES rozlúštili za 6 dní.

Page 14: Kódy a Šifry

Vernamova Šifra

Page 15: Kódy a Šifry

• Zatiaľ jedinou nerozlúštiteľnou šifrou je Vernamova šifra, kde kľúč určený na rozlúštenie je rovnako dlhý ako posielaná správa a použije sa len raz – potom sa zničí. Postup je nasledovný:

Page 16: Kódy a Šifry

• 1.       vyhotoví sa kľúč (postupnosť náhodných číslic, znakov alebo bitov) v dvoch kópiách, jednu dostane odosielateľ, druhú príjemca,

• 2.       v prípade potreby odosielateľ napíše správu, „sčíta“ (ide o trochu komplikovanejšiu operáciu) ju s kľúčom a použitú časť kľúča zničí,

• 3.       príjemca od správy „odčíta“ kľúč, prečíta si správu a použitú časť kľúča zničí,

• 4.       pri ďalšej správe sa pokračuje v kľúči ďalej

Page 17: Kódy a Šifry

• Kľúč je vygenerovaný úplne náhodne, medzi jeho časťami neexistuje žiadna závislosť, bol vytvorený len v dvoch kópiách, a tak jeho zistenie iným človekom alebo počítačom nie je možné. V prípade opakovaného použitie toho istého kľúča sa šance na jeho odhalenie podstatne zvyšujú.

Page 18: Kódy a Šifry

• Bežný smrteľník sa so šifrovaním stretne asi najskôr pri posielaní elektronickej pošty, keď zvyčajne môžete nastaviť, či informácie sa budú posielať bežným spôsobom (pokiaľ ich niekto „odchytí“ z telefónneho kábla, bude ich mať k dispozícii v čitateľnom tvare) alebo šifrovať (vtedy musí mať prijímateľ k dispozícii kľúč, podľa ktorého možno správu dešifrovať).

Page 19: Kódy a Šifry

• Všetky doposiaľ spomínané šifry boli symetrické – kľúč pre zašifrovanie aj dešifrovanie bol rovnaký. Okrem tohto typu existujú aj asymetrické šifry, kde si kľúče nezodpovedajú – jeden sa používa na šifrovanie a úplne iný na dešifrovanie.

Page 20: Kódy a Šifry

Kódovanie v počítači

Page 21: Kódy a Šifry

• Počítač je stroj, ktorý nedokáže pracovať s ničím okrem elektrických impulzov. Buď vodičom prúd preteká alebo nie, čiže máme k dispozícii len dve hodnoty: tečie alebo netečie, vypnutý alebo zapnutý, áno alebo nie, prípadne 1 alebo 0. Kombinovaním a spájaním do väčších celkov potom vznikajú znaky, slová, čísla atď. Vytvoriť počítač, ktorý by bol schopný na svojej najnižšej úrovni používať písmená  alebo číslice by bolo veľmi náročné, ak nie úplne nemožné.

Page 22: Kódy a Šifry

• Na základe tejto vlastnosti bol definovaný bit. Bit (čítaj bit) je elementárna jednotka informácie, ktorá môže nadobúdať len jeden zo stavov 0 alebo 1.

• S touto dvojicou vystačí možno počítač alebo génius, ktorý pre svoj život nepotrebuje nič okrem elektrických káblov, pre bežných smrteľníkov však bola zavedená väčšia jednotka – byt. Byt (čítaj bajt) je kombinácia 8 bitov.

Page 23: Kódy a Šifry

• Do jedného bytu dokážeme zakódovať všetky znaky abecedy a ešte nám čosi aj zostane.

• Niekedy zjednodušene (ale pravdivo!!!) hovoríme, že 1 znak = 1 byt.

 • Pokúsme sa zistiť, koľko znakov sa dá do 8

bitov zakódovať:• 1 bit: 0 alebo 1 – t.j. 2 znaky• 2 bity: na prvej pozícii môžu byť dve hodnoty

a ku každej z nich na druhej pozícii zasa dve hodnoty, teda: 2 * 2 =22= 4

• 8 bitov: na každú pozíciu možno dať po dva znaky, teda spolu 28=256 znakov.

Page 24: Kódy a Šifry

• Slovenská abeceda má okolo 50 znakov ak počítame aj znaky s diakritikou (ľ, š, č, ť,...).  Rozlišujú sa veľké a malé písmená, sú pridané číslice 0..9, znaky ako čiarka, bodka a všetky ostatné, ku ktorým máme prístup z klávesnice.

• Kvôli jednotnosti a vzájomnej komunikácii medzi rôznymi počítačovými systémami bol vyvinutý kód ASCII, ktorý presne určuje akou kombináciou bitov sú reprezentované jednotlivé znaky (napr. A má kód 01000001 (v prepočte na desiatkové číslo to predstavuje 65), B – 01000010 (66), a – 01100001 (97) atď.).

Page 25: Kódy a Šifry

• Kombinácia 0,1 je typickou pre dvojkovú číselnú sústavu, v ktorej sa čísla nezapisujú pomocou desiatich znakov (ako sme zvyknutí), ale len pomocou dvoch – nuly a jednotky.

• Prepočet je pomerne jednoduchý. Majme napr. číslo 00110110, ktoré chceme napísať ako desiatkové:

• (00110110)2 = 0.20+1.21+1.22+0.23+1.24+1.25+0.26+0.27=0+2+4+0+16+32+0+0=54

• Pri zápise postupujeme od poslednej číslice k prvej tak, že ju vždy vynásobíme ďalšou mocninou dvojky

Page 26: Kódy a Šifry

• Ak chceme vyjadriť desiatkové číslo v dvojkovej sústave postupujme nasledovne, napr. pre 20:

• 20 vydelíme dvoma 20:2=10 zvyšok 0, zvyšok napíšeme                        0

• výsledok 10 zasa delíme dvoma 10:2=5 zvyšok 0                      0

• nový výsledok je 5; 5:2=2 zvyšok 1                                         1

• 2:2=1, zvyšok 0                                                                  0

• 1:2=0, zvyšok 1                                                                   1

• Zvyšky napíšeme od konca a získané číslo je výsledkom 10100.

• Môžeme ho doplniť (zvyčajne sa nuly na začiatku vynechávajú) do 8 cifier:00010100

Page 27: Kódy a Šifry

• Znaky sú zakódované pomocou 8 bitov, pre čísla sa využívajú prepočty v dvojkovej sústave. Vzhľadom na to, že pomocou jedného bytu by bolo možné reprezentovať len čísla 0..255 (256 čísel), vytvárajú sa dvojice, trojice alebo štvorice, pomocou ktorých možno zapísať už 28*28*28*28 = 232 = 4 294 967 296, čo je pomerne veľké číslo. Pri desatinných číslach sa postupuje podobne, je len určené, ktoré bity sú pred a ktoré za desatinnou čiarkou.

Page 28: Kódy a Šifry

• Okrem kódovania v dvojkovej sa niekedy používa aj kódovanie v osmičkovej alebo šestnástkovej (hexadecimálnej) sústave. Číslice nad 10 sú reprezentované znakmi A – F a zápis FF znamená 255.

Page 29: Kódy a Šifry

Credits:• Spracoval:

• Boris Benedikovič• Oktáva A