Moderní metody substitučního šifrování



Podobné dokumenty

Asymetrická kryptografie

UKRY - Symetrické blokové šifry

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

Pokročilá kryptologie

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

Symetrické šifry, DES

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

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

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

Diffieho-Hellmanův protokol ustanovení klíče

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

BI-BEZ Bezpečnost. Proudové šifry, blokové šifry, DES, 3DES, AES,

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

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

symetrická kryptografie

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

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

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

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Data Encryption Standard (DES)

7. Proudové šifry, blokové šifry, DES, 3DES, AES, operační módy. doc. Ing. Róbert Lórencz, CSc.

Návrh kryptografického zabezpečení systémů hromadného sběru dat

PA159 - Bezpečnostní aspekty

Andrew Kozlík KA MFF UK

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Kryptografie založená na problému diskrétního logaritmu

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

KPB. Režimy činnosti symetrických šifer - dokončení. KPB 2015/16, 7. přednáška 1

KRYPTOGRAFIE VER EJNE HO KLI Č E

Stavební bloky kryptografie. Kamil Malinka Fakulta informačních technologií

6. Cvičení [MI-KRY Pokročilá kryptologie]

Informatika Ochrana dat

Ochrana dat Obsah. Kryptologie. Radim Farana Podklady pro výuku. Kryptologie. Kryptografické systémy, Systémy s tajným klíčem,

ElGamal, Diffie-Hellman

Kódování a Šifrování. Iveta Nastoupilová

Konstrukce šifer. Andrew Kozlík KA MFF UK

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB

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

Šifrování flash a jiných datových úložišť

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

Informatika / bezpečnost

Bezpečnostní mechanismy

Správa přístupu PS3-2

C5 Bezpečnost dat v PC

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

Protiopatření eliminující proudovou analýzu

Identifikátor materiálu: ICT-2-04

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

Informatika Ochrana dat

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

PSK2-16. Šifrování a elektronický podpis I

Návrh a implementace bezpečnosti v podnikových aplikacích. Pavel Horal

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ IMPLEMENTACE SYMETRICKÉ BLOKOVÉ ŠIFRY AES NA MODERNÍCH PROCESORECH

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

Šifrová ochrana informací věk počítačů KS - 5

Složitost a moderní kryptografie

Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita,

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

Šifrování v mobilní telefonii

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

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

Kvantová kryptografie

Šifrová ochrana informací historie KS4

Základy šifrování a kódování

Tonda Beneš Ochrana informace jaro 2018

Šifrová ochrana informací historie PS4

III. Mody činnosti blokových šifer a hašovací funkce

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion dubna 2013.

Moderní kryptografické metody

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Základy kryptografie. Beret CryptoParty Základy kryptografie 1/17

Pokročilá kryptologie

Autentizace uživatelů

Blokové a prúdové šifry

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský

Šifrová ochrana informací historie PS4

SIM karty a bezpečnost v mobilních sítích

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

Kryptografie a počítačová

Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011

Problematika převodu zprávy na body eliptické křivky

Uživatelská příručka

Blokové šifry. Jan Přikryl. 16. prosince 2013

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:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Komerční výrobky pro kvantovou kryptografii

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

NÁVRH HARDWAROVÉHO ŠIFROVACÍHO MODULU

Digitální podepisování pomocí asymetrické kryptografie

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Kvantová kryptografie

Proudové šifry a posuvné registry s lineární zpětnou vazbou

0.1 Úvod do lineární algebry

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

Základní šifrovací systémy a moderní aplikace šifer

Kryptoanalýza. Kamil Malinka Fakulta informačních technologií. Kryptografie a informační bezpečnost, Kamil Malinka 2008

J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, Masarykova univerzita Fakulta informatiky

Zajímavosti z kryptologie

Transkript:

PEF MZLU v Brně 11. listopadu 2010

Úvod V současné době se pro bezpečnou komunikaci používají elektronická média. Zprávy se před šifrováním převádí do tvaru zpracovatelného technickým vybavením, do binární podoby. Tak jako nám počítače a elektronická média usnadňují komunikaci i v šifrované podobě, stejně tak umožňují nepovolaným osobám použít komplikovanější metody odhalení tajného textu. Pro bezpečnou komunikaci nelze vystačit s běžnými šiframi používanými před sto lety. Základem moderních šifer jsou polyalfabetické šifry pracující s různou délkou klíče.

Rozdělení algoritmů Proudové šifry Vstupní sekvence se kóduje bit po bitu, tak jak přichází na vstup. Typickou funkcí pro šifrování pomocí proudové šifry je operace XOR: P i = C i K i Používají se například při šifrování telefonních hovorů. Blokové šifry Vstupní sekvence je rozdělena do bloků o pevné délce. Používají se například při šifrování souborů dat.

Vlastnosti blokových šifer Dobrý návrh šifra je dobře navržená, pokud nejjednodušším útokem na ni je útok hrubou silou. Difúze malá změna v otevřeném textu má nepředvídatelné změny v textu šifrovém. Konfúze nic by nemělo naznačovat útočníkovi, že i při použití téměř shodného klíče se přiblížil správnému řešení. Úplnost každá část textu se odvíjí od každé části klíče.

Módy blokových šifer Blokové šifry pracují v různých módech, které ovlivňují bezpečnost výsledné šifry. ECB Electronic code book shodné bloky původní zprávy jsou šifrovány do shodných bloků kryptogramu. CBC Cipher block chaining každý blok šifrového textu závisí na odpovídajícím bloku otevřeného textu i všech předchozích blocích otevřeného textu. C i = E(M i C i 1 ). C 1 je možno ponechat rovno M 1 nebo C 1 = M 2 IV.

Příklad blokové šifry ECB Velikost bloku je 4 bity. Máme klíč K = B a zprávu M = A23A9. Šifrujeme M K a následným posunem o jednu pozici vlevo. 1. blok: M 1 = 1010, K = 1011 M 1 K = 0001 po rotaci C 1 = 0010 = 2(HEX). 2. blok: M 2 = 0010, K = 1011 M 2 K = 1001 po rotaci C 2 = 0011 = 3(HEX). atd. Výsledná zašifrovaná zpráva C = 23124. Bloky původní zprávy se projevují opakujícími se bloky v kryptogramu.

Problém ECB Mějme zprávu The price is four thousand pounds, která je zašifrovaná blokovou šifrou s neznámým klíčem. Víme jen, že délka bloku jsou 2 byte. Kryptogram pak zní: c 1, c 2, c 3, c 4, c 5, c 6, c 7, c 8, c 9, c 10, c 11, c 12, c 13, c 14 V případě, že útočník zprávu zná snadno si odvodí související části textu a bloků kryptogramu. Zašifrovanou zprávu pak pozmění tak, že se skádá jen z bloků: c 1, c 2, c 3, c 4, c 5, c 6, c 7, c 12, c 13, c 14 Tím modifikuje znění zprávy na The price is four pounds.

Příklad blokové šifry CBC Velikost bloku je 4 bity. Máme klíč K = B a zprávu M = A23A9. 1. blok: M 1 = 1010, IV = 0000, K = 1011 M 1 IV = 1010, M 1 K = 0001, po rotaci C 1 = 0010 = 2(HEX). 2. blok: M 2 C 1 = 0010 0010 = 0000, 0000 K = = 0000 1011 = 1011, po rotaci C 2 = 0111 = 7(HEX). 3. blok: M 3 C 2 = 0011 0111 = 0100, 0100 K = = 0100 1011 = 1111, po rotaci C 2 = 1111 = F(HEX). atd. Výsledná zašifrovaná zpráva C = 27FDF. Bloky původní zprávy nesouvisí s bloky v kryptogramu.

DES DES (Data Encryption Standard) je v dnešní době nejrozšířenější šifrovací algoritmus na světě i navzdory jeho nepříliš dobré bezpečnosti způsobené malou délkou klíče. Vychází z algoritmu LUCIFER publikovaného r. 1974 firmou IBM, který vyšel vítězně ze soutěže vyhlášené NBS o šifrovací standard v USA. DES byl přijat jako národní standard v r. 1977. Jedná se o blokovou symetrickou šifru pracující s délkou klíče 64 bitů (56 bitů). Vstupní sekvence se rozdělí na 64bitové bloky, které jsou zpracovávány odděleně. Vnitřní struktura algoritmu je vytvořena tak, aby šifrování i dešifrování používalo stejnou sekvenci kroků. To významně usnadňuje implementaci jak softwarovou tak především hardwarovou.

DES příklad Mějme text M znění 0123456789ABCDEF, který má v binární podobě tvar: M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Klíč K zní 133457799BBCDFF1, přičemž binární podoba je: K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001

DES ustavení klíče Z 64bitového klíče K je 56 bitů transponováno podle tabulky a vznikne tak klíč K+. Ostatních osm bitů je ztraceno. 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111

DES ustavení klíče Klíč je následně rozdělen na dvě části C 0 a D 0. Z takto vzniklých částí vytvoříme 16 klíčů pro každou iteraci šifrování na základě těchto posunů: Iterace: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Počet posunů vlevo: 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 To znamená, že například C 3 a D 3 vzniknou posunem C 2 a D 2 o dva bity vlevo. C 0 = 1111000011001100101010101111 D 0 = 0101010101100110011110001111 C 1 = 1110000110011001010101011111 D 1 = 1010101011001100111100011110

DES ustavení klíče Následně je každý z klíčů K 1... K 16 transponován na výsledné klíče délky 48 bitů podle následující tabulky: 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 C 1 D 1 = 1110000 1100110 0101010 1011111 1010101 0110011 0011110 0011110 K 1 = 000110 110000 001011 101111 111111 000111 000001 110010

DES šifrování Na text zprávy je aplikována úvodní transpozice, která zamění pořadí jednotlivých bitů podle následující tabulky: 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 IP = 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010

DES šifrování Transponovaná zpráva je rozdělena na dvě části L n a R n. L 0 = 1100 1100 0000 0000 1100 1100 1111 1111 R 0 = 1111 0000 1010 1010 1111 0000 1010 1010 Takto upravené části jsou upraveny v 16ti iteracích, kdy: L n = R n 1 R n = L n 1 f (R n 1, K n ) Funkce f nejprve expanduje R n 1 z 32 bitů na 48 pomocí tabulky: 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

DES šifrování Dalším krokem je XOR klíče a rozšířené poloviny zprávy, K n E(R n 1 ). K 1 = 000110 110000 001011 101111 111111 000111 000001 110010 E(R 0 ) = 011110 100001 010101 010101 011110 100001 010101 010101 K 1 E(R 0 ) = 011000 010001 011110 111010 100001 100110 010100 100111.

DES šifrování Předchozí transpozicí získáme 48bitové řetězce, jinak řečeno 8 sekvencí po 6ti bitech. Můžeme psát: K n E(R n 1 ) = B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 Každá z těchto sekvencí nám poslouží jako adresa do S-boxů, kdy první a poslední bit sekvence, udává index řádku a 4 vnitřní bity index sloupce: S 1 (B 1 )S 2 (B 2 )S 3 (B 3 )S 4 (B 4 )S 5 (B 5 )S 6 (B 6 )S 7 (B 7 )S 8 (B 8 ) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 K1 E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111. S 1 (B 1 )S 2 (B 2 )S 3 (B 3 )S 4 (B 4 )S 5 (B 5 )S 6 (B 6 )S 7 (B 7 )S 8 (B 8 ) = 0101 1100 1000 0010 1011 0101 1001 0111

DES šifrování Posledním krokem funkce f je transponování výstupu z S-boxů f = P(S 1 (B 1 )S 2 (B 2 )... S 8 (B 8 )) podle následující tabulky: 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 S 1 (B 1 )S 2 (B 2 )S 3 (B 3 )S 4 (B 4 )S 5 (B 5 )S 6 (B 6 )S 7 (B 7 )S 8 (B 8 ) = 0101 1100 1000 0010 1011 0101 1001 0111 f = 0010 0011 0100 1010 1010 1001 1011 1011 R 1 = L 0 f (R 0, K 1 ) = 1100 1100 0000 0000 1100 1100 1111 1111 0010 0011 0100 1010 1010 1001 1011 1011 = 1110 1111 0100 1010 0110 0101 0100 0100

DES šifrování Posledním krokem je závěrečná transpozice podle tabulky: 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 L 16 = 0100 0011 0100 0010 0011 0010 0011 0100 R 16 = 0000 1010 0100 1100 1101 1001 1001 0101 Obrátíme pořadí dvou sekvencí a provedeme závěrečnou transpozici. R 16 L 16 = 00001010 01001100 11011001 10010101 01000011 01000010 00110010 00110100 IP 1 = 10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101

DES výsledek Výsledkem zašifrování řetězce M = 0123456789ABCDEF je potom sekvence C = 85E813540F0AB405.

3DES Symetrický šifrovací algoritmus pracující s délkou klíče 128 nebo 192 bitů. Rozšíření v dnešní době nepříliš bezpečného DESu. Používá trojité zašifrování pomocí DES, pokaždé s jiným, nezávislým klíčem. Z = DES(k 3 ; DES(k 2 ; DES(k 1 ; O))) O = DES(k 1 ; DES(k 2 ; DES(k 3 ; Z)))

AES Tento algoritmus (původním jménem Rijndael) byl vybrán v roce 2000 jako Advanced Encryption Standard (AES). Jedná se o symetrický šifrovací algoritmus s délkou klíče 128, 192 a 256 bitů aplikovaný na bloky délky 128 bitů. Pracuje se s bloky o velikosti 4 4 byty. Šifrování se skládá z několika kroků: 1 expanze klíče šifrovací klíč se expanduje na rozšířený klíč, jehož části se následně užívají pro šifrování bloku v jednotlivých krocích, 2 úvodní iterace blok je XORován s klíčem, 3 běžná iterace, 4 závěrečná iterace. Počet běžných iterace přímo závisí na délce klíče a délce bloku, pohybuje se v rozmezí od 10 do 14.

Postup algoritmu Round (State, RoundKey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State, RoundKey); } FinalRound(State, RoundKey) { ByteSub(State); ShiftRow(State); AddRoundKey(State, RoundKey); } ByteSub: Jednotlivé slabiky v bloku jsou nahrazeny svými ekvivalenty z nelineární převodní tabulky. ShiftRow: Skupiny slabik bloku jsou podrobeny cyklickému posunu. Velikost posunu závisí na velikosti šifrovaného bloku. MixColumn: Skupiny čtyř slabik jsou podrobeny násobení definovanou maticí. To umožní každé slabice ovlivnit ostatní slabiky skupiny. AddRoundKey: Blok je podroben operaci XOR spolu s klíčem (RoundKey) pro tuto iterace získaného z rozšířeného klíče (Expanded Key).

IDEA Jedná se o symetrický šifrovací algoritmus s délkou klíče 128 bitů a šifrovaným blokem délky 64 bitů. Šifrovací klíč se rozdělí na osm 16bitových klíčů, které jsou prvními osmi podklíči. V dalším kroku je původní 128bitový klíč cyklicky posunut o 25 bitů doleva a rozdělen na dalších osm 16bitových podklíčů. Tento krok se opakuje, dokud není vytvořeno 52 podklíčů. Vstupní 64bitový blok je rozdělen na čtyři 16bitové bloky. Neomezený produkt k volnému použití. Součástí programu GnuPG.

Problém výměny klíčů Problém výměny klíčů mezi odesílatelem a příjemcem zprávy trápil kryptografy po několik století. Problém spočívá ve výměně tajné informace tak, aby ji nikdo třetí nebyl schopen odposlechnout. Pro distribuci klíčů se využívaly služby kurýrů logistický problém. Neřešitelnou situace začínala být v případě elektronické komunikace, elektronického obchodování.

Diffie-Hellman-Merkle Systém výměny klíčů pracuje s modulární aritmetikou. Vychází z předpokladu, že funkce (α x mod p) je funkce jednosměrná a tudíž obtížně převratitelná. Hodnota p je prvočíslo; α, 2 α p 2; x, 1 x p 2. Oba dva, Alice i Bob, dospějí ke stejnému číslu, které mohou použít jako klíč při šifrování. I v případě odposlouchávání není schopna třetí osoba ze znalosti vyměňovaných údajů získat stejný klíč.

Diffie-Hellman-Merkle Postup: Alice a Bob se shodnou na p = 11 a α = 7. Alice zvolí x = 3 Bob zvolí y = 6 Alice určí 7 x mod 11 = 2 (1) Bob vypočítá 7 y mod 11 = 4 (2) Alice pošle výsledek (1) Bobovi Alice vezme Bobův výsledek a vypočítá 4 x mod 11 = 9 Bob pošle výsledek (2) Alici Bob vezme Alicin výsledek a vypočítá 2 y mod 11 = 9

Závěr Děkuji za pozornost Dotazy?