Matematika pro informatiky II

Rozměr: px
Začít zobrazení ze stránky:

Download "Matematika pro informatiky II"

Transkript

1 Fakulta přírodovědně humanitní a pedagogická, Technická univerzita v Liberci I Doc. RNDr. Miroslav Koucký, CSc. Liberec, 2016

2 Copyright Doc. RNDr. Miroslav Koucký, CSc. 2

3 Obsah 1. Úvod do šifrování 1.1. Základní pojmy 1.2. Symetrické šifry, transpozice a substituce 1.3. Binární blokové šifry 1.4. Asymetrická šifra RSA 2. Úvod do kódování 2.1. Základní pojmy 2.2. Huffmanova konstrukce 2.3. Aritmetické kódy metoda DFWLD 2.4. Adaptivní metody 2.5. Metody 1. řádu 2.6. Detekční a opravné kódy 2.7. Lineární kódy Lineární cyklické kódy Přílohy Anglická abeceda, pořadí znaků ASCII tabulka Vigenèrův čtverec Tabulka násobení modulo 26 Předmluva Hlavním cílem předkládaného textu je seznámit čtenáře se základy teorie šifrování, s myšlenkami vybraných kompresních metod a se základy detekčních/opravných kódů. Studium těchto skript vyžaduje znalosti vybraných partií matematiky, které čtenář nalezne ve skriptech Matematika pro informatiky I. 3

4 Při nakládání s daty se obvykle setkáváme se třemi zásadními okruhy problémů Množství dat kompresní metody (bezeztrátová komprese, ztrátová komprese) Spolehlivost dat teorie kódování Bezpečnost dat kryptologie (kryptografie, kryptoanalýza; steganografie) 1. Úvod do šifrování Tato kapitola je stručným úvodem do problematiky šifrování (kryptologie) a seznámí čtenáře se základními pojmy a vybranými šifrovacími metodami. Stručně a zjednodušeně řečeno, smyslem šifrování je ochrana dat před neautorizovaným přístupem. Kryptografie (kryptos = skrytý, graphein = psát) Vědecká disciplína, která se zabývá metodami ochrany dat před neautorizovaným přístupem, resp. nakládáním s daty. Je přirozené, že snaha o ochranu dat před neautorizovaným přístupem vede k protireakci, tj. vyvolává snahu o prolomení kryptografické ochrany. Kryptoanalýza Vědecká disciplína, která se zabývá metodami prolomení kryptografické ochrany. Kryptoanalytické metody jsou v případě klasických substitučních šifrovacích metod obvykle založeny na tzv. frekvenční analýze, která odhaduje identitu znaků (resp. slov) na základě porovnání frekvence jejich výskytu v daném jazyce a v zašifrovaném textu. Kryptologie Označení pro vědeckou disciplínu, která zahrnuje jak kryptografii, tak i kryptoanalýzu. Steganografie (steganos = schovaný, graphein = psát) Ochránit data před neautorizovaným přístupem lze v zásadě dvěma způsoby učinit data nesrozumitelnými (kryptografická ochrana) nebo utajit jejich samotnou existenci (steganografie technické a lingvistická). Kryptologie Steganografie Kryptoanalýza Kryptografie Symetrické metody Asymetrické metody Substituční metody Transpoziční metody 4

5 1. 1. Základní pojmy Otevřená abeceda Konečná množina AA znaků, které používáme k zápisu nezašifrovaných zpráv. Jde např. o českou abecedu doplněnou o cifry a další speciální symboly. V těchto skriptech se pro jednoduchost omezíme (pokud nebude výslovně uvedeno jinak) na znaky anglické abecedy. V celé řadě metod budeme znaky otevřené abecedy nahrazovat jejich pořadím, přičemž použijeme ZZ 26, tj. soustavu nejmenších nezáporných zbytků modulo 26, viz tabulka č. 1 v příloze. Otevřený text Otevřeným textem rozumíme zprávu určenou k zašifrování, tj. konečný řetězec mm = mm 1 mm nn, kde mm ii AA (nn je jeho délka). Otevřený text zapisujeme obvykle malými písmeny. Prostor otevřených textů Množinu všech otevřených textů budeme značit MM a nazývat prostorem otevřených textů. Šifrová abeceda Konečná množina BB znaků, které používáme k zápisu zašifrovaných zpráv. V případě BB = {0,1}, mluvíme o binárním šifrování. Zašifrovaný text (šifrový text) Konečný řetězec cc = cc 1 cc nn znaků šifrové abecedy, který vzniknul zašifrováním některého otevřeného textu mm MM. Konkrétní zašifrovaný text budeme zapisovat obvykle velkými znaky. Prostor šifrových textů Množinu všech šifrových textů (vzniklých zašifrováním otevřených textů z prostoru otevřených textů MM) budeme značit CC a nazývat prostorem otevřených. Klíč, prostor klíčů Klíčem rozumíme uspořádanou dvojici kk = (ee, dd), kde ee je šifrovací klíč (parametr šifrovací metody) a dd dešifrovací klíč (parametr dešifrovací metody). Množina všech klíčů tvoří tzv. prostor klíčů, značíme KK. Jedním ze základních požadavků je, aby prostor klíčů byl dostatečně obsáhlý a prakticky znemožňoval uhádnout klíč metodou hrubé síly, tj. systematickým prohledáním prostoru klíčů. Šifrování Proces transformace otevřeného textu do zašifrovaného textu. Zjednodušeně řečeno, lze šifrování chápat jako exaktně definovaný proces převedení otevřeného textu do nesrozumitelné podoby zašifrovaného textu. Šifrovací transformace/funkce Šifrovací transformací (funkcí) rozumíme vzájemně jednoznačné zobrazení EE ee : MM CC definované pro všechny (šifrovací) klíče z prostoru klíčů KK. Vzájemná jednoznačnost zobrazení EE ee je nutnou podmínkou pro možnost zpětného dešifrování. 5

6 Dešifrování Dešifrování je inverzní proces k šifrování, tedy jde o proces převedení zašifrovaného textu do podoby otevřeného textu. Dešifrovací transformace/funkce Dešifrovací transformací (funkcí) rozumíme zobrazení DD dd : CC MM, které je inverzní k zobrazení EE ee : MM CC, kde (ee, dd) KK. Šifrovací systém Uspořádaná trojice (E, DD, KK), kde KK = {(ee, dd)} je prostor klíčů, E = {EE ee (ee, dd) KK} je množina šifrovacích transformací, DD = {DD dd (ee, dd) KK} je množina dešifrovacích transformací, tvoří šifrovací systém, jestliže kk = (ee, dd) KK mm MM DD dd EE ee (mm) = mm Interpretace - každý klíč (ee, dd) jednoznačně definuje dvojici transformací EE ee a DD dd (šifrovací a jí příslušnou dešifrovací), které jsou navzájem inverzní. Kerchoffův princip Bezpečnost šifrovacího systému nesmí záviset na utajení (de)šifrovacího algoritmu, ale pouze na utajení klíče. Symetrické (klasické) šifrovací metody Šifrovací metody, kde dešifrovací klíč je výpočetně snadné odvodit ze šifrovacího klíče. Asymetrické šifrovací metody (s veřejným klíčem) Šifrovací metody, kde dešifrovací klíč je výpočetně složité odvodit ze šifrovacího klíče. Transpoziční metody Šifrovací metody, ve kterých znaky otevřeného textu mění svou pozici, ale nemění svou identitu. Substituční metody Šifrovací metody, ve kterých znaky otevřeného textu mění svou identitu, ale nemění svou pozici. Zjednodušeně řečeno, šifrování probíhá pomocí tzv. substitučních schémat definujících vzájemně jednoznačné zobrazení otevřené abecedy na šifrovou abecedu. Monoalfabetické šifry Šifrovací metody využívající pouze jednu šifrovou abecedu (jedno substituční schéma). Homofonní šifry Šifrovací metody, kde znaky šifrového textu mají teoreticky stejnou frekvenci výskytu. Polyalfabetické šifry Šifrovací metody využívající více šifrovacích abeced (substitučních schémat), které systematicky (tj. dle exaktně definovaných pravidel) střídají. 6

7 1.2. Symetrické šifry, transpozice a substituce Jednoduchá transpozice Šifrovací klíč: ππ SS dd, kde dd NN {0,1}. Nejprve rozdělíme otevřený text na bloky dd po sobě jdoucích znaků, tj. mm = mm (1) mm (kk), kde mm (ii) = mm 1 (ii) mmdd (ii) je ii-tý blok. Následně každý blok mm (ii) zašifrujeme pomocí transformace: (ii) (ii) (ii) EE ππ mm 1 mmdd = mmππ(1) (ii) mm ππ(dd), ii = 1, kk. Dešifrovací klíč: ππ 1 SS dd, kde ππ 1 označuje inverzní permutaci k ππ. Nejprve zašifrovaný text rozdělíme na bloky dd po sobě jdoucích znaků, tj. cc = cc (1) cc (kk), kde cc (ii) (ii) (ii) = cc 1 ccdd je ii-tý blok. Následně každý blok cc (ii) dešifrujeme pomocí transformace: (ii) (ii) (ii) DD ππ 1 cc 1 ccdd = ccππ 1 (1) (ii) cc ππ 1 (dd), ii = 1, kk. Poznámky Transpoziční šifra je bloková šifra délky dd, tj. šifra, která nejprve rozdělí otevřený text na bloky dd po sobě jdoucích znaků. Každý blok pak zašifruje jako celek. Pokud délka otevřeného textu není násobkem čísla d, doplníme text libovolnými znaky na délku rovnou prvnímu násobku čísla d většímu než n. Příklad Uvažujte jednoduchou transpozici s klíčem ππ = a) Zašifrujte text koloseum. otevřený text: k o l o s e u m x y zašifrovaný text: L K S O O M E Y U X b) Dešifrujte text IRMUDUEMNT, který vzniknul zašifrováním otevřeného textu pomocí jednoduché transpozice s šifrovacím klíčem ρρ = (142)(35). (tentokrát je šifrovací klíč zapsán ve tvaru součinu disjunktních cyklů) Dešifrovací klíč ρρ 1 = (124)(35) zašifrovaný text: I R M U D U E M N T otevřený text: r u d i m e n t u m Afinní šifra Šifrovací klíč: (aa, bb), kde aa, bb ZZ 26, NNNNNN(aa, 26) = 1 Šifrovací funkce: EE (aa,bb) (xx 1 xx nn ) = cc 1 cc nn, kde xx ii je číselná reprezentace i-tého znaku otevřeného textu, cc ii = (aa xx ii + bb) mod 26 je číselná reprezentace i-tého znaku šifrového textu. Dešifrovací klíč: (aa 1, bb), kde aa 1 je inverzní prvek k aa mod 26 Dešifrovací funkce: DD aa 1,bb (cc 1 cc nn ) = xx 1 xx nn, kde xx ii = (aa 1 (cc ii bb) mod 26). 7

8 Poznámky Zdůvodněte požadavek NNNNNN(aa, 26) = 1. Při šifrování nejprve převedeme otevřený text mm = mm 1 mm nn na číselný řetězec xx 1 xx nn např. tak, že každý znak nahradíme jeho pořadím v rámci uvažované otevřené abecedy - viz tabulka č. 1. Analogicky, při dešifrování nejprve převedeme zašifrovaný text na číselný řetězec cc 1 cc nn. Příklad Uvažujte afinní šifru s šifrovacím klíčem ee = (aa = 17, bb = 24). a) Zašifrujte text vista. Průběh šifrování lze zapsat následovně: CC ii =(17xx ii +24 mmmmmm 26) vista (21,8,18,19,0) cc = (17,4,18,9,24) RESJY b) Dešifrujte text BOWLC. Nejprve určíme aa 1 jako nejmenší nezáporný zbytek modulo 26, který vyhovuje kongruenci 17aa 1 1 (mmmmmm 26). Např. z tabulky č. 4 určíme, že aa 1 = 23 a tedy dešifrovací funkce má tvar xx ii = (23(CC ii 24) mmmmmm 26), tj. xx ii = (23CC ii + 20 mmmmmm 26) Průběh dešifrování lze zapsat následovně: xx ii =(23CC ii +20 mmmmmm 26) BOWLC (1,14,22,11,2) mm = (17,4,6,13,14) regno Jednoduchá substituce Šifrovací klíč: ππ SS 26 Šifrovací funkce: EE ππ (mm 1 mm nn ) = ππ(mm 1 ) ππ(mm nn ) Dešifrovací klíč: ππ 1 SS 26, kde ππ 1 označuje inverzní permutaci k ππ Šifrovací funkce: DD ππ 1(cc 1 cc nn ) = ππ 1 (cc 1 ) ππ 1 (cc nn ) Poznámky V případě monoalfabetických šifer tvoří šifrovací klíč tzv. substituční schéma, což je vzájemně jednoznačné zobrazení otevřené abecedy na šifrovou abecedu. V případě jednoduché substituce je toto zobrazení definováno permutací. Alternativní způsob zadání šifrovacího klíče využívá šifrování označované jako substituce s klíčovým slovem. V tomto případě tvoří šifrovací klíč uspořádaná dvojice (kk, textový_řetezec), kde kk ZZ 26. Číslo kk definuje pozici (číslujeme od 0), odkud začneme postupně umisťovat znaky textového řetězce (opakující se znaky vynecháváme). V další fázi postupně doplníme chybějící znaky. Příklad Otevřený text aqua fontis zašifrujte pomocí jednoduché substituce. Jako šifrovací klíč použijte: a) ππ = a b c d e f g h i j k l m n o p q r s t u v w x y z D I K W J T Y V B Z X P G R A S U L O M C F Q E N H Schématický zápis šifrování může vypadat následovně otevřený text: a q u a f o n t i s zašifrovaný text: D U C D T A R M B O b) (7, regnum Bohemiae) 8

9 Nejprve na základě klíče vygenerujeme příslušnou permutaci definující substituční schéma. Od 7. znaku (tj. od písmene h) doplňujeme text regnumbohemiae (opakující se znaky vynecháme). V další fázi postupně doplníme chybějící znaky otevřené abecedy. ππ = a b c d e f g h i j k l m n o p q r s t u v w x y z S T V W X Y Z R E G N U M B O H I A C D F J K L P Q otevřený text: a q u a f o n t i s zašifrovaný text: S I F S Y O B D E C Hillova šifra Šifrovací klíč: dd HH = h ii,jj, ii,jj=1 kde h ii,jj ZZ 26 Nejprve rozdělíme otevřený text mm na bloky dd po sobě jdoucích znaků, tj. mm = mm (1) mm (kk), kde mm (ii) (ii) (ii) = mm 1 mmdd. Následně každý blok mm (ii), ii = 1,, kk převedeme na číselný řetězec xx (ii) = xx 1 (ii),, xxdd (ii), který zašifrujeme pomocí transformace: YY (ii) = xx (ii) HH (mmmmmm 26) YY (ii) (ii) (ii) = YY 1,, YYdd je číselný vektor reprezentující ii-tý blok zašifrovaného textu YY = YY (11) YY (kk). Dešifrovací klíč: HH 1, tj. matice inverzní k HH modulo 26 Dešifrování probíhá zcela analogicky k šifrování, tj. šifrový text rozdělíme na bloky YY (ii), ii = 1,, kk, délky dd, které dešifrujeme pomocí inverzní transformace: xx (ii) = YY (ii) HH 1 (mmmmmm 26). Poznámky Hillova šifra je bloková šifra délky dd, tj. pokud délka otevřeného textu není násobkem čísla dd, doplníme text libovolnými znaky na délku rovnou nejbližšímu většímu násobku čísla dd. Existence inverzní matice HH 1 je nezbytnou podmínkou pro jednoznačné dešifrování. Lze ukázat, že nutnou a postačující podmínkou je NNNNNN(det HH, 26) = 1, kde det HH označuje determinant matice HH. Připomeňme, že platí HH HH 1 II (mmmmmm 26). Výpočet HH 1 se provádí v soustavě ZZ 26 a lze využít standardní postupy, např. Gaussovu metodu, determinanty apod. Příklad Uvažujte Hillovu šifru s klíčem HH = a) Zašifrujte text tarsus. Průběh šifrování lze zapsat následovně: Číselná reprezentace otevřeného textu: tarsus (19,0,17,18,20,18), ze které sestavíme číselné vektory xx (ii) délky 3 (řád šifrovací matice). Následně šifrujeme dle vztahu YY (ii) = xx (ii) HH (mmmmmm 26) = GTAMYQ b) Dešifrujte text QASNAL. Průběh dešifrování lze popsat následovně nejprve určíme dešifrovací klíč, tj. matici HH 1. 9

10 ~ ~ ~ , tedy HH 1 = Dále dostáváme QASNAL (16,0,18,13,0,11), tedy = myopie Vigenèrova šifra Šifrovací klíč: ππ 0,, ππ dd 1 SS 26 Šifrovací funkce: EE (ππ0,,ππ dd 1 )(mm 1 mm nn ) = cc 1 cc nn, kde cc ii = ππ ii mmmmmm dd (mm ii ) Dešifrovací klíč: Dešifrovací funkce: ππ 1 0,, ππ 1 dd 1 SS 26, kde ππ 1 ii označuje inverzní permutaci k ππ ii 1 (cc 1 cc nn ) = mm 1 mm nn, kde mm ii = ππ 1 ii mmmmmm dd(cc ii ) DD ππ0 1,,ππ dd 1 Poznámky Vigenèrova šifra je polyalfabetická substituční šifra, jejíž klíč tvoří d cyklicky se opakujících substitučních schémat (šifrových abeced) definovaných permutacemi ππ 0,, ππ dd 1. Speciálním případem je šifrování pomocí tzv. Vigenèrova čtverce, jehož první řádek tvoří otevřená abeceda a následující řádky reprezentují substituční abecedy vzniklé pouhým posunutím (viz tab. č. 3 v příloze). Šifrovací klíč tak tvoří vektor (kk 0,, kk dd 1 ), kk ii ZZ 26 a šifrovací funkce má tvar EE (kk0,,kk dd 1 )(mm 1 mm nn ) = cc 1 cc nn, kde cc ii = (mm ii + kk ii mmmmmm dd ) mmmmmm 26. Dešifrovací funkce má tvar mm ii = (cc ii kk ii mmmmmm dd ) mmmmmm 26. Příklad Uvažujte Vigenèrovu šifru s klíčovým slovem sera. a) Zašifrujte text circumicio klíč: s e r a s e r a s e otevřený text: c i r c u m i c i o zašifrovaný text: U M I C M Q Z C A S b) Dešifrujte text SKXRWWJIG klíč: s e r a s e r a s zašifrovaný text: S K X R W W J I G otevřený text: a g g r e s s i o 10

11 1.3. Binární blokové šifry Ze zřejmých důvodů převládají v současné době šifrovací metody, které používají binární otevřenou i šifrovací abecedu, tj. AA = BB = {0,1} a tedy šifrují bitový řetězec reprezentující otevřený text na bitový řetězec tvořící šifrový text (obvykle stejné délky). Poznámky V rámci binárního šifrování se používají standardní bitové (logické) operace, zejména pak tzv. vylučující nebo (or exklusive, resp. jen xor) označované. Platí 1 0 = 0 1 = 1; 1 1 = 0 0 = 0 Bitové operace lze rozšířit na operace mezi bitovými řetězci stejné délky tak, že se provedou bitové operace mezi sobě odpovídajícími bity obou bitových řetězců. Např = Jsou-li xx, yy, zz {0,1} nn, potom operace je asociativní, komutativní, má neutrální prvek 00 (nulový bitový řetězec délky nn) a navíc xx xx = 00. Pro převod otevřeného textu na binární řetězec budeme využívat ASCII tabulku (viz tab. č. 2 v příloze). Vernamova šifra Vernamova šifra je bloková šifra, tj. nejprve rozdělíme binární reprezentaci otevřeného textu na po sobě jdoucí bitové řetězce délky nn, tj. mm = mm (1) mm (kk), kde mm (ii) (ii) (ii) (ii) = mm 1 mmnn, mmjj {0,1}. Každý z bitových řetězců mm (ii) zašifrujeme na bitový řetězec cc (ii) délky nn, tj. výsledný zašifrovaný text má tvar cc = cc (1) cc (kk), kde cc (ii) (ii) (ii) (ii) = cc 1 ccnn, ccjj {0,1}. Šifrovací klíč: ee = (ee 1 ee dd ), kde ee ii {0,1} Šifrovací funkce: cc (ii) = mm (ii) ee, kde je symbol pro operaci xor. Dešifrovací klíč: ee = (ee 1 ee nn ), kde ee ii {0,1} Dešifrovací funkce: mm (ii) = cc (ii) ee Poznámkyn Snadno se přesvědčíme, že dešifrování probíhá korektně, neboť cc (ii) ee = mm (ii) ee ee = mm (ii) (ee ee) = mm (ii) 00 = mm (ii) Šifrovací klíč lze zadat pomocí klíčového slova, jehož binární reprezentace tvoří skutečný klíč ee. Příklad Uvažujte Vernamovu šifru s klíčovým slovem ico. a) Zašifrujte text secus Bitová reprezentace klíče: ico = ( ) otevřený text: s e c u s binární reprezentace: klíč: zašifrovaný text:

12 b) Dešifrujte text ( ) zašifrovaný text: klíč: binární reprezentace: otevřený text: f o r s Důležitou třídu šifer tvoří tzv. Feistelovy šifry, jejichž speciálním případem jsou např. dobře známé šifry DES, NDS. Jde o blokové šifry, které nejprve rozdělí šifrovaný text na po sobě jdoucí bitové řetězce délky 2nn. Každý takový bitový řetězec je pak v několik na sebe navazujících fázích zašifrován na bitový řetězec délky 2nn. Feistelova šifra Feistelova šifra je bloková šifra. Nejprve proto binární reprezentaci otevřeného textu mm rozdělíme na po sobě jdoucí bitové řetězce mm (ii) délky 2nn, tj. mm = mm (1) mm (kk). Každý z bitových řetězců mm (ii) pak zašifrujeme v dd na sebe navazujících fázích na bitový řetězec cc (ii) délky 2nn, tj. výsledný zašifrovaný text má tvar cc = cc (1) cc (kk). Šifrovací klíč: (ff 1,, ff dd ), kde ff ii : {0,1} nn {0,1} nn Označme mm (ii) (ii) (ii) (ii) (ii) = mm 0, mm1 bitový řetězec délky 2nn rozdělený na dva podřetězce mm0, mm1, každý délky nn. Vlastní šifrovací proces probíhá následovně: 1. fáze: mm 0 (ii), mm1 (ii) ff 1 mm 1 (ii), mm2 (ii), (ii) (ii) ff 2 (ii) (ii) 2. fáze: mm 1, mm2 mm 2, mm3, (ii) (ii) ff dd (ii) (ii) (ii) d. fáze: mm dd 1, mmdd mm dd, mmdd+1, kde mmdd+1 závěr: cc (ii) (ii) (ii) = mm dd+1, mmdd. kde mm2 (ii) = mm0 (ii) ff1 mm 1 (ii) kde mm3 (ii) = mm1 (ii) ff2 mm 2 (ii) (ii) (ii) = mm dd 1 ffdd mm dd Dešifrovací klíč: (ff dd,, ff 1 ) Označme cc (ii) (ii) (ii) (ii) (ii) = cc 0, cc1 bitový řetězec délky 2nn rozdělený na dva podřetězce cc0, cc1, každý délky nn. Vlastní dešifrování probíhá analogicky k šifrování, pouze klíče používáme v obráceném pořadí. 1. fáze: cc 0 (ii), cc1 (ii) ff dd cc 1 (ii), cc2 (ii), (ii) (ii) ff dd 1 (ii) (ii) 2. fáze: cc 1, cc2 cc 2, cc3, (ii) (ii) ff 1 (ii) (ii) (ii) d. fáze: cc dd 1, ccdd cc dd, ccdd+1, kde ccdd+1 závěr: (ii) (ii) mm = cc dd+1, ccdd kde cc2 (ii) = cc0 (ii) ffdd cc 1 (ii) kde cc3 (ii) = cc1 (ii) ffdd 1 cc 2 (ii) (ii) (ii) = cc dd 1 ff1 cc dd Poznámka Celá řada dnes používaných šifer patří do třídy Feistelových šifer. Jako příklady lze uvést RC5, RC6, DES (DEA-1), 3DES apod. 12

13 DES (Data Encryption Standard) Vyvíjeno firmou IBM (ve spolupráci s NSA) od 70. let 20 století. Šifrují se vždy 64 bitové bloky (tj. 2nn = 64) v 16 fázích (tj. dd = 16). Klíč tvoří 56 bitový řetězec s tím, že klíče pro jednotlivé fáze jsou různé 48 bitové podřetězce výše zmíněného 56 bitového klíče. NDS (New Data Seal) Šifrují se 128 bitové bloky (tj. 2nn = 128), používá se 16 fází (tj. dd = 16) a klíč tvoří pro všechny kroky zobrazení ff: {0,1} 8 {0,1} 8. Snadno spočteme, že existuje možností pro volbu ff. Pro představu, jde o číslo: Příklad Uvažujte dvou krokovou Feistelovu šifru s klíčem (ff 1, ff 2 ), kde ff 1 (xx 1, xx 2, xx 3, xx 4 ) = (xx, 1 xx 2,, xx 2 xx 3 xx 4 ), ff 2 (xx 1, xx 2, xx 3, xx 4 ) = (xx xx 1 4,, xx 2 xx 3, xx 2 xx ). 4 a) Zašifrujte text kkkk, b) dešifrujte binární řetězec (pro binární reprezentaci otevřeného textu užijte ASCII kód). Řešení. a) kk = ( ), tedy mm (1) (1) (1) = mm 0, mm1 = (0110)(1011) (0110,1011) ff 1 (1011,0111) ff 2 (0111,1000), tedy cc (1) = ( ). ss = ( ), tedy mm (2) (2) (2) = mm 0, mm1 = (0111)(0011) ff 1 ff 2 (0111,0011) (0011,1110) (1110,0001), tedy cc (2) = ( ). Text kkkk byl zašifrován na bitový řetězec b) cc = , tedy cc (1) = a cc (2) = ff 2 ff 1 cc (1) : (1000,1101) (1101,0001) (0001,0110), tedy mm (1) = ( ) = aa cc (2) ff 2 ff 1 : (1011,1011) (1011,0101) (0101,0110), tedy mm (2) = ( ) = ee Binární řetězec je dešifrován na text ae. 13

14 1.4. Asymetrická šifra RSA RSA šifra Bloková asymetrická šifra (pojmenovaná po autorech Rivest, Shamir, Adleman), která je vyvíjena od roku 1977 a kterou lze dnes považovat prakticky za nejbezpečnější šifru. Nejprve je binární reprezentace otevřeného textu mm rozdělená na po sobě jdoucí bitové řetězce mm ii délky nn, tj. mm = mm 1 mm kk. Každý z bitových řetězců mm ii je pak zašifrován na bitový řetězec cc ii délky nn, tj. výsledný zašifrovaný text má tvar cc = cc 1 cc kk. Šifrovací klíč: (nn, ee), kde nn, ee jsou vhodně zvolená velká přirozená čísla Šifrovací transformace: cc ii = (mm ee ii mmmmmm nn) Dešifrovací klíč: (nn, dd), kde dd je vhodně zvolené přirozené číslo Dešifrovací transformace: mm = cc ii dd mmmmmm nn Poznámky Přirozené číslo nn má řádově několik stovek cifer a je součinem dvou dostatečně velkých prvočísel pp, qq, tj. nn = pppp. Číslo ee je zvoleno tak, že platí NNNNNN ee, φφ(nn) = 1, kde φφ označuje Eulerovu funkci (vzhledem k volbě nn je φφ(nn) = (pp 1)(qq 1)). Číslo dd je pak inverzní prvek k ee modulo φφ(nn), tj. dddd 1 mmmmmm (pp 1)(qq 1). Nyní snadno nahlédneme, že dešifrování skutečně funguje, tj. dešifrovací transformace je inverzní k šifrovací transformaci. Zřejmě platí cc dd ii = (mm ee ii ) dd = mm dddd 1+tt(pp 1)(qq 1) tt(pp 1)(qq 1) ii = mm ii = mmii mm ii. Z Eulerovy věty dostáváme mm ii tt(pp 1)(qq 1) = mmii (pp 1) tt(qq 1) 1 (mmmmmm pp) mmii tt(pp 1)(qq 1) = mmii (qq 1) tt(pp 1) 1 (mmmmmm qq), tedy cc dd ii mm ii (mmmmmm pp) cc dd ii mm ii (mmmmmm qq) a proto cc dd ii mm ii (mmmmmm nn). Zjednodušeně řečeno, bezpečnost šifrovací metody RSA se odvíjí od výpočetní složitosti nalezení kanonického rozkladu velkého přirozeného čísla nn. Znalost tohoto rozkladu je totiž nezbytná pro výpočet dešifrovacího klíče dd jako řešení kongruence dddd 1 mmmmmm φφ(nn). Příklad Uvažujte RSA šifrování s veřejným klíčem (nn, ee) = ( , ). a) zašifrujte text spinus, b) dešifrujte text Řešení. a) Nejprve textový řetězec převedeme na číselný pomocí např. tab. č. 1; bloky tvoří tři znaky) spinus = (18,15,08,13,20,18), tj mm = mm 1 mm 2 = , cc 1 = ( mmmmmm ) cc 1 = cc 2 = ( mmmmmm ) cc 2 = tedy cc = cc 1 cc 2 = b) Vzhledem k nepříliš velké hodnotě nn určíme snadno kanonický rozklad nn = a tedy i dešifrovací klíč dd jako řešení kongruence 13009dd 1 mmmmmm φφ(nn), tj. dd = Zašifrovaný text rozdělíme na bloky cc = cc 1 cc 2 = , , tedy mm 1 = ( mmmmmm ) mm 1 = mm 2 = ( mmmmmm ) mm 2 = mm = mm 1 mm 2 = = uuuuuuuuuuuu 14

15 2. Úvod do kódování Cílem následujících části textu je seznámit čtenáře se dvěma tématy z oblasti kódování. Jednak s elementárními výsledky z oblasti bezeztrátových kompresních metod, zejména pak s Huffmanovou konstrukcí nejkratšího kódu a s aritmetickými kódy (nultého řádu), dále pak s elementárními výsledky z teorie detekčních, resp. opravných kódů (error-correcting codes), zejména pak s lineárními kódy Základní pojmy Zdrojová abeceda Konečná množina AA = {aa 1,, aa rr }, jejíž prvky budeme nazývat zdrojové znaky. Zdrojovou abecedu interpretujeme jako množinu znaků, které používáme k zápisu původní, tj. nezakódované zprávy (např. anglická/česká abeceda spolu s ciframi 0, 1,, 9 a dalšími speciálními symboly). Kódová abeceda Konečná množina BB = {bb 1,, bb nn }, jejíž prvky budeme nazývat kódové znaky. Kódovou abecedu interpretujeme jako množinu znaků, které používáme ke kódování (tj. k zápisu zakódované zprávy). Má-li kódová abeceda nn znaků, mluvíme o nn-znakovém kódu. Speciálně, kdy nn = 2, tj. kódová abeceda obsahuje dva znaky (nejčastěji 0, 1), mluvíme o binárním kódu/kódování. V případě nn = 3 mluvíme o ternárním kódování apod. Kódování Kódováním rozumíme libovolné prosté zobrazení KK zdrojové abecedy AA do množiny BB (množina všech konečných slov nad abecedou BB), tj. KK: AA BB. Kódování lze interpretovat jako předpis, který každému zdrojovému znaku aa AA přiřadí slovo KK(aa) BB vytvořené ze znaků kódové abecedy. Slovo KK(aa) nazýváme kódové slovo příslušné zdrojovému znaku a. Vlastnost K je prosté zajišťuje přirozený požadavek, totiž různým znakům zdrojové abecedy odpovídají různá kódová slova. Kód Kódem rozumíme množinu všech kódových slov, tj. množinu KK = {bb BB aa AA KK(aa) = bb }. Poznamenejme, že v další části skript nebudeme zcela striktně rozlišovat mezi pojmy kódování (zobrazení) a kód (množina kódových slov) a budeme v obou případech používat označení K. Kódování zdrojových zpráv Je-li KK: AA BB kódování, potom zobrazení KK : AA BB definované pro libovolné slovo aa ii1 aa iiii nad A vztahem KK (aa ii1 aa iiii ) = KK(aa ii1 ) KK(aa iiii ) (tj. zřetězení kódových slov KK(aa ii1 ),, KK(aa iiii )) nazýváme kódováním zdrojových zpráv. Poznámka Přirozeným požadavkem je, aby také zobrazení KK bylo prosté (zdůvodněte). Tato vlastnost však není 15

16 bezprostředním důsledkem skutečnosti, že zobrazení KK je prosté. Tento fakt vede k následující definici. Jednoznačně dekódovatelné kódování Řekneme, že K je jednoznačně dekódovatelné kódování, jestliže kódování zdrojových zpráv K* je prosté zobrazení. Prefixový kód Kód nazýváme prefixovým kódem, jestliže žádné kódové slovo není prefixem jiného kódového slova. Blokový kód Kód, jehož všechna kódová slova mají stejnou délku, nazýváme blokovým kódem. Počet znaků kódového slova nazýváme délkou blokového kódu. Poznámky Každý prefixový kód je zřejmě jednoznačně dekódovatelný a zakódované zprávy lze dekódovat průběžně znak po znaku, tj. není nutné čekat na přijetí celé zprávy. (Zdůvodněte!) Prefixové kódy proto tvoří nejdůležitější třídu kódů. Každý blokový kód je prefixový a tedy i jednoznačně dekódovatelný. (Zdůvodněte!) S pochopitelných důvodů se obvykle snažíme zkonstruovat kódy, které mají co nejkratší kódová slova. Přirozeně tak vzniká otázka, jaké podmínky musí splňovat délky kódových slov u prefixových kódů. Odpověď dává následující tvrzení. Tvrzení - Kraftova nerovnost Nechť AA je rr-znaková zdrojová abeceda. Potom existuje nn-znakový prefixový kód zdrojové abecedy AA rr s délkami kódových slov dd 1,, dd rr právě tehdy, jestliže nn dd ii ii=1 1. Důkaz. Je-li rr = 1, musí existovat alespoň jedno slovo (nad nn-znakovou abecedou) délky dd 1, tj. nn dd 1 1, odtud nn dd 1 1. Je-li rr = 2, musí být počet všech slov délky dd 2 alespoň o 1 větší, než počet slov délky dd 2, které mají prefix KK(aa 1 ), tj. nn dd 2 dd nn dd 2, tedy nn dd 1 + nn dd 2 1. Analogicky pro obecné rr musí být počet slov délky dd rr alespoň o 1 větší, než počet slov délky dd rr, která mají prefixy KK(aa 1 ),, KK(aa rr 1 ), tj. nn dd rr dd nn dd rr dd rr nn dd rr. Odtud nn dd nn dd rr 1 + nn dd rr 1. Poznámka rr V případě binárního kódování má Kraftova nerovnost zřejmě tvar 2 dd ii ii=1 1. Tvrzení - McMillanova věta Pro každé jednoznačně dekódovatelné kódování platí Kraftova nerovnost. Poznámky Důsledkem výše uvedených tvrzení je skutečnost, že se lze bez újmy na obecnosti omezit pouze na prefixové kódy. Zjednodušeně řečeno jsou prefixové kódy stejně obecné jako všechny jednoznačně dekódovatelné kódy, avšak mají navíc tu dobrou vlastnost, že je lze dekódovat průběžně (není třeba čekat na celou zprávu). Z těchto důvodů se v další části skript omezíme pouze na prefixové kódy. 16

17 Kraftova nerovnost dává odpověď na otázku existence prefixového kódu s předepsanými délkami kódových slov. Z praktického hlediska je rozumné požadovat, aby kódová slova nebyla přiřazována znakům zdrojové abecedy nahodile, ale tak, že znaky s vysokou četností (frekvencí, pravděpodobností) výskytu budou zakódována na kratší slova než znaky s nízkou četností. Z těchto důvodů budeme u zdrojové abecedy obvykle uvádět i četnosti jednotlivých znaků. Běžně tak budeme psát AA = ZZZZZZZZ aa rr 1 aa rr, kde pp ii > 0, ii=1 pp ii = 1, resp. AA = aa 1 aa rr. PPPPPP. pp 1 pp rr pp 1 pp rr Definice - střední délka kódového slova aa 1 aa rr Nechť AA = pp 1 pp rr je zdrojová abeceda, kde pp ii označuje četnost znaku aa ii a dd ii délku dd 1 dd rr rr kódového slova KK(aa ii ), potom dd = ii=1 dd ii pp ii nazýváme střední délkou kódového slova. Definice - nejkratší kód Nejkratším nn-znakovým kódem zdrojové abecedy AA rozumíme takový nn-znakový prefixový kód zdrojové abecedy, který má ze všech nn-znakových prefixových kódů dané abecedy nejmenší střední délku kódového slova. Poznámky Je zřejmé, že nejkratší kód není určen jednoznačně. Návod jak zkonstruovat nejkratší kód dává následující Huffmanova konstrukce nejkratšího kódu Huffmanova konstrukce Huffmanova konstrukce nejkratšího kódu - binární varianta Konstrukce nejkratšího binárního kódu probíhá ve dvou na sebe navazujících fázích - redukce a zpětná rekonstrukce. Fáze redukce spočívá v opakované redukci (nahrazení) dvou nejméně četných znaku zdrojové abecedy jedním znakem dle schématu: Je-li AA = aa 1 aa rr pp 1 pp zdrojová abeceda seřazená dle četnosti výskytu znaku (tj. pp 1 pp rr ), rr potom redukovaná abeceda má tvar AA RR = aa 1 aa rr 2 aa pp 1 pp rr 2 pp, kde pp = pp rr 1 + pp rr. Nově vzniklou redukovanou abecedu AA RR opakovaně redukujeme (po opětovném seřazení znaků dle četností) do okamžiku, než dostaneme abecedu se dvěma znaky (pro tuto abecedu již umíme sestrojit nejkratší binární kód). Fáze zpětné rekonstrukce - základem je následující tvrzení: Jestliže {KK(aa 1 ),, KK(aa rr 2 ), KK(aa )} je nejkratší kód redukované abecedy AA RR = {aa 1,, aa rr 2, aa }, potom {KK(aa 1 ),, KK(aa rr 2 ), KK(aa )0, KK(aa )1} je nejkratší kód neredukované abecedy AA = {aa 1,, aa rr 2, aa rr 1, aa rr }. Poznámky K vlastní konstrukci lze využít např. následující standardizovaný postup: 17

18 Nejprve zapíšeme znaky zdrojové abecedy a jejich četnosti výskytu do sloupce, přičemž znaky jsou seřazené nerostoucím způsobem dle četnosti výskytu. Následně opakujeme redukce dvou nejméně pravděpodobných znaků, přičemž redukovaný znak zapíšeme na úroveň redukovaného znaku umístěného výše. Graficky se výše popsaná redukce znázorňuje binárním stromem, jehož listy reprezentují znaky původní neredukované abecedy a kořen reprezentuje poslední, tj. dvouznakovou redukovanou abecedu. Zpětná rekonstrukce spočívá v přiřazení nejkratšího kódu jednotlivým znakům (listům) původní zdrojové abecedy následovně: z každého uzlu, který není listem, vychází dvě hrany k uzlům, jejichž redukcí uzel vzniknul. Jedné hraně přiřadíme znak 0, druhé znak 1. Kódové slovo reprezentující znak původní neredukované abecedy pak tvoří binární slovo, které vznikne zřetězením symbolů na cestě od kořene k listu. Příklad Pomocí Huffmanovy konstrukce nalezněte nejkratší binární kód zdrojové abecedy aa 1 aa 2 aa 3 aa 4 aa 5 aa 6 aa 7 AA = , spočtěte střední délku kódového slova. 32 Řešení. 0 0 a 6 (10) a 1 (9) a 2 (4) a 5 (3) a 7 (3) a 4 (2) a 3 (1) Střední délka kódového slova: dd = 1 ( ) = Huffmanova konstrukce nejkratšího kódu - obecná varianta Konstrukce nejkratšího nn-árního kódu (tj. BB = {bb 1,, bb nn } je kódová abeceda) probíhá zcela analogicky binárnímu případu, tj. ve dvou na sebe navazujících fázích - redukce a zpětná rekonstrukce. Fáze redukce - opakovaně provádíme redukce, přičemž u první provádíme redukci posledních ss nejméně četných znaků zdrojové abecedy, kde ss {2,, nn} a navíc musí platit (nn 1) (rr ss). Ve všech následujících fázích již redukujeme právě nn nejméně četných znaků, než dostaneme redukovanou abecedu s právě nn znaky (pro tuto abecedu již umíme sestrojit nejkratší nn-ární kód). Fáze zpětné rekonstrukce - základem je následující tvrzení: Jestliže {KK(aa 1 ),, KK(aa rr ss ), KK(aa )} je nejkratší kód redukované abecedy AA RR = {aa 1,, aa rr ss, aa }, potom {KK(aa 1 ),, KK(aa rr ss ), KK(aa )bb 1,, KK(aa )bb ss } je nejkratší kód neredukované abecedy AA = {aa 1,, aa rr ss,, aa rr }. 18

19 Příklad Pomocí Huffmanovy konstrukce nalezněte nejkratší čtyřznakový kód zdrojové abecedy aa 1 aa 2 aa 3 aa 4 aa 5 aa 6 aa 7 aa 8 aa 9 aa 10 aa 11 aa 12 AA = , spočtěte střední 55 délku kódového slova. Řešení. Nejprve uspořádáme znaky zdrojové abecedy nerostoucím způsobem dle četnosti výskytu, následně určíme počet znaků ss redukovaných při první redukci (dále pak redukujeme vždy 4 nejméně četné znaky). Jelikož musí platit (nn 1) (rr ss), tj. (3) (12 ss), budeme v první fázi redukovat ss = 3 nejméně četné znaky. Standardizovaná konstrukce probíhá následovně. a 5 (9) 0 a 9 (8) a 1 (7) 20 a 3 (6) a 7 (6) 23 3 a 12 (6) 23 a 2 (3) a 4 (3) 31 a 6 (2) a 8 (2) 330 a 10 (2) 331 a 11 (1) Pro střední délku kódového slova dostáváme dd = , Aritmetické kódy metoda DFWLD V další části se seznámíme s myšlenkou tzv. aritmetických kódů (konkrétně metodou DFWLD), které se řadí k bezeztrátovým kompresním metodám (nultého řádu). Aritmetické kódy, metoda DFWLD (dyadic fraction with least denominator) Zdrojová abeceda AA = aa 1 aa rr rr pp 1 pp, kde pp ii > 0, ii=1 pp ii = 1, navíc předpokládáme, že pp 1 pp rr. rr Dále označme xx = aa ii1 aa iinn AA slovo určené k zakódování (kompresi). 19

20 Obecný postup aritmetického kódování: 1. Pro jednotlivé prefixy kódovaného slova xx postupně konstruujeme posloupnost do sebe vnořených intervalů 0,1) II aa ii1 II aa ii1 aa ii2 II aa ii1 aa iinn, které jednoznačně reprezentují daný prefix (přesněji intervaly reprezentující všechna slova nad AA mající pevnou délku tvoří rozklad intervalu 0,1)). 2. Z intervalu II aa ii1 aa iinn, který odpovídá kódovanému slovu, vybereme tzv. reprezentanta, tj. číslo RR II aa ii1 aa iinn, které jednoznačně charakterizuje daný interval. 3. Kód slova xx = aa ii1 aa iinn bude tvořit vhodná binární reprezentace čísla RR. Poznámka Výše popsaný postup je společný aritmetickým kódům obecně a jednotlivé metody se v podstatě liší pouze způsobem výběru reprezentanta a detaily souvisejícími s jeho binární reprezentací. V případě metody DFWLD volíme (jak plyne z názvu - dyadic fraction with least denominator) reprezentanta ve tvaru dyadického zlomku RR = ss II aa 2 tt ii 1 aa iinn s nejmenším jmenovatelem. Detaily DFWLD konstrukce intervalů, výpočtu reprezentanta a jeho binárního zápisu: 1. Konstrukce do sebe vnořených intervalů jednotlivých prefixů aa ii1, aa ii1 aa ii2,, aa ii1 aa iijj,, aa ii1 aa iinn Každý interval II aa ii1 aa iijj, jj = 1,, nn je jednoznačně určen svou dolní mezí αα jj a délkou ll jj, tj. II aa ii1 aa iijj = αα jj, αα jj + ll jj. Při konstrukci postupujeme v podstatě indukcí, tj. na základě αα jj a ll jj vypočteme αα jj+1 a ll jj+1 následovně αα jj+1 = αα jj + ll jj kk<iijj+1 pp kk a ll jj+1 = ll jj pp iijj+1, kde αα 0 = 0, ll 0 = 1 (odpovídá základnímu intervalu 0,1)). 2. Výpočet reprezentanta RR Hledáme dyadický zlomek RR = ss αα 2 nn, αα tt nn + ll nn ) s nejmenším jmenovatelem. Číslo tt NN + určíme jednoznačně ze zřejmých nerovnic 1 ll 2 tt nn < 1 2tt 1. Následně určíme hodnotu ss NN z nerovnic αα nn ss < αα 2 tt nn + ll nn. Těmto nerovnicím vždy vyhovuje alespoň jedna hodnota ss, ale nejvýše dvě po sobě jdoucí (v tom případě vždy zvolíme ss sudé zdůvodněte!). 3. Binární zápis reprezentanta RR Jelikož RR = ss 0,1), zřejmě 0 ss < 2 tt 2tt a tedy RR lze zřejmě zapsat ve tvaru RR = (, cc tt 1 cc 0 ) 2, kde (cc tt 1 cc 0 ) 2 je dvojkový zápis přirozeného čísla ss pomocí tt bitů (v případě potřeby doplníme zleva nuly, např. (000101) 2 je dvojkový zápis čísla 5 pomocí šesti bitů). Kódované slovo xx = aa ii1 aa iinn reprezentujeme bitovým řetězcem cc tt 1 cc 0. Poznámky Zamyslete se nad výše popsanou konstrukcí intervalů jednotlivých prefixů a zdůvodněte skutečnost, že intervaly reprezentující všechna slova délky nn NN + skutečně tvoří rozklad 0,1). Rozklad zaručuje jednoznačný vztah mezi slovy a intervaly a proto ze znalosti intervalu můžeme jednoznačně rekonstruovat slovo. Je třeba si uvědomit, že reprezentant RR nezaručuje jednoznačnou rekonstrukci ve smyslu délky rekonstruovaného (dekódovaného, dekomprimovaného) slova. Pro jednoznačnost je nutná ještě znalost délky rekonstruovaného slova (např. RR = 0, tj. kód 0, reprezentuje libovolně dlouhé slovo obsahující pouze znak aa 1 ). 20

21 Příklad aa bb cc dd ee Uvažujte zdrojovou abecedu AA =. Pomocí metody DFWLD zakódujte 0,3 0,3 0,2 0,1 0,1 slovo bbbbbbbb. Řešení. Konstrukci intervalů prefixů kódovaného slova lze přehledně zapsat do následující tabulky: Znak αα jj ll jj bb 0,3 0,3 αα 1 = , ll 1 = 1 0,3 aa 0,3 0,09 αα 2 = 0,3 + 0,3 0, ll 2 = 0,3 0,3 dd 0,372 0,009 αα 3 = 0,3 + 0,09 (0,3 + 0,3 + 0,2), ll 3 = 0,09 0,1 cc 0,3774 0,0018 αα 4 = 0, ,009 (0,3 + 0,3), ll 4 = 0,009 0,2 Nyní stačí určit reprezentanta RR = ss 2tt 0,3774; 0,3792). Pro tt dostáváme nerovnice 2 tt 0,0018 < 2 tt+1, tedy tt = 10. Pro ss máme nerovnice 0,3774 ss 210 < 0,3792, tedy ss {387,388}. Jelikož v případě dvou po sobě jdoucích hodnot volíme ss sudé, dostáváme RR = = = (, ) Slovo bbbbbbbb proto zakódujeme na bitový řetězec (Poznamenejme, že při použití 7 bitového ASCII kódu bychom místo 8 bitů potřebovali 28 bitů.) Rekonstrukce (dekódování) původního slova probíhá analogicky ke kódování, tj. postupně určujeme intervaly a následně jim odpovídající prefixy, přičemž v každém kroku přidáme na konec již zkonstruovaného prefixu další znak (znalost délky původního slova je nutná proto, abychom věděli, kdy dekódování ukončit). Při rekonstrukci využíváme vlastnosti reprezentanta RR, konkrétně jj {0,, nn 1} αα jj+1 RR < αα jj+1 + ll jj+1. Nerovnosti v závorce lze přepsat na tvar αα jj + ll jj kk<iijj+1 pp kk RR < αα jj + ll jj kk iijj+1 pp kk, resp. kk<iijj+1 pp kk RR αα jj < ll kk iijj+1 pp kk. jj Z nerovnosti již snadno určíme znak aa iijj+1, který přidáme k již známému prefixu aa ii1 aa iijj (startujeme z prázdného prefixu). Poznámka Hodnotu reprezentanta RR vypočteme z kódu cc tt 1 cc 0 dle zřejmého vztahu RR = tt 1 ii=0 cc ii 2 ii tt. Příklad aa bb cc dd ee ff Uvažujte zdrojovou abecedu AA =. Dekódujte slovo , 0,25 0,25 0,2 0,1 0,1 0,1 jestliže délka původního slova byla 7. Řešení. Reprezentant má hodnotu RR = 0, Další postup výpočtu je patrný z následující tabulky. 21

22 αα jj ll jj RR αα jj 0 1 0, d 0, , c 0, , a 0, , e 0, , f 0, ,12 a 0, , ,48 b Binární řetězec byl dekódován na text dcaefab. ll jj Znak Poznámky (dyadické zlomky) Nechť ss ZZ, tt NN. Potom racionální číslo ss 2 tt nazýváme dyadickým zlomkem. Množina všech dyadických zlomků spolu s operacemi sčítání a násobení tvoří těleso, které je husté v RR, tj. xx RR εε > 0 ss ZZ tt NN takové, že xx ss 2 tt < εε. (Jako cvičení ověřte uzavřenost množiny všech dyadických zlomků na sčítání a násobení.) K zápisu dyadických zlomků využíváme obvykle dvojkovou soustavu. Konkrétně ss 2 tt zapisujeme ve tvaru (dd kk dd 0, cc tt cc 0 ) 2, kde (dd kk dd 0 ) 2 je zápis dolní celé části ss 2 tt ve dvojkové soustavě, tj. platí ss 2 tt = kk ii=0 dd ii 2 ii a (, cc tt cc 0 ) 2 je zápis lomené části ss 2 tt ve dvojkové soustavě, tj. platí ss 2 tt = tt ii=0 cc ii 2 ii tt. Je-li číslo αα (0,1) QQ, lze zjednodušeně popsat konstrukci jeho binárního zápisu následovně (bbbbbb_rrrrrr bude obsahovat textový řetězec s binární reprezentací čísla αα; proměnná pppppppppppppp nabude hodnoty true v případě zjištění periodického rozvoje): bbbbbb_rrrrrr ", "; rrrrrrrrrrrru αα 2 αα; iiii αα 1 ttheeee bbbbbb_rrrrrr bbbbbb_rrrrrr & "1"; αα αα 1 eeeeeeee bbbbbb_rrrrrr bbbbbb_rrrrrr & "0"; αα 2 αα; uuuuuuuuuu (αα = 0) (pppppppppppppp); Příklad a) Sestrojte dyadicky zlomek čísla 5, b) Určete racionální číslo reprezentované dyadickým zlomkem (, ) 2. Řešení. a) αα = 0,671875; bbbbbb_rrrrrr ", "; αα 1,34375 (αα 2αα); bbbbnn rrrrrr ",1"; αα 0,34375 (αα αα 1); αα 0,6875 (αα 2αα); bbbbnn rrrrrr ",10"; αα 1,375 (αα 2αα); bbbbnn rrrrrr ",101"; αα 0,375 (αα αα 1); αα 0,75 (αα 2αα); bbbbnn rrrrrr ",1010"; αα 1,5 (αα 2αα); bbbbnn rrrrrr ",10101"; αα 0,5 (αα αα 1); αα 1,0 (αα 2αα); bbbbnn rrrrrr ",101011"; αα 0 (αα αα 1); tedy 5, = (101,101011) 2. b) (, ) 2 = nn=1 2 2nn =

23 Přílohy a b c d e f g h i j k l m n o p q r s t u v w x y z Tabulka č. 1 - Anglická abeceda a pořadí znaků Znak ASCII Znak a b c d e f g h i j ASCII Znak k l m n o p q r s t ASCII Znak u v w x y z ASCII Tabulka č. 2 - neúplná ASCII tabulka a b c d e f g h i j k l m n o p q r s t u v w x y z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Tabulka č. 3 - Vigenèrův čtverec 23

24 Tabulka č. 4 Tabulka násobení modulo 2

Matematické základy šifrování a kódování

Matematické základy šifrování a kódování Matematické základy šifrování a kódování Permutace Pojem permutace patří mezi základní pojmy a nachází uplatnění v mnoha oblastech, např. kombinatorice, algebře apod. Definice Nechť je n-prvková množina.

Více

Matematika pro informatiky II

Matematika pro informatiky II Fakulta přírodovědně humanitní a pedagogická, Technická univerzita v Liberci I Doc. RNDr. Miroslav Koucký, CSc. Liberec, 6 Copyright Doc. RNDr. Miroslav Koucký, CSc. Obsah. Úvod do šifrování.. Základní

Více

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování. Název předmětu: Matematika pro informatiky Zkratka předmětu: MIE Počet kreditů: 5 Forma studia: kombinovaná Forma zkoušky: kombinovaná (písemná a ústní část) Anotace: Předmět seznamuje se základy dělitelnosti,

Více

Šifrování, kódování a jejich aplikace - ak. rok 2016/17

Šifrování, kódování a jejich aplikace - ak. rok 2016/17 Šifrování, kódování a jejich aplikace - ak. rok 2016/17 (zkratka předmětu: KAP/SKA, počet kreditů: 6) Předmět je zakončen zkouškou, které musí předcházet získání zápočtu. Podmínky pro získání zápočtu a

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptografie, elektronický podpis Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptologie Kryptologie věda o šifrování, dělí se: Kryptografie nauka o metodách utajování smyslu zpráv převodem do podoby,

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

Matice. a m1 a m2... a mn

Matice. a m1 a m2... a mn Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích

Více

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 8. RSA, kryptografie s veřejným klíčem doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

Šifrová ochrana informací historie KS4

Šifrová ochrana informací historie KS4 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací historie KS4 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

(Cramerovo pravidlo, determinanty, inverzní matice)

(Cramerovo pravidlo, determinanty, inverzní matice) KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce

Více

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici [1] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A = 0 pro singulární matici, det A 0 pro regulární matici používá se při řešení lineárních soustav... a v mnoha dalších aplikacích

Více

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky. Teorie množin V matematice je všechno množina I čísla jsou definována pomocí množin Informatika stojí na matematice Znalosti Teorie množin využijeme v databázových systémech v informačních systémech při

Více

Algebraické struktury s jednou binární operací

Algebraické struktury s jednou binární operací 16 Kapitola 1 Algebraické struktury s jednou binární operací 1.1 1. Grupoid, pologrupa, monoid a grupa Chtěli by jste vědět, co jsou to algebraické struktury s jednou binární operací? No tak to si musíte

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův Kódy a kódování dat Kódování je proces, při kterém se každému znaku nebo postupnosti znaků daného souboru znaků jednoznačně přiřadí znak nebo postupnost znaků z jiného souboru znaků. Kódování je tedy transformace

Více

Šifrová ochrana informací historie PS4

Šifrová ochrana informací historie PS4 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací historie PS4 1 Osnova úvod, definice pojmů; substituční šifry; transpoziční šifry; první prakticky používané šifrové systémy;

Více

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. 4 Afinita Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. Poznámka. Vzájemně jednoznačným zobrazením rozumíme zobrazení,

Více

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty. Kapitola 4 Tělesa Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty. Všechna čísla byla reálná, vektory měly reálné souřadnice, matice měly reálné prvky. Také řešení soustav

Více

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku VI Maticový počet VI1 Základní operace s maticemi Definice Tabulku a 11 a 12 a 1n a 21 a 22 a 2n, a m1 a m2 a mn kde a ij R, i = 1,, m, j = 1,, n, nazýváme maticí typu m n Zkráceně zapisujeme (a ij i=1m

Více

ALGEBRA. Téma 4: Grupy, okruhy a pole

ALGEBRA. Téma 4: Grupy, okruhy a pole SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 4: Grupy, okruhy a pole Základní pojmy unární operace, binární operace, asociativita,

Více

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru 2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních

Více

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra kryptosystémy obecně klíčové hospodářství klíč K, prostor klíčů T K kryptografická pravidla další zajímavé substituční šifry Hillova šifra Vernamova šifra Knižní šifra klíč K různě dlouhá posloupnost znaků

Více

1 Determinanty a inverzní matice

1 Determinanty a inverzní matice Determinanty a inverzní matice Definice Necht A = (a ij ) je matice typu (n, n), n 2 Subdeterminantem A ij matice A příslušným pozici (i, j) nazýváme determinant matice, která vznikne z A vypuštěním i-tého

Více

MFF UK Praha, 22. duben 2008

MFF UK Praha, 22. duben 2008 MFF UK Praha, 22. duben 2008 Elektronický podpis / CA / PKI část 1. http://crypto-world.info/mff/mff_01.pdf P.Vondruška Slide2 Přednáška pro ty, kteří chtějí vědět PROČ kliknout ANO/NE a co zatím všechno

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

1 Vektorové prostory.

1 Vektorové prostory. 1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které

Více

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu KRYPTOGRAFIE CO JE KRYPTOGRAFIE Kryptografie je matematický vědní obor, který se zabývá šifrovacími a kódovacími algoritmy. Dělí se na dvě skupiny návrh kryptografických algoritmů a kryptoanalýzu, která

Více

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x 1 ZOBRAZENÍ 1 Zobrazení a algebraické struktury 1 Zobrazení Příklad 1.1. (a) Ukažte, že zobrazení f : x na otevřený interval ( 1, 1). x x +1 je bijekce množiny reálných čísel R (b) Necht a, b R, a < b.

Více

Operace s maticemi. 19. února 2018

Operace s maticemi. 19. února 2018 Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice

Více

Šifrová ochrana informací historie PS4

Šifrová ochrana informací historie PS4 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací historie PS4 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21. Čínská věta o zbytcích Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MA) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MA čtvrtek 21. října 2010 verze:

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo 0. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo (PEF PaA) Petr Gurka aktualizováno 9. prosince 202 Obsah Základní pojmy. Motivace.................................2 Aritmetický vektorový

Více

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Operace s maticemi

Operace s maticemi Operace s maticemi Seminář druhý 17.10. 2018 Obsah 1 Operace s maticemi 2 Hodnost matice 3 Regulární matice 4 Inverzní matice Matice Definice (Matice). Reálná matice typu m n je obdélníkové schema A =

Více

Algebra - druhý díl. Lenka Zalabová. zima Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita

Algebra - druhý díl. Lenka Zalabová. zima Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita Algebra - druhý díl Lenka Zalabová Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita v Českých Budějovicích zima 2012 Obsah 1 Permutace 2 Grupa permutací 3 Více o permutacích

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

Číselné vektory, matice, determinanty

Číselné vektory, matice, determinanty Číselné vektory, matice, determinanty Základy vyšší matematiky LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny

Více

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy: Opakování středoškolské matematiky Slovo úvodem: Tato pomůcka je určena zejména těm studentům presenčního i kombinovaného studia na VŠFS, kteří na středních školách neprošli dostatečnou průpravou z matematiky

Více

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Relace, zobrazení, algebraické struktury Michal Botur Přednáška

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 2. přednáška Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 20 Co nás dneska čeká... Závislé a nezávislé

Více

SOUČIN MATIC A m n B n p = C m p, přičemž: a i1 b 1j +a i2 b 2j + +a in b nj = c ij, i=1 m, j=1 p. Např: (-2) = -3

SOUČIN MATIC A m n B n p = C m p, přičemž: a i1 b 1j +a i2 b 2j + +a in b nj = c ij, i=1 m, j=1 p. Např: (-2) = -3 SOUČIN MATIC A m n B n p = C m p, přičemž: a i1 b 1j +a i2 b 2j + +a in b nj = c ij, i=1 m, j=1 p Např: 2 2 + (-2) 4 + 0 0 + 1 1 = -3 INVERZNÍ MATICE Pro čtvercovou matici B může (ale nemusí) existovat

Více

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

Více

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

Více

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu. Determinanty Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Determinanty Definice determinantu Sarrusovo a křížové pravidlo Laplaceův rozvoj Vlastnosti determinantu Výpočet determinantů 2 Inverzní

Více

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S. 1 Kapitola 1 Množiny 11 Základní množinové pojmy Pojem množiny nedefinujeme, pouze připomínáme, že množina je souhrn, nebo soubor navzájem rozlišitelných objektů, kterým říkáme prvky 111 Princip rovnosti

Více

1 Báze a dimenze vektorového prostoru 1

1 Báze a dimenze vektorového prostoru 1 1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější

Více

Šifrová ochrana informací věk počítačů PS5-1

Šifrová ochrana informací věk počítačů PS5-1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-1 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

Báze a dimenze vektorových prostorů

Báze a dimenze vektorových prostorů Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň

Více

Ukázkyaplikacímatematiky

Ukázkyaplikacímatematiky Ukázkyaplikacímatematiky Jiří Tůma 2015 http://www.karlin.mff.cuni.cz/ tuma/aplikace15.htm tuma@karlin.mff.cuni.cz 0-1 Kapitola1 Úvod do šifrování 1-1 Základní pojmy- obsah Základnípojmy Ceasarova šifra

Více

Množiny, relace, zobrazení

Množiny, relace, zobrazení Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,

Více

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy, Komplexní čísla Množinu všech uspořádaných dvojic (x, y) reálných čísel x, y nazýváme množinou komplexních čísel C, jestliže pro každé dvě takové dvojice (x, y ), (x 2, y 2 ) je definována rovnost, sčítání

Více

Ukázky aplikací matematiky. Kapitola 1. Jiří Tůma. Úvod do šifrování. Základní pojmy- obsah. Historie šifrování

Ukázky aplikací matematiky. Kapitola 1. Jiří Tůma. Úvod do šifrování. Základní pojmy- obsah. Historie šifrování Ukázky aplikací matematiky Jiří Tůma 2015 http://www.karlin.mff.cuni.cz/ tuma/aplikace15.htm tuma@karlin.mff.cuni.cz Kapitola 1 0-1 1-1 Základní pojmy- obsah Historie šifrování Základnípojmy Ceasarova

Více

Nechť M je množina. Zobrazení z M M do M se nazývá (binární) operace

Nechť M je množina. Zobrazení z M M do M se nazývá (binární) operace Kapitola 2 Algebraické struktury Řada algebraických objektů má podobu množiny s nějakou dodatečnou strukturou. Například vektorový prostor je množina vektorů, ty však nejsou jeden jako druhý : jeden z

Více

8 Matice a determinanty

8 Matice a determinanty M Rokyta, MFF UK: Aplikovaná matematika II kap 8: Matice a determinanty 1 8 Matice a determinanty 81 Matice - definice a základní vlastnosti Definice Reálnou resp komplexní maticí A typu m n nazveme obdélníkovou

Více

4. Trojúhelníkový rozklad p. 1/20

4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad 4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad p. 2/20 Trojúhelníkový rozklad 1. Permutační matice 2. Trojúhelníkové matice 3. Trojúhelníkový (LU) rozklad 4. Výpočet

Více

Permutační grupy Cykly a transpozice Aplikace. Permutace. Rostislav Horčík: Y01DMA 11. května 2010: Permutace 1/17

Permutační grupy Cykly a transpozice Aplikace. Permutace. Rostislav Horčík: Y01DMA 11. května 2010: Permutace 1/17 Permutace Rostislav Horčík: Y01DMA 11. května 2010: Permutace 1/17 Motivace Permutace jsou důležitou částí matematiky viz použití v pravděpodobnosti, algebře (např. determinanty) a mnoho dalších. Jsou

Více

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce Neurčitý integrál Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah Primitivní funkce, neurčitý integrál Základní vlastnosti a vzorce Základní integrační metody Úpravy integrandu Integrace racionálních

Více

10. DETERMINANTY " # $!

10. DETERMINANTY  # $! 10. DETERMINANTY $ V této kapitole zavedeme determinanty čtvercových matic libovolného rozměru nad pevným tělesem, řekneme si jejich základní vlastnosti a naučíme se je vypočítat včetně příkladů jejich

Více

6 Samodružné body a směry afinity

6 Samodružné body a směry afinity 6 Samodružné body a směry afinity Samodružnými body a směry zobrazení rozumíme body a směry, které se v zobrazují samy na sebe. Například otočení R(S má jediný samodružný bod, střed S, anemá žádný samodružný

Více

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01 Čínská věta o zbytcích Mocnění Eulerova funkce Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG ponděĺı

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména

Více

Čínská věta o zbytcích RSA

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 11:20 Obsah

Více

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC .6. VLASTNÍ ČÍSLA A VEKTORY MATIC V této kapitole se dozvíte: jak jsou definována vlastní (charakteristická) čísla a vektory čtvercové matice; co je to charakteristická matice a charakteristický polynom

Více

Teorie informace: řešené příklady 2014 Tomáš Kroupa

Teorie informace: řešené příklady 2014 Tomáš Kroupa Teorie informace: řešené příklady 04 Tomáš Kroupa Kolik otázek je třeba v průměru položit, abychom se dozvěděli datum narození člověka (den v roce), pokud odpovědi jsou pouze ano/ne a tázaný odpovídá pravdivě?

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

Více

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i. KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení

Více

Matematika 2 pro PEF PaE

Matematika 2 pro PEF PaE Determinanty / 8 Matematika 2 pro PEF PaE 3 Determinanty Přemysl Jedlička Katedra matematiky, TF ČZU Permutace Determinanty Výpočet determinantu z definice 2 / 8 Permutací množiny {,, n} rozumíme prosté

Více

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád), 1 LINEÁRNÍ ALGEBRA 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci

Více

1.1 Definice a základní pojmy

1.1 Definice a základní pojmy Kapitola. Teorie dělitelnosti C. F. Gauss: Matematika je královnou všech věd a teorie čísel je královna matematiky. Základním číselným oborem, se kterým budeme v této kapitole pracovat, jsou celá čísla

Více

Šifrování Kafková Petra Kryptografie Věda o tvorbě šifer (z řečtiny: kryptós = skrytý, gráphein = psát) Kryptoanalýza Věda o prolamování/luštění šifer Kryptologie Věda o šifrování obecné označení pro kryptografii

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

Aplikovaná numerická matematika - ANM

Aplikovaná numerická matematika - ANM Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových

Více

Lineární algebra. Matice, operace s maticemi

Lineární algebra. Matice, operace s maticemi Lineární algebra Matice, operace s maticemi Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie RSA doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro

Více

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů? Kapitola 9 Matice a počet koster Graf (orientovaný i neorientovaný) lze popsat maticí, a to hned několika různými způsoby. Tématem této kapitoly jsou incidenční matice orientovaných grafů a souvislosti

Více

Matematika pro informatiky I

Matematika pro informatiky I Fakulta přírodovědně humanitní a pedagogická, Technická univerzita v Liberci Doc. RNDr. Miroslav Koucký, CSc. Liberec, 2017 Obsah 1. Matematické základy 1.1. Kartézský součin, relace, zobrazení 1.2. Základy

Více

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

OBECNÉ METODY VYROVNÁNÍ

OBECNÉ METODY VYROVNÁNÍ OBECNÉ METODY VYROVNÁNÍ HYNČICOVÁ TEREZA, H2IGE1 2014 ÚVOD Z DŮVODU VYLOUČENÍ HRUBÝCH CHYB A ZVÝŠENÍ PŘESNOSTI NIKDY NEMĚŘÍME DANOU VELIČINU POUZE JEDNOU VÝSLEDKEM OPAKOVANÉHO MĚŘENÍ NĚKTERÉ VELIČINY JE

Více

P 1 = P 1 1 = P 1, P 1 2 =

P 1 = P 1 1 = P 1, P 1 2 = 1 Výpočet inverzní matice Věta 1 Necht P U elementární matice vzniklá el úpravou U Pak je P U regulární Důkaz: Protože elementární úprava U je invertovatelná, existuje el úprava U, která vrací změny U

Více

Množiny, základní číselné množiny, množinové operace

Množiny, základní číselné množiny, množinové operace 2 Množiny, základní číselné množiny, množinové operace Pokud kliknete na některý odkaz uvnitř textu kromě prezentace, zobrazí se odpovídající příklad nebo tabulka. Levý Alt+šipka doleva nebo ikona Vás

Více

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30 Generující kořeny cyklických kódů 6. přednáška z algebraického kódování Alena Gollová, TIK Generující kořeny 1/30 Obsah 1 Alena Gollová, TIK Generující kořeny 2/30 Hammingovy kódy Hammingovy kódy jsou

Více

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon). Grupy, tělesa grupa: množina s jednou rozumnou operací příklady grup, vlastnosti těleso: množina se dvěma rozumnými operacemi příklady těles, vlastnosti, charakteristika tělesa lineární prostor nad tělesem

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty študenti MFF 15. augusta 2008 1 14 Vlastní čísla a vlastní hodnoty Požadavky Vlastní čísla a vlastní hodnoty lineárního

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

1 Projekce a projektory

1 Projekce a projektory Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A

Více

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku

Více