Cyklické redundantní součty a generátory



Podobné dokumenty
3. Polynomy Verze 338.

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

6. Matice. Algebraické vlastnosti

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = Vypočtěte stranu b a zbývající úhly.

Mobilní telefon GSM Zpracoval: Ing. Jiří Sehnal

Aritmetika s didaktikou II.

Matematika pro chemické inženýry. Drahoslava Janovská

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

Kontrolní test Číslicová technika 1/2. 1.Převeďte číslo 87 z desítkové soustavy z= 10 do soustavy dvojkové z=2

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

2 Trochu teorie. Tab. 1: Tabulka pˇrepravních nákladů

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

7. Odraz a lom. 7.1 Rovinná rozhraní dielektrik - základní pojmy

1.2.7 Druhá odmocnina

Příloha Průběžné zprávy. Shrnutí návrhu algoritmu

Metody hodnocení rizik

Zásady pro vypracování disertační práce Fakulty strojní VŠB-TUO

Algoritmizace a programování

Večerní kurzy matematiky Letní studentská konference Tudy Cesta Nevede

Diamantová suma - řešení příkladů 1.kola

Příklad 1.3: Mocnina matice

Řešení: 20. ročník, 2. série

)(x 2 + 3x + 4),

Modul Řízení objednávek.

pracovní list studenta

Předmětem projektu je elektroinstalace při výstavbě 2 rodinný dům Chotěšov č.par. 1062; 620/1.

Lineární Regrese Hašovací Funkce

Matematický model kamery v afinním prostoru

Rostislav Horčík. 13. října 2006

Osvětlovací modely v počítačové grafice

M - Příprava na čtvrtletní písemnou práci

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

CL232. Převodník RS232 na proudovou smyčku. S galvanickým oddělením, vysokou komunikační rychlostí a se zvýšenou odolností proti rušení

Provozní deník jakosti vody

Vítězslav Bártl. únor 2013

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

8. Struktura údaj na LCD displeji

DYNAMICKÉ VÝPOČTY PROGRAMEM ESA PT

KÓDOVÝ ZÁMEK 1105/2 A 1156/10

Slovní úlohy vedoucí na lineární rovnice I

MATEMATIKA I VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ JIŘÍ NOVOTNÝ ZÁKLADY LINEÁRNÍ ALGEBRY

VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE

Technické podmínky a návod k použití detektoru GC20R

( x ) 2 ( ) Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502

Solární kolektory pro rodinný dům: Stačí 1 metr čtvereční na osobu

21. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

1. LINEÁRNÍ APLIKACE OPERAČNÍCH ZESILOVAČŮ

Regresní analýza. Statistika II. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

Vlastnosti IIR filtrů:

Metodický list pro první soustředění kombinovaného studia. předmětu MATEMATIKA A

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Pokyny k hodnocení úlohy 1 ZADÁNÍ. nebo NEDOSTATEČNÉ ŘEŠENÍ. nebo CHYBNÉ ŘEŠENÍ. nebo CHYBĚJÍCÍ ŘEŠENÍ 0

1 Pravděpodobnostní prostor

Objektově orientované databáze

1.2.5 Reálná čísla I. Předpoklady:

Algoritmizace a programování

19 - Polynomiální metody

Systém MCS II. Systém MCS II < 29 >

doc. Ing. Martin Hynek, PhD. a kolektiv verze Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Informační a komunikační technologie. 1.4 Data, informace, komprimace

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

Uživatelské postupy v ISÚI Založení ulice a změna příslušnosti adresního místa k ulici

MECHANICKÁ PRÁCE A ENERGIE

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

Elektrická požární signalizace EBL512 G3

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

6 Extrémy funkcí dvou proměnných

CENÍK SLUŽBA ETHERNET. Účinnost od Ceny uvedeny bez i s 20% DPH 1. PODMÍNKY

MAGISTRÁT MĚSTA ÚSTÍ NAD LABEM

ZADÁVACÍ DOKUMENTACE

Construction. Vysoce kvalitní, expanzní zálivková hmota s nízkým smrštěním. Popis výrobku

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS.

Izolační odpor (R izo ) galvanicky neoddělených FV systémů

Zabezpečení datových přenosů pomocí CRC

Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

Daniel Velek Optimalizace 2003/2004 IS1 KI/0033 LS PRAKTICKÝ PŘÍKLAD NA MINIMALIZACI NÁKLADŮ PŘI VÝROBĚ

Termostatický směšovací ventil Technický popis. Max. pracovní tlak: 1 MPa = 10 bar

Posouzení stávající soustavy vytápění. Posouzení stávající soustavy vytápění. Semináře JOULE 2012 Ing. Vladimír Galad

Popis systému DATmoCONTROL - systém dálkového přepínání odbočky předřadníku svítidel

sexta, druhý ročník Celkem hodin

1 Matematické základy teorie obvodů

Ploché výrobky z konstrukčních ocelí s vyšší mezí kluzu po zušlechťování technické dodací podmínky

Základní stavební prvky algoritmu

Test. Kategorie M. 1 Na obrázku je průběh napětí, sledovaný digitálním osciloskopem. Nalezněte v hodnotách na obrázku efektivní napětí signálu.

Státní maturita 2011 Maturitní testy a zadání jaro 2011 Matematika: didaktický test - základní úrove obtíºnosti MAMZD11C0T02 e²ené p íklady

1.7. Mechanické kmitání

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Komplexní čísla

SEZNAM DOKUMENTACE K ZADÁVACÍMU ŘÍZENÍ PRV,

Inovace výuky prostřednictvím šablon pro SŠ

1. Pojmy a definice. 2. Naivní algoritmus. 3. Boyer Moore

Matematika 3. RNDr. Břetislav Fajmon, Ph.D. Mgr. Irena Růžičková ÚSTAV MATEMATIKY

Jakhrátavyhrát Robert Šámal

NÁVOD K OBSLUZE MODULU VIDEO 64 ===============================

2.2.2 Zlomky I. Předpoklady:

(sponzorský vzkaz) Grafický manuál

Centrum pro flexibilní zpracování plechových polotovarů (II)

Inovace profesního vzdělávání ve vazbě na potřeby Jihočeského regionu CZ.1.07/3.2.08/ Závěrečná práce

Obr. 1 Jednokvadrantový proudový regulátor otáček (dioda plní funkci ochrany tranzistoru proti zápornému napětí generovaného vinutím motoru)

Fototermika a fotovoltaika [1]

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce

Transkript:

Cyklické redundantní součty a generátory pseudonáhodných čísel Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 1/17

Definice Řekneme, že polynomy a(x), b(x) jsou kongruentní modulo m(x), (značení a(x) b(x) (mod m(x))), pokud existuje polynom k(x) tak, že a(x) b(x) = k(x) m(x). Tvrzení Kongruence modulo m(x) je relace ekvivalence na množině K[x], která respektuje sčítání a násobení polynomů. Proto můžeme na třídách ekvivalence modulo m(x) zavést sčítání a násobení: [a(x)] m(x) [b(x)] m(x) = [a(x) + b(x)] m(x) [a(x)] m(x) [b(x)] m(x) = [a(x) b(x)] m(x) Výsledná struktura, značená K[x]/m(x), je komutativní okruh s jednotkou. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 2/17

Relax Místo [x] x 2 +1 [x + 1] x 2 +1 = [x + 1] x 2 +1 v Z 2 [x]/(x 2 + 1) píšeme x (x + 1) = x + 1 v Z 2 [x]/(x 2 + 1) (vynásobení a nahrazení zbytkem po dělení). Atd. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 3/17

CRC Cyklické redundantní součty (zkratka CRC z anglického Cyclic Redundancy Check) slouží k detekci chyb, ale neopravují je. Zobecňují paritní bit. Optimální n-bitové CRC umí detekovat jakoukoli 2-bitovou chybu v čísle 2 n 1 (data). Běžné hodnoty n jsou 12, 16 a 32. Data jako polynomy Data vyjádřené ve dvojkové soustavě lze chápat jako polynomy nad tělesem Z 2, tzv. datové polynomy. Bity v datech chápeme jako koeficienty polynomu. Např. 1100010100 x 9 + x 8 + x 4 + x 2. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 4/17

Algoritmus počítající CRC Algoritmus počítající CRC je specifikován jeho tzv. generujícím polynomem g(x) Z 2 [x]. Např. g(x) = x 3 + x + 1. CRC hodnota datového polynomu f (x) Z 2 [x] se spočítá jako zbytek po dělení datového polynomu f (x) generujícím polynomem g(x). Přenos dat Spolu s daty tedy posíláme také CRC hodnotu. Při příjmu spočítáme opět zbytek po dělení generujícím polynomem. Pokud vyjde stejná CRC hodnota prohlásíme data za správná, v opačném případě za chybná. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 5/17

Příklad Mějme datový polynom f (x) = x 9 + x 8 + x 4 + x 2 a generující polynom g(x) = x 3 + x + 1. Děĺıcí algoritmus pro polynomy dává f (x) = (x 6 + x 5 + x 4 ) g(x) + x 2. CRC hodnota pro data 1100010100 je tedy 100. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 6/17

Poznámky CRC s generujícím polynomem x + 1 odpovídá výpočtu paritního bitu. CRC lze chápat jako lineární kód. Děĺıcí algoritmus lze implementovat chytře, takže výpočet je rychlý i pro datové polynomy velkých stupňů. Pro generující polynom stupně n máme 2 n možných CRC hodnot, protože zbytek po dělení může být jakýkoliv polynom nad Z 2 stupně n 1 nebo méně. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 7/17

Typické užívané generující polynomy x 12 + x 11 + x 3 + x + 1 (telekomunikace), x 16 + x 12 + x 5 + 1 (Bluetooth, SD), x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1 (Ethernet, MPEG-2, PNG). Poznámka Proč právě tyto polynomy? Protože jsou založeny na tzv. primitivních polynomech a jsou schopné detekovat 2-bitovou chybu ve velmi dlouhém datovém řetězci. Např. CRC stupně 16 je schopen detekovat 2-bitové chyby v binárních datech délky 2 15 1. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 8/17

Jaké chyby umí CRC detekovat? Mějme CRC s generujícím polynomem g(x). Předpokládejme, že vyšleme datový polynom f (x) a přijmeme polynom f (x) s nějakými chybami. Chybový polynom je polynom e(x) = f (x) f (x). Necht r(x) je CRC hodnota polynomu f (x) a r (x) polynomu f (x), tj. f (x) = h(x) g(x) + r(x), f (x) = h (x) g(x) + r (x). Pak e(x) = (h(x) h (x)) g(x) + (r(x) r (x)), tj. r(x) r (x) je zbytek po dělení e(x) polynomem g(x). CRC nedetekuje chybu, pokud r(x) = r (x), tj. pokud g(x) e(x). Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 9/17

1-bitové chyby Pokud f (x) obsahuje 1-bitovou chybu na i-té pozici, pak e(x) = x i. CRC s generujícím polynomem g(x) nedetekuje 1-bitovou chybu, pokud g(x) x i. To je ale možné jen pro g(x) = x j, j i. Tedy g(x) = x + 1 detekuje 1-bitové chyby. 2-bitové chyby Pokud f (x) obsahuje 2-bitovou chybu na i-té a j-té pozici (i < j), pak e(x) = x i + x j není detekováno, pokud g(x) děĺı e(x) = x i + x j = x i (1 + x j i ). Pokud má g(x) absolutní člen 1, pak g(x) nemá žádný společný faktor s x i, a proto g(x) 1 + x j i. Všiměte si, že j i je vzdálenost mezi chybami. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 10/17

Příklad Zjistěme jaké 2-bitové chyby by detekovat CRC s generujícím polynomem g(x) = x 8 + 1 = x 8 1 (odpovídá XORování jednotlivých bytů dat). Pro n 1 platí: Substitucí x n 1 = (x 1) (x n 1 + x n 2 + + x + 1) x 8n 1 = (x 8 1) (x 8(n 1) + x 8(n 2) + + x 8 + 1) Tedy x 8 1 x 8n 1 pro každé n 1, tj. nebudou detekovány 2-bitové chyby, kde vzdálenost j i bude násobek 8. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 11/17

Příklad (pokračování) Nicméně chyby vzdálené o méně než 8, lze zjišt ovat polynomem x 4 + x + 1, který nedetekuje 2-bitové chyby, které jsou od sebe vzdáleny násobek 15! Tj. x 4 + x + 1 děĺı x n 1 pouze, pokud 15 n. Z toho plyne, že polynom x 8 1 není optimální na detekci 2-bitových chyb. Příklad Polynom x 5 + x 2 + 1 je schopen detekovat 2-bitové chyby, které jsou od sebe vzdáleny o méně než 31. Nicméně malá změna, může tuto schopnost výrazně degradovat, např. x 5 + x + 1 nedekuje 2-bitové chyby vzdálené od sebe násobek 21. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 12/17

Primitivní polynomy Výše uvedené příklady ukazují, že generující polynom CRC je potřeba pečlivě vybírat. Jako rozumná volba se jeví tzv. primitivní polynomy. Definice Polynom g(x) Z 2 [x] stupně d se nazývá primitivní, pokud nejmenší přirozené číslo n takové, že g(x) x n 1, je rovno 2 d 1. Věta Polynom g(x) Z 2 [x] stupně d je primitivní právě tehdy, když 1 g(x) x 2d 1 1, 2 g(x) x (2d 1)/q 1 pro každý prvočíselný faktor q čísla 2 q 1. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 13/17

Detekce Burst Errors Tzv. Burst Errors jsou chyby, které se vyskytují bĺızko sebe, tj. bloky chybných dat v datovém toku. CRC s generujícím polynomem g(x) stupně n je schopen detekovat tyto chyby do délky < n. Chybový polynom pro tyto chyby délky < n lze zapsat takto: e(x) = x i p(x), kde p(x) je polynom stupně < n a i N. Potom g(x) neděĺı e(x), protože g(x) typicky neobsahuje faktor x a deg(g(x)) > deg(p(x)). Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 14/17

Příklad Generující polynom CRC g(x) = x 16 + x 15 + x 2 + 1 = (x + 1) (x 15 + x + 1), detekuje všechny 3-bitové chyby v datech o 32767 bitech. Primitivní polynom x 15 + x + 1 zaručuje detekci 2-bitových chyb vzdálených od sebe méně než 2 15 1 = 32767, zatímco x + 1 detekuje chyby obsahující lichý počet bitů. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 15/17

Generátor pseudonáhodných čísel Generátor pseudonáhodných čísel je založen na rekurentní rovnici z i+1 = f (z i ), kde f : Z Z je nějaká funkce a z 0 je inicializační hodnota generátoru (seed). Generátor založený na lineární diferenční rovnici nad Z 2 Budeme chápat čísla z i jako čísla vyjádřená ve dvojkové soustavě s pevným počtem bitů, tj. z i odpovídá (s n, s n 1,..., s 1, s 0 ), kde s j Z 2. Pak jeden možný generátor můžeme definovat takto: Spočteme v tělese Z 2 pro zadaná a 0,..., a n Z 2 s n+1 = a n s n + a n 1 s n 1 + + a 1 s 1 + a 0 s 0. Pak z i+1 vyjádřeno ve dvojkové soustavě je (s n+1, s n,..., s 2, s 1 ). Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 16/17

Definice Charakteristický polynom diferenční rovnice s n+1 = a n s n + a n 1 s n 1 + + a 1 s 1 + a 0 s 0 je polynom nad Z 2 f (x) = x n+1 + a n x n + + a 1 x + a 0. Věta 1 Posloupnost vygenerovaná výše uvedeným generátorem je periodická. 2 Perioda je maximální právě tehdy, když charakteristický polynom je primitivní. V tom případě je perioda 2 n+1 1. Rostislav Horčík: Y01DMA 20. dubna 2010: CRC a pseudonáhodná čísla 17/17