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



Podobné dokumenty
Matematika pro informatiky II

Matematika pro informatiky II

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í.

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

Šifrová ochrana informací historie KS4

Šifrová ochrana informací historie PS4

Šifrová ochrana informací historie PS4

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

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

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

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

DEFINICE Z LINEÁRNÍ ALGEBRY

Algebraické struktury s jednou binární operací

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

1 Vektorové prostory.

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

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

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:

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

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

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.


8 Matice a determinanty

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

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

Klasická kryptologie: Historické šifry

doc. Ing. Róbert Lórencz, CSc.

0.1 Úvod do lineární algebry

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

Číselné vektory, matice, determinanty

Klasická kryptologie: Historické šifry

0.1 Úvod do lineární algebry

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

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

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

1 Báze a dimenze vektorového prostoru 1

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

Ukázkyaplikacímatematiky

Množiny, relace, zobrazení

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

Matematika B101MA1, B101MA2

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

Téma 2 Principy kryptografie

Matematika. Kamila Hasilová. Matematika 1/34

Lineární algebra. Soustavy lineárních rovnic

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

6 Samodružné body a směry afinity

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

klasická kryptologie základní pojmy požadavky na kryptosystém typologie šifer transpoziční šifry substituční šifry

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

Základy matematiky pro FEK

Matice. a m1 a m2... a mn

Symetrické šifry, DES

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

teorie logických spojek chápaných jako pravdivostní funkce

Lineární algebra Operace s vektory a maticemi

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty,

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),

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

IB112 Základy matematiky

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

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

10. DETERMINANTY " # $!

klasická kryptologie základní pojmy požadavky na kryptosystém typologie šifer transpoziční šifry substituční šifry

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

Konstrukce šifer. Andrew Kozlík KA MFF UK

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Kryptografie a počítačová bezpečnost

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

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

Číselné soustavy a převody mezi nimi

Vzdálenost jednoznačnosti a absolutně

Operace s maticemi

15 Maticový a vektorový počet II

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

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,

Matematická analýza 1

6. Vektorový počet Studijní text. 6. Vektorový počet

rozumíme obdélníkovou tabulku

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

7 Analytické vyjádření shodnosti

Lineární algebra. Matice, operace s maticemi

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

(Cramerovo pravidlo, determinanty, inverzní matice)

Věta o dělení polynomů se zbytkem

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

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

1 Linearní prostory nad komplexními čísly

Šifrovací kroužek, 2015 Pro potřeby žáků ZŠ Čerčany ŠIFROVACÍ KROUŽEK - 3. hodina

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

Čtvercové matice. Čtvercová matice je taková matice, jejíž počet řádků je roven počtu jejích sloupců

Kapitola 11: Vektory a matice 1/19

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

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

Soustavy lineárních rovnic

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

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

Základy matematiky pro FEK

MFF UK Praha, 22. duben 2008

Transkript:

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. Permutací na množině A rozumíme libovolné uspořádání prvků množiny A, tj. libovolnou uspořádanou n-tici tvořenou právě všemi prvky množiny A. Běžně je k zápisu permutací využíván následující dvouřádkový zápis který interpretujeme následovně první řádek určuje pozice v uspořádané n-tici a druhý řádek určuje prvky (z množiny A), které se na dané pozici vyskytují (tj. na 1. pozici je prvek, atd. až na n-té pozici je prvek ). S ohledem na tuto skutečnost je zřejmé, že např. zápisy definují stejnou permutaci. a, Permutace budeme obvykle značit malými řeckými písmeny z druhé poloviny řecké abecedy, např. apod. Alternativně lze permutaci definovat jako vzájemně jednoznačné zobrazení množiny A na sebe. Množinu všech permutací na n-prvkové množině budeme značit (platí ) a definujeme na ní operaci násobení následovně: (Pokud permutace chápeme jako vzájemně jednoznačné zobrazení množina A na sebe, potom součin odpovídá operaci skládání zobrazení.) Množina spolu s výše definovanou operací násobení tvoří tzv. symetrickou grupu, zapisujeme. Permutace tvoří tzv. jednotkový prvek (označujeme id n, resp. 1) symetrické grupy a permutace tvoří inverzní permutaci k. Zřejmě platí (ověřte): - - -

Příklad Nechť, kde. Zřejmě platí: ; Úvod do šifrování (kryptografie) Kryptografie je 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 založeny na tzv. frekvenční analýze, která odhaduje identitu znaků (resp. jejich kombinací) na základě porovnání frekvence jejich výskytu v daném jazyce a zašifrovaném textu. Kryptologie Disciplína, která zahrnuje jak kryptografii, tak i kryptoanalýzu. Vývoj obou disciplín je vzájemně provázán. Steganografie 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 ( steganograficke metody: technické a lingvistická). Kryptologie Steganografie Kryptografie Kryptoanalýza Základní pojmy Otevřená abeceda Konečná množina znaků A, 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 na abecedu uvedenou v horním řádku následující tabulky (v celé řadě metod budeme znaky otevřené abecedy nahrazovat jejich pořadím, číslujeme od 0 - viz druhý řádek). 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Otevřený text Otevřeným textem rozumíme konečný řetězec znaků otevřené abecedy (n je délka). Otevřený text budeme psát obvykle malými písmeny a interpretujeme ho jako zprávu určenou k zašifrování. Prostor otevřených textů Množinu všech potenciálních otevřených textů budeme nazývat prostorem otevřených textů a značit. Šifrová abeceda Konečná množina znaků B, které používáme v zašifrovaných zprávách. V případě binárním šifrování., mluvíme o Zašifrovaný text (šifrový text) Konečný řetězec textu. znaků šifrové abecedy, který vzniknul zašifrováním některého otevřeného 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ů budeme nazývat prostorem otevřených textů a značit. Klíč, prostor klíčů Klíčem rozumíme uspořádanou dvojici, kde e nazýváme šifrovacím klíčem (parametr šifrovací metody), d dešifrovacím klíčem (parametr dešifrovací metody). Množina všech klíčů tvoří tzv. prostor klíčů, značíme. 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. 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 přesně definovaný proces převedení otevřeného textu do nesrozumitelné podoby zašifrovaného textu. Šifrovací funkce/transformace Šifrovací funkcí rozumíme vzájemně jednoznačné zobrazení definované pro všechny (šifrovací) klíče z prostoru klíčů. Vzájemná jednoznačnost je základním předpokladem pro možnost zpětného dešifrování. Šifrovací systém Uspořádaná trojice, kde je prostor klíčů, je množina šifrovacích funkcí, je množina dešifrovacích funkcí, tvoří šifrovací systém, jestliže Interpretace - každý klíč definuje jedinou dvojici transformací a (šifrovací transformaci a jí příslušnou dešifrovací).

Symetrické (klasické) šifrovací metody Šifrovací metody, kde dešifrovací klíč je výpočetně jednoduché odvodit ze šifrovacího klíče. Asymetrické šifrovací metody (s veřejným klíčem) Šifrovací metody, kde dešifrovací klíč nelze výpočetně jednoduše 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. Monoalfabetické šifry Šifrovací metody (obvykle substituční), využívající pouze jednu šifrovou abecedu. Homofonní šifry Šifrovací metody, kde znaky šifrového textu mají teoreticky stejnou frekvenci výskytu. Polyalfabetické šifry Šifrovací metody (obvykle substituční) využívající více šifrovacích abeced, které systematicky (tj. dle definovaných pravidel) střídají. Jednoduchá transpozice Šifrovací klíč:, kde Šifrovací transformace:, kde,. (V tomto případě použijeme jako úplnou soustavu zbytků modulo n množinu ) Dešifrovací klíč:, kde označuje inverzní permutaci k Dešifrovací transformace:, kde,. (V tomto případě použijeme také jako úplnou soustavu zbytků modulo n množinu ) Postup šifrování lze popsat následovně - nejprve text rozdělíme na po sobě jdoucí podřetězce délky d. Každý podřetězec pak zašifrujeme pomocí permutace na řetězec (tj. na pozici i umístíme znak z pozice ). Analogicky postupujeme i při dešifrování (pouze místo použijeme ). Pokud délka n textu není násobkem čísla d, doplníme ho 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 DRMUITEMNU (při šifrování byl použit klíč ). Dešifrovací klíč zašifrovaný text: D R M U I T E M N U otevřený text: r u d i m e n t u m Afinní šifra Šifrovací klíč:, kde Šifrovací funkce:, kde, je číselná reprezentace i-tého znaku otevřeného textu. Poznámka Nejprve převedeme textový řetězec na číselný řetězec např. tak, že každý znak nahradíme jeho pořadím v rámci uvažované abecedy (pozor - číslujeme od 0 nebo od 1) - viz tabulka č. 1. Dešifrovací klíč:, kde je inverzní prvek k Dešifrovací funkce:, kde. Příklad Uvažujte afinní šifru s šifrovacím klíčem, kde. a) Zašifrujte text vista. Průběh šifrování lze zapsat následovně: b) Dešifrujte text BOWLC. Průběh dešifrování lze zapsat následovně: Jednoduchá substituce Šifrovací klíč: Šifrovací funkce: Dešifrovací klíč:, kde označuje inverzní permutaci k Šifrovací funkce: Poznámka 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, kde. Číslo k definuje pozici, odkud začneme postupně umisťovat znaky textového řetězce, opakující se znaky vynecháváme. V další fázi doplníme chybějící znaky otevřené abecedy.

Příklad Otevřený text aqua fontis zašifrujte pomocí jednoduché substituce. Jako šifrovací klíč použijte: a) Schematický 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) Nejprve na základě klíče vygenerujeme příslušnou permutaci definující substituční abecedu - od 7. znaku (tj. od písmene g) doplňujeme text regnumbohemiae (opakující se znaky vynecháváme). V dlaší fázi doplníme chybějící znaky otevřené abecedy. otevřený text: a q u a f o n t i s zašifrovaný text: T A J T Z H O F G D Hillova šifra Šifrovací klíč:, kde Šifrovací funkce: kde je číselný vektor reprezentující šifrovaný podřetězec otevřeného textu, je číselný vektor reprezentující odpovídající šifrový text. Dešifrovací klíč:, matice inverzní k H modulo 26 Dešifrovací funkce: Postup šifrování lze popsat následovně - nejprve otevřený text rozdělíme na po sobě jdoucí podřetězce délky d. Každý podřetězec pak převedeme na číselný vektor, který zašifrujeme pomocí šifrovací funkce na řetězec. Pokud délka n otevřeného textu není násobkem čísla d, doplníme ho libovolnými znaky na délku rovnou prvnímu násobku čísla d většímu než n. Existence inverzní matice je nezbytnou podmínkou pro jednoznačné dešifrování. Lze ukázat, že nutnou a postačující podmínkou je, kde označuje determinant matice H. Platí. Výpočet se provádí v soustavě Z 26 a lze využít standardní postupy, např. Gaussovu metodu, determinanty atd. Příklad Uvažujte Hillovu šifru s klíčem. a) Zašifrujte text tarsus. Průběh šifrování lze zapsat následovně:

b) Dešifrujte text QASNAL. Průběh dešifrování lze zapsat následovně: Vigenerova šifra Šifrovací klíč: Šifrovací funkce:, kde (využíváme úplnou soustavu zbytků ) Dešifrovací klíč:, kde označuje inverzní permutaci k Dešifrovací funkce: Vigenerova šifra je polyalfabetická šifra, jejíž klíč tvoří d cyklicky se střídajících substitučních abeced. Tedy pro zašifrování: znaku použijeme abecedu, znaku použijeme abecedu, znaku použijeme abecedu, Speciálním případem je šifrování pomocí tzv. Vigenerova čtverce, jehož první řádek tvoří otevřená abeceda a následující řádky reprezentují substituční abecedy vzniklé pouhým posunutím (viz tab. č. 2). Šifrovací klíč tvoří textový řetězec, který určuje řádky (první znak řádku), používané k zašifrování daného znaku otevřeného textu. 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 č. 2 - Vigenerův čtverec Příklad Uvažujte Vigenerovu š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 Binární šifrování Ze zřejmých důvodů převládají v současné době šifrovací metody, které používají binární abecedu, tj. a tedy šifrují bitový (binární) řetězec reprezentující otevřený text opět na bitový (binární) řetězec tvořící šifrový text. Standardní bitové (logické) operace: Bitové operace rozšíříme přirozeně na operace mezi bitovými řetězci stejné délky - provádíme bitové operace mezi sobě odpovídajícími bity obou bitových řetězců. Např.. Pro převod otevřeného textu na binární řetězec budeme využívat níže uvedenou ASCII tabulku. Znak 0 1 2 3 4 5 6 7 8 9 ASCII 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001 Znak a b c d e f g h i j ASCII 01100001 01100010 01100011 01100100 01100101 01100110 01100111 01101000 01101001 01101010 Znak k l m n o p q r s t ASCII 01101011 01101100 01101101 01101110 01101111 01110000 01110001 01110010 01110011 01110100 Znak u v w x y z ASCII 01110101 01110110 01110111 01111000 01111001 01111010

Vernamova šifra Šifrovací klíč: Šifrovací funkce: kde, kde je binární reprezentace otevřeného textu (resp. jeho části), je binární reprezentace zašifrovaného textu (resp. jeho části), je symbol pro operaci vylučovací nebo (exclusive or, resp. xor). Dešifrovací klíč:, kde (tj. společný pro šifrování i dešifrování) Dešifrovací funkce: Dešifrování probíhá korektně, neboť: Postup šifrování lze popsat následovně - nejprve otevřený text převedeme na bitový řetězec, který následně rozdělíme na po sobě jdoucí bitové řetězce délky klíče (tj. d). Tyto řetězce pak zašifrujeme pomocí výše uvedené šifrovací funkce. Šifrovací klíč lze zadat pomocí klíčového slova, jehož binární reprezentace pak tvoří skutečný klíč k. Příklad Uvažujte Vernamovu šifru s klíčovým slovem ico. a) Zašifrujte text secus Bitová reprezentace klíče: otevřený text: s e c u s binární reprezentace: 01110011 01100101 01100011 01110101 01110011 klíč: 01101001 01100011 01101111 01101001 01100011 zašifrovaný text: 00011010 00000110 00001100 00011100 00010000 b) Dešifrujte text (00001111000011000001110100011010) zašifrovaný text: 00001111 00001100 00011101 00011010 klíč: 01101001 01100011 01101111 01101001 binární reprezentace: 01100110 01101111 01110010 01110011 otevřený text: f o r s Feistelova šifra Šifrovací klíč:, kde Šifrovací proces probíhá následovně, v na sebe navazujících krocích: 1. krok:, kde 2. krok:, kde d. krok:, kde (d+1). krok: kde je bitový řetězec délky reprezentující otevřený text (resp. jeho část),

reprezentuje prvních n bitů, reprezentuje následujících n bitů (svislá čárka mezi a má pouze pomocný charakter), je bitový řetězec délky reprezentující zašifrovaný text příslušný. Dešifrovací klíč:, kde odpovídá šifrovacímu klíči Dešifrovací proces probíhá následovně, v na sebe navazujících krocích: 1. krok:, kde 2. krok:, kde d. krok:, kde (d+1). krok: Proces dešifrování probíhá stejně jako šifrování, pouze klíče používáme v obráceném pořadí, tj. v 1. kroku, 2. kroku,, d. kroku. Na závěr zaměníme prvních a druhou polovinu bitů. DES, NDS, AES

Úvod do kódování Cílem následujících části skript je seznámit čtenáře se základy kódování. V úvodní části budou formulovány základní pojmy a poznatky z oblasti tzv. kódování bez šumu a následující část bude věnována úvodu do problematiky bezpečnostních (detekčních, opravných) kódů, zejména pak lineárních kódů. Úvod do kódování bez šumu Základní pojmy: Zdrojová abeceda Konečná množina, 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, 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). V případě, kdy, 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ě mluvíme o ternárním kódování atd. Kódování Kódováním K rozumíme libovolné prosté zobrazení zdrojové abecedy A do množiny všech konečných slov nad abecedou B, tj.. Kódování lze interpretovat jako předpis, který každému zdrojovému znaku přiřadí slovo vytvořené ze znaků kódové abecedy. Slovo nazýváme kódové slovo příslušné zdrojovému znaku a. Vlastnost K je prosté zajišťuje přirozený požadavek kladený na každé smysluplné kódování, 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. V další části nebudeme 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 kódování, potom zobrazení definované pro libovolné slovo nad abecedou A vztahem nazveme kódováním zdrojových zpráv příslušným kódování K. Je zřejmé, že 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 Prefixovým kódem (kódováním) rozumíme takový kód, kde žá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 délky. Počet znaků kódového slova pak nazýváme délkou blokového kódu. Platí: Každý prefixový kód je jednoznačně dekódovatelný a lze je dekódovat znak po znaku. Každý blokový kód je zřejmě prefixový a tedy i jednoznačně dekódovatelný.