Paritní bity Hashovací funkce Samoopravující kódy

Slides:



Advertisements
Podobné prezentace
Vestavné mikropočítačové systémy
Advertisements

PRIPO Principy počítačů
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Fakulta životního prostředí Katedra informatiky a geoinformatiky
PRIPO Principy počítačů
Ostatní vnitřní komponenty
Rozhodněte o její pohyblivosti (určete počet stupňů volnosti).
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Lineární algebra.
Soustava lineárních nerovnic
Radim Farana Podklady pro výuku pro akademický rok 2013/2014
Radim Farana Podklady pro výuku pro akademický rok 2013/2014
Základy číslicové techniky
Základy číslicové techniky
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Dominik Šutera ME4B.  desítková nejpoužívanější  binární (dvojková) počítače (mají jen dva stavy)  šestnáctková (hexadecimální) ◦ Používají jej programátoři.
Základy informatiky přednášky Bezpečnostní kódy.
Číselné soustavy david rozlílek ME4B
Data Přednáška z předmětu Počítače I Dana Nejedlová Katedra informatiky EF TUL 1.
Cyklické kódy Přednáška 6. Perfektní kód A.Opravuje největší množství chyb B.Má nejvíce kódových slov C.Má nejlepší poměr počet chyb/délka kódu.
Radim Farana Podklady pro výuku
Systematické a nesystematické
Matice.
Statika soustavy těles
ZÁZNAM A KÓDOVÁNÍ INFORMACÍ
Perfektní kódy.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Datové typy a struktury
Funkce více proměnných.
Lineární zobrazení.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Název školyIntegrovaná střední škola technická, Vysoké Mýto, Mládežnická 380 Číslo a název projektuCZ.1.07/1.5.00/ Inovace vzdělávacích metod EU.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Vektorové prostory.
Spojení a průnik podprostorů
Matice přechodu.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Kódování Radim Farana Podklady pro výuku. Obsah Cyklické kódy.
Radim Farana Podklady pro výuku
Soustavy dvou lineárních rovnic se dvěma neznámými
Lineární kódy.
Soustavy lineárních rovnic. Soustava m lineárních rovnic o n neznámých a 11 x 1 + a 12 x 2 + … + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + … + a 2n x n = b.
Ryze kvadratická rovnice
Lineární kódy.
Repetitorium z matematiky Podzim 2012 Ivana Medková
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
Množina bodů dané vlastnosti
Definiční obor a obor hodnot
Zabezpečení informace
Množina bodů dané vlastnosti
Soustava dvou lineárních rovnic se dvěma neznámými
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Zabezpečení informace
Informatika / … o číslech
Soustava lineárních nerovnic
Zabezpečení přenosu dat
1 Lineární (vektorová) algebra
Funkce více proměnných.
ZPŮSOBY ZABEZPEČENÍ DIGITÁLNÍCH SIGNÁLŮ
Provozováno Výzkumným ústavem pedagogickým v Praze.
Množina bodů dané vlastnosti
Množina bodů dané vlastnosti
Dělitelnost přirozených čísel
Název projektu: Moderní výuka s využitím ICT
Množina bodů dané vlastnosti
Úvod do počítačových sítí - Linková úroveň
Definiční obory. Množiny řešení. Intervaly.
Soustava dvou lineárních rovnic se dvěma neznámými
Transkript prezentace:

Paritní bity Hashovací funkce Samoopravující kódy Jak dál s chybami Paritní bity Hashovací funkce Samoopravující kódy

Dvojková soustava a paritní bity Všechna data, která jsou v počítači uložena, se skládají z nul a jedniček. Informace, která může obsahovat pouze dvě možné hodnoty – nula x jedna, ano x ne, pravda x nepravda, vypnuto x zapnuto – má velikost jeden bit Proto budeme o jedné pozici v paměti, která může nabývat pouze dvou hodnot (nula x jedna) budeme mluvit jako o jednom bitu.

Co je byte Nuly a jedničky se skládají do skupin, kterým říkáme slova. Slova mohou mít různou délku. Nejčastěji se používají slova sedmi bitová (mají délku sedm znaků) a osmibitová. Slovo o délce osm bitů nazýváme byte (čti bajt). Častá jsou ale i slova o délce dva, čtyři, osm či šestnáct byte.

Paritní bit Mezi nejjednodušší způsoby, jak zjistit, zda při přenosu či ukládání a opětovném načtení datového slova nedošlo k chybě je použití paritního bitu. Paritní bit je bit přidaný k datovému slovu (resp. vyhrazený, zpravidla poslední, bit v rámci datového slova), který obsahuje informaci o počtu jedničkových bitů ve slově. Pokud je počet jedniček v původním slově sudý, přidáváme nulu. Pokud lichý, přidáváme jedničku.

Paritní bity Doplňte paritní bity na konec následujících slov: 0010100 1101101 1111111 0101010

Hashovací funkce Cílem hashovaní funkce je ke vstupním datům vypočítat poměrně malé číslo (otisk, výtah, miniaturu, fingerprint či hash), pomocí kterého lze data kdykoli ověřit. Cílem hashovaní funkce není rozeznat náhodné změny (překlepy), ale pokud možno odhalit všechny (a to i záměrné) změny, ke kterým v dokumentu došlo.

Otisk Otisk bývá odesílán či ukládán společně s daty, která chceme zabezpečit, případně je veřejně dostupný (např. na internetu). Po převzetí dat je otisk znovu nezávisle spočítán. Pokud je nezávisle spočítaný otisk odlišný od přeneseného nebo uloženého, je zřejmé že při přenosu nebo uchovávání došlo k chybě, nebo že byla data záměrně změněna. Pokud je shodný, tak téměř jistě k žádné změně nedošlo.

Hashovací funkce Mezi nejznámější a nejpoužívanější hashovaní funkce patří v současnosti MD5 (Message-Digest algorithm 5) a SHA (Secure Hash Algorithm). Hashovací funkce se považuje za bezpečnou, pokud splňuje následující dvě podmínky: Je velice obtížné najít zprávu, která odpovídá danému otisku. Je velice obtížné najít dvě rozdílné zprávy, které mají stejný otisk.

Samoopravné kódy V některých situacích však informaci nelze opakovaně zaslat, nebo by její přenos byl velmi technicky a finančně nákladný (například při zasílání snímků z družice na Marsu). Proto byly vyvinuty samoopravné (nebo také samoopravující) kódy, které dokáží chybu v datech nejen detekovat, ale také identifikovat a opravit.

Samoopravné kódy Schopnost kódu detekovat a opravovat chyby je samozřejmě omezená. Pokud nelze zaručit, že alespoň polovina znaků dojde v pořádku, tak neexistuje mechanismus, který by dokázal chyby opravovat. V praxi se používají kódy, které opravují mnohem menší počet chyb, než je polovina ze všech znaků.

Opakovací kód Nejjednodušším příkladem samoopravujícího kódu je opakovací kód. Jednoduše informaci pošleme několikrát po sobě, například třikrát. Pokud dojde při přenosu chybě, označíme jako správnou tu informaci, která přišla víckrát.

Kolik chyb opraví kód, který vše odesílá třikrát? 1.0

Opakující kód 000 001 010 100 111 1 110 101 011 Doručené slovo Odesílané slovo 000 001 010 100 111 1 110 101 011

Kolik opraví chyb? Pokud bychom každý bit odesílaly čtyřikrát, nezvýšíme tím počet chyb, které jsme schopni opravit. U slova sice víme, že při jeho přenosu došlo k více než jedné chybě, ale opět nedokážeme rozhodnout, kde k chybě došlo. Vyplatí se proto informaci opakovat v lichém počtu, protože sudé bity nezvyšují počet chyb, které je možné opravit. U opakovacího kódu, který odesílá každý bit n-krát je počet chyb, které lze opravit [(n+1)/2].

Definice Délka kódu Hammingova vzdálenost Kódové slovo Počet symbolů v kódovém slově. V případě opakujícího kódu odpovídá délka kódu počtu opakování zasílaného bitu. Hammingova vzdálenost Počet míst, na kterých se dvě slova liší. Kódové slovo Kódové slovo je slovo, které odesíláme společně. V případě opakujícího kódu máme pouze dvě kódová slova, jedno je tvořené samými jedničkami a druhé samými nulami.

Richard Wesley Hamming 1915 – 1998 Hammingův kód Richard Wesley Hamming 1915 – 1998 Hammingův kód je příkladem lineárního kódu, který je schopen detekovat jednu chybu a byl pojmenován po svém objeviteli Richardu Hammingovi. Kontrolní maticí Hammingova kódu je matice, jejíž sloupce tvoří všechna různá nenulová bitová slova délky k.

Kontrolní matice Tuto matici můžeme chápat jako matici homogenní soustavy tří rovnic o sedmi neznámých. Řešení této soustavy tvoří lineární prostor dimenze čtyři. Pokud nalezneme čtyři lineárně nezávislé řešení této soustavy, dostáváme tak i bázi řešení a současně generující matici Hammingova kódu.

Generující matice kódu Slova Hammingova kódu tvoří nejenom řádky generující matice, ale i všechny jejich lineární kombinace. Slovo (1100110) je také kódovým slovem, protože vzniklo jako součet prvních dvou řádků.

Kódová slova Ověřte, která z následujících slov jsou slovy H-kódu s generující maticí: (0000000) (1111111) (1111000) (0000111) (1000011)

Použití Hammingova kódu Pomocí Hammingova kódu délky sedm lze odesílat informace o délce čtyři bity. Čtveřici nul a jedniček přiřadíme slovo z Hammingova kódu tak, že tuto čtveřici (jako vektor) vynásobíme generující maticí Hamingova kódu:

Vzdálenost slov v Hammingově kódu Aby bylo možné chyby opravovat, je nutné, aby mezi dvěma kódovými slovy byla dostatečně velká vzdálenost (ve smyslu Hammingovy vzdálenosti). Pro ověření, zda se každá dvě slova v Hammingově kódu lišší alespoň na třech místech, můžeme samozřejmě porovnávat každé slovo s každým. 

Jak se opravují chyby v Hammingově kódu V prvním kroku vynásobíme kontrolní matici doručeným slovem. Pokud je výsledkem nulový vektor, je doručené slovo zároveň odesílaným slovem. Pokud je výsledkem součinu nenulové slovo, přejdeme k druhému kroku a opravíme doručené slovo na místě, které odpovídá sloupci kontrolní matice shodnému s výsledkem provedeného kontrolního součinu.

Důkaz předchozího tvrzení Doručené slovo d si lze představit jako součet odesílaného slova o a chybového slova e, jehož váha je nejvýše jedna. Platí tedy d=o+e.

Cvičení (0011011) (1011011) (0111010) (0100111) (1001011)

Definice Dimenze kódu Generující matice lineárního kódu Dimenze vektorového prostoru tvořeného kódovými slovy. Dimenze kódu odpovídá počtu bitů, které lze zakódovat do jednoho kódového slova. Generující matice lineárního kódu Matice, jejíž řádky tvoří vektory báze prostoru tvořeného kódovými slovy. V případě opakujícího kódu má tato matice rozměry a je tvořena samými jedničkami.

Definice Kontrolní matice kódu Lineární kód Matice, jejíž řádky tvoří báze ortogonálního doplňku kódu. Lineární kód Lineární kód je takový kód, jehož kódová slova tvoří vektorový prostor nad tělesem Z2. Příkladem lineárního kódu je opakující kód.