
6e36f1bce7e47be4ba3b4b38cdb5214d.ppt
- Количество слайдов: 51
Šifrovanie
Obsah Úvod • Základné pojmy • História šifrovania Symetrické šifrovanie – DES Asymetrické šifrovanie – RSA • Hašovacie funkcie • Záver • • •
Úvod
Základné pojmy • Kryptografia (cryptography) - veda o informačnej celistvosti (the science of information integrity). • Informačná celistvosť (information integrity) – súvisí nielen s integritou dát ale aj s celistvosťou (nenarušenosťou) informácií, informačného systému, toku dát informačných služieb - t. j. že posielaná informácia je dôverná, dostupná, nenarušená. Moderná kryptoanalýza nielen lúšti ale aj skúma kvalitu šifrovaných algoritmov. Teda ide aj o hľadanie slabín kryptografických protokolov výmeny dát, negatívnych vlastností kryptografických funkcií, skúmanie slabosti kľúčov, pravdepodobnosti anomálií a pod.
Základné pojmy • NSA (National Security Agency) - národný úrad pre bezpečnosť USA, špeciálna tajná služba zameraná predovšetkým na odpočúvanie, monitorovanie akýchkoľvek svetových komunikácií (satelitné spojenia, rádiové smery, telefóny, poštová prevádzka) a v poslednej dobe hlavne na kryptografiu a kryptoanalýzu. Dnes ide bezpochyby o najvyspelejšie pracovisko tohto druhu na svete, pokiaľ ide o ľudské zdroje aj pokiaľ ide o vybavenie. • PGP (Pretty good privacy) - šifrovací algoritmus a zároveň jeho implementácia - softwarový balík vytvorený Philipom R. Zimmermannom a šírený po Internete ako freeware, neoficiálny svetový štandard pre šifrovanie elektronickej pošty. Je možné ho použiť aj na šifrovanie lokálnych súborov a k práci s digitálnymi podpismi. Jeho základom je systém verejného kľúča RSA a konvenčný algoritmus IDEA.
Základné pojmy • Kódovanie (coding) - cieľom je umožniť ukladanie informácií (zvyčajne ich číselnou reprezentáciou), alebo uľahčenie ich prenosu. Pri dekódovaní zakódovanej správy nám stačí poznať (spravidla verejne známy) postup. • Šifrovanie (cryptography) - snaží sa o "znečitateľnenie" dokumentu pre tých, komu nie je určený, ide teda o utajenie obsahu. Na dešifrovanie zašifrovanej správy musíme poznať heslo, kľúč. • Hašovanie (hashing) - vytvorenie kontrolnej informácie. V podstate ide o vytvorenie akejsi značky poukazujúcej na pravosť obsahu (message digest). ! Algoritmus, ktorého bezpečnosť je založená na utajenosti algoritmu sa nepovažuje za bezpečný šifrovací algoritmus (ide vlastne o kódovací, nie šifrovací algoritmus).
Základné pojmy Šifrovanie • Šifrovanie (ciphering) – proces pri ktorom je nešifrovaný (otvorený) text transformovaný na zašifrovaný text pomocou šifrovacieho kľúča.
Základné pojmy Dešifrovanie • Dešifrovanie (deciphering) – opačný proces k šifrovaniu, pri ktorom je zašifrovaný text pomocou kľúča prevedený na nešifrovaný text (otvorený text).
Základné pojmy Kritéria bezpečnosti Celková bezpečnosť je daná: • kvalitou algoritmu • dĺžkou kľúča • uložením kľúča
Základné pojmy Symetrické šifrovanie • • používa sa rovnaký kľúč pre šifrovanie aj dešifrovanie rýchlejšie ako algoritmy nesymetrické nutná výmena šifrovacích kľúčov medzi adresátmi bezpečným kanálom napríklad algoritmus DES (Data Encrytion Standard)
Základné pojmy Asymetrické šifrovanie • • • používa sa rôzny kľúč pre šifrovanie aj dešifrovanie pomalšie ako algoritmy symetrické napríklad algoritmus RSA (Ron Rivest, Adi Shamir a Len Adleman)
Základné pojmy Hašovacie funkcie • • • slúžia na získanie sekvencie charakteristickej pre vstupný blok údajov z tejto sekvencie nie je možné odvodiť pôvodný údaj používajú sa pri šifrovaní hesiel a digitálnych podpisoch pri zmene správy sa musí zmeniť aj charakteristická sekvencia (hash) napríklad algoritmus MD 5 (Message Digest)
História šifrovania Obdobia kryptografie • • Raná éra kryptografie (1900 p. n. l. – 1790) Mechanické a elektronické šifrovacie stroje (1790 – 1970) Éra počítačov (1970 – 1976) Od asymetrickej kryptografie až podnes (1976 - súčasnosť)
História kryptografie - Raná éra kryptografie (1900 p. n. l. – 1790) • okolo r. 1900 p. n. l. - Egypt, neštandardné hieroglyfické symboly • okolo r. 1500 p. n. l. - Mezopotámia, substitúcia písmen 600 -500 p. n. l. - Hebrejci, jednoduchá reverzná substitučná šifra • Atbaš, Albam, Atbah. Atbaš: Albam: A B C D E F G H I J K L M Z Y X W V U T S R Q P O N N O P Q R S T U V W X Y Z Atbah: A B C D J K L M E S T U V I H G F R Q P O N Z Y X W
História kryptografie - Raná éra kryptografie (1900 p. n. l. – 1790) • okolo r. 500 p. n. l. - Staré Grécko, prvá známa mechanická pomôcka na šifrovanie – skytalé • 360 p. n. l. - Aineias Taktikos, dielo „Taktika“, v časti „Poliorketika“ uvádza 16 rôznych šifrovacích metód okolo r. 300 p. n. l. - India, substitúcia foneticky príbuzných písmen 60 -50 p. n. l. - Caesarova posuvná šifra A (+3) = D, B (+3) = E 0 -400? - Kama Sutra, šifrovanie je umenie 725 -790? - Abu `Abd al-Rahman al-Khalil ibn Ahmad ibn `Amr ibn Tammam al Farahidi al-Zadi al Yahmadi 1379 - Gabrieli di Lavinde, nomenklátory 1412 - Shihab al-Din abu `l-`Abbas Ahmad ben `Ali ben Ahmad `Abd Allah al-Qalqashandi • • •
História kryptografie - Raná éra kryptografie (1900 p. n. l. – 1790) • 1466 -1467 - Leon Battista Alberti, objav polyalfabetickej substitúcie, šifrovací disk • 1553 - Giovanni Battista Belas, tajný kľúč 1563 - Giovanni Battista Porta, kniha „De Furtivis Literarum Notis“ vládla kryptografii 300 rokov 1585 - Blaise de Vigenčre, autokľúč 1623 - Francis Bacon, biliterálna šifra (5 -bitové binárne kódovanie) • 1685 - John Falconer, stĺpcová transformácia • • •
História kryptografie - Mechanické a elektronické šifr. stroje (1790 – 1970) • • • 1790 - Thomas Jefferson, mechanický šifrátor, Jeffersonov valec 1843 – Alan Edgar Poe, bezpečnosť šifier 1854 - Charles Wheatstone, Playfairová šifra 1863 - Friedrich W. Kasiski, rozlúštenie polyalfabetickej šifry 1867 - Charles Wheatstone, zjednodušená verzia šifrovacieho disku
História kryptografie - Mechanické a elektronické šifr. stroje (1790 – 1970) • 1881 - Fleissnerova otočná mriežka 1883 - Auguste Kerckhoffs, kniha „La Cryptographie Militaire“ • 1917 - Gilbert S. Vernam, jediný teoreticky bezpečný kryptosystém • 1918 - USA, osem amerických indiánov kmeňa Choctaw • 1918 - Nemecko, ADFGVX systém • 1923 - Nemecko, rotorová Enigma • 1927 -1933 - FBI zakladá kryptografické oddelenie • 1929 - Lester S. Hill, algebra v kryptológii • 1933 -1945 - Enigma rozlúštená • 1937 - Japonsko, šifrovací stroj PURPLE • 1945 -1970 - vznikajú desiatky najrôznejších mechanických a elektromechanických šifrovacích strojov •
História kryptografie - Éra počítačov (1970 – 1976) • • 1970 - Horst Feistel, IBM, Luciferovská šifra, inšpirácia pre DES 1976 - IBM, americký národný štandard U. S. Data Encryption Standard, DES História kryptografie - Od asymetrickej kryptografie až podnes (1976 – súč. ) • • 1976 - Whitfield Diffie a Martin Hellman, verejný kľúč, asymetrická kryptografia 1977 - Massachusetts Institute of Technology, objav prvého konkrétneho kryptosystému s verejným kľúčom, RSA 1990 – Švajčiarsko, Xuejia Lai a James Massey, International Data Encryption Algorithm, IDEA, mal nahradiť DES 1990 - Charles H. Bennett, Gilles Brassard, kvantová kryptografia 1991 - Phil Zimmermann zverejnil jeho prvú verziu PGP (Pretty Good Privacy) 1994 - pomocou Internetu bolo roznásobené 129 -ciferné číslo RSA-129 1997 - pomocou Internetu bol rozlúštený 56 -bitový kľúč k DES 2000 – Belgicko, Joan Daemen a Vincent Rijmen, Rijndael, nahradil DES, šifra sa stane na najbližších 20 až 30 rokov najpoužívanejšou šifrou na svete
Symetrické šifrovanie • • používa sa rovnaký kľúč pre šifrovanie aj dešifrovanie, najčastejšie dĺžka 128 bitov rýchlejšie ako algoritmy nesymetrické nutná výmena šifrovacích kľúčov medzi adresátmi bezpečným kanálom napríklad algoritmus DES (Data Encrytion Standard)
Symetrické šifrovanie – DES Data Encryption Standard - DES • 70. roky, USA, IBM, Horst Feistel, východiskovým algoritmom bol Lucifer, r. 1976 DES prijatý ako štandard. Originálny opis zverejňuje US Department of Commerce – National Institute of Standards and Technology pod menom FIPS PUB 46. • http: //csrc. nist. gov/publications/fips 46 -3/fips 46 -3. pdf •
Symetrické šifrovanie – DES Používateľské hľadisko • • DES je funkcia DES má dva módy - šifrovací a dešifrovací Šifrovací mód • • Vstup - správa M (n 64 -bit blokov), kľúč K (64 bit) Výstup - šifra C (n*64 bitov) Dešifrovací mód • • Vstup - šifra C (n 64 -bit blokov), kľúč K (64 bit) Výstup – správa M (n*64 bitov)
Symetrické šifrovanie – DES Ako to funguje. . .
Symetrické šifrovanie – DES pod lupou
Symetrické šifrovanie – DES pod mikroskopom
Symetrické šifrovanie – DES Úvodná permutácia • • • pred prvým kolom DES-u nemá vplyv na bezpečnosť iba prehadzuje vstupné bity otvoreného textu 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
Symetrické šifrovanie – DES • • Vytváranie podkľúčov rotácia (pri šifrovaní posun doľava) (2 * 28 bit) kompresná 57 49 41 33 25 17 (56 bit -> 48 bit), výsledkom je permutácia 9 1 58 50 42 34 26 18 10 2 samotný podkľúč 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 Kolo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Počet 1 1 2 2 2 1 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
Symetrické šifrovanie – DES Expanzná permutácia 32 2 3 4 5 6 7 8 9 8 • 1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 rozširuje P 0 (32 bit -> 48 bit), lavínový efekt 1 24 25 26 27 28 29 30 31 32 XOR A A XOR B 0 0 • B 1 1 1 0 základná boolovská operácia 1 1 1 0
Symetrické šifrovanie – DES S-BOX substitúcia • • 48 bit -> 32 bit 6 bit vstup, 4 bit výstup, S-BOX 1 až S-BOX 8 (8 * 6 = 48) vnášajú nelinearitu do DES-u napríklad S-BOX 1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Symetrické šifrovanie – DES P-BOX permutácia priama permutácia • iba vymieňa bity 16 7 20 21 29 12 • 2 8 24 14 32 27 28 17 1 15 23 26 5 18 31 10 3 9 19 13 30 6 22 11 4 25 Záverečná permutácia • • 40 priamy opak úvodnej permutácie vstupom je blok R 16 L 16 (64 bitov) 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
Symetrické šifrovanie – DES Dešifrovanie DES • • symetrický algoritmus, rovnaký kľúč ako pri šifrovaní jediný rozdiel, podkľúče musia byť používané v opačnom poradí pri rotácii posun do ľava slabé a poloslabé kľúče
Symetrické šifrovanie – DES Triple. DES (3 DES) • • • jediný v súčastnosti používaný variant DES-u kľúč má 112 alebo 168 bitov Y = DES(DES-1(DES(X, K 1), K 2), K 1)
Symetrické šifrovanie – DES Lámanie DES-u • dĺžka kľúča 64 bitov (56 bitov) zabezpečuje existenciu 72, 057, 594, 037, 927, 936 rôznych kľúčov • Paul Kocher, 29 dosiek s 64 vyhľadávacími čipmi • 90 biliónov kľúčov za sekundu, rozlúštenie za menej ako 5 dní
Symetrické šifrovanie – DES Výhody a nevýhody DES-u Výhody: jednoducho implementovateľný, hardware podpora, stále používaný (Triple. DES), rýchle šifrovanie, dĺžka šifrovania nezávisí na dĺžke kľúča. Nevýhody: pomerne zastaralý, nutnosť výmeny kľúča - možnosť odchytenia, malá dĺžka kľúča, jednoduchšie modifikácie pomerne rýchlo dešifrovateľné, útok hrubou silou.
Symetrické šifrovanie Algoritmus Blow. Fish • • • šifra Feistelovho typu, voľne dostupný odstraňuje nevýhody DES-u (kľúč rôznej dĺžky, max. 448 bit, ťažšie dešifrovateľný) neobsahuje úvodnú a záverečnú permutáciu, nemalo to vplyv na výsledný šifrovací text inicializačný proces, vzniká tabuľka všetkých podkľúčov a S-BOX-ov zmena S-boxov a podkľúčov vzhľadom ku klúču
Asymetrické šifrovanie • • • používa sa rôzny kľúč pre šifrovanie aj dešifrovanie pomalšie ako algoritmy symetrické napríklad algoritmus RSA (Ron Rivest, Adi Shamir a Len Adleman)
Asymetrické šifrovanie Kľúče • • šifrovací a dešifrovací kľúč (keypair), 1024 alebo 2048 bitov verejný (VK) a súkromný (SK) kľúč sú spolu matematicky zviazané, patria k sebe, boli spolu náhodne vygenerované znalosť jedného nepostačuje na určenie druhého
Asymetrické šifrovanie Princíp kľúčov Problém: X chce poslať tajnú správu Y Riešenie: 1. Y vygeneruje VK a SK, VK zverejní a SK si ponechá 2. Y si skopíruje X-ov VK 3. Y zašifruje správu X-ovým VK 4. Y pošle zašifrovanú správu X 5. X správu dešifruje svojím SK ! Iba Y vie správu, ktorá bola zašifrovaná jeho VK dešifrovať, nevie to ani X, ktorý správu sám zašifroval.
Asymetrické šifrovanie - RSA Generovanie kľúčov - RSA 1. Vygenerovanie dvoch obrovských (100 miestnych) prvočísel, napr. P=101 a Q=113 2. Vypočítanie N=P*F=101*113=11413 a F=(P-1)*(Q-1)=100*112=1120 3. Zvolenie náhodného čísla B (1<B<F) nesúdeliteľného s číslom F, napr. B=3533 4. Vypočítanie A=B-1 mod F, musí platiť (A*B) mod F=1, Euklidov algoritmus, A=6597 5. Y zverejní N=11413 a B=3533 ako VK a A=6597 si ponechá ako SK
Asymetrické šifrovanie - RSA Šifrovanie správy - RSA 1. Správu je najprv nutné previesť do číselného tvaru, napr. S = 9726 2. Vypočítanie C = SB mod N, algoritmus square and-multiply C = 97263533 mod 11413 = 5716 3. Odoslanie C -> Y
Asymetrické šifrovanie - RSA Dešifrovanie správy - RSA 1. Y dostal správu C = 5716 2. Vypočítanie S = CA mod N (A je X-ov SK) S = 57166597 mod 11413 = 9726 3. Y prevedie dešifrovanú správu naspäť do textovej podoby.
Asymetrické šifrovanie - RSA Výhody a nevýhody RSA Výhody: najpopulárnejší a najrozšírenejší, ťažšie rozlúštiteľný (r. 1995, kľúč 384 bit, 3 mesiace), výmena iba VK. Nevýhody: pomalý, pomerne obtiažne generovať kľúč, ide o veľké prvočísla, veľkosť kľúča (bezpečné šifrovanie kľúč > 512 bit).
Kombinácia symetrického a asymetrického šifrovania Zjednodušený postup bezpečnej transakcie by mohol byť takýto: 1. Prehliadač si náhodne vygeneruje dočasný symetrický kľúč. 2. Prehliadač si nahrá verejný asymetrický kľúč servera (napr. banky). 3. Prehliadač zašifruje dočasný kľúč verejným kľúčom servera a pošle ho serveru. 4. Ďalšia komunikácia už môže byť symetricky šifrovaná dočasným kľúčom.
Ďalšie šifrovacie algoritmy • • Skipjack - symetrický šifrovací algoritmus vyvinutý NSA (National Security Agency), tajný kľúč 80 bitov, čipy Clipper (hlasový prenos) a Capstone (dátový prenos), zatiaľ k dispozícii iba v USA. IDEA (International Data Encryption Algorithm) - kvalitný patentovaný šifrovací algoritmus, tzv. symetrická bloková šifra používajúca 64 -bitový blok a 128 -bitový kľúč. Zalamuje 64 -bitový cipher blok do štyroch 16 -bitových slov. GOST - symetrický šifrovací algoritmus vyvinutý sovietskym zväzom s 256 bitovým kľúčom. RIJNDAEL - bloková šifra s 128 alebo 256 bitovým kľúčom. Od roku 2000 štandardizovaná ako AES (Advanced Encyption Standard). CAST - podobný algoritmu Blow. Fish, dĺžka kľúča 128 bitov. Eliptické kryptosystémy (ECC) - moderné algoritmy, vysoká bezpečnosť už pri kratších kľúčoch, 160 -180 bitový kľúč poskytuje rovnakú bezpečnosť ako 2048 bitový pri RSA. A 3, A 8 (A 38) - autentifikačné algoritmy nachádzajúce sa na SIM karte v mobiloch pre overenie "pravosti" užívateľa. A 5 - algoritmus slúžiaci ku generovaniu hesla prúdového šifrovania XOR mobilnej komunikácie (Mobil-BTS).
Typy útokov na šifrovacie algoritmy • Útok so známym šifrovaným textom - najobtiažnejšia metóda, k dispozícii je len šifrovaný text. • Útok so známym otvoreným textom - útok so známym otvoreným textom. • Útok so vybraným otvoreným textom - k dispozícii je dvojica otvorený a šifrovaný text, otvorený text je možné voliť, pričom snahou je nájsť slabiny algoritmu.
Hašovacie funkcie • • • slúžia na získanie sekvencie charakteristickej pre vstupný blok údajov z tejto sekvencie nie je možné odvodiť pôvodný údaj používajú sa pri šifrovaní hesiel a digitálnych podpisoch pri zmene správy sa musí zmeniť aj charakteristická sekvencia (hash) napríklad algoritmus MD 5 (Message Digest)
Hašovacie funkcie Jednocestné a obojcestné hašovanie • • Jednocestné hašovanie (One-way hash) - ide o algoritmus, ktorý z textu správy vytvorí reťazec pevnej dĺžky, nazývaný mesage digest (výťah zo správy). Ten je obyčajne používaný z dôvodu bezpečnosti alebo riadenia dátoveho toku. Jednocestnosť znamená to, že je to nevratný (nereverzibilný) proces, teda z reťazca nie je možné získať späť pôvodnú informáciu. V praxi sa algoritmus používa napríklad pre vytvorenie digitálneho podpisu pri ktorom si príjemca môže porovnať pripojený reťazec s reťazcom, ktorý je obsiahnutý v zašifrovanej časti a môže si tak overiť, či správa nebola sfalšovaná (hashcheck). Obojcestné hašovanie (Two-way hash) - je jednoducho reverzibilné. . .
Hašovacie funkcie • • • Niektoré hašovacie funkcie MD 5 (Message Digest) - jednocestná hašovacia funkcia vytvorená profesorom Ronaldom L. Rivestom v roku 1991. Algoritmus MD 5 vytvára z ľubovolne dĺheho vstupu 128 bitov dlhý message digest (reťazec). Je odhadované, že je prakticky nemožné vytvoriť dve správy, ktoré by mali rovnaký message digest alebo vytvoriť nesprávnu správu zo známeho digestu. Zmyslom algoritmu MD 5 je overenie integrity dat. MD 4 , MD 2 - jednocestné hašovacie funkcie, prof. Ronald L. Rivest, r. 1990. Algoritmus MD 4 a MD 2 podobne ako MD 5 vytvára z ľubovoľne dlhého vstupu 128 bitov dlhý message digest. SHA (Secure Hash Algorithm) - jednocestná hašovacia funkcia vyvinutá inštitúciou National Institute of Standards and Technology (NIST). Algoritmus vytvorí zo správy 160 bitov dlhý message digest. Ten je používaný ako digitálny podpis správy a slúži na overenie pravosti. Príjemca uskutoční pre prijatu správu rovnaký výpočet a ak nesúhlasí doručený message digest s vypočítaným, správa bola cestou modifikovaná.
Otázky ? ? ?
Ďakujem za Vašu pozornosť. N. Fedák
Použitá literatúra http: //www. manualy. sk/pgp/index. html http: //hysteria. sk/prielom/19/ http: //www. ta 3. sk/cgi-bin/to. ASCII/~rkomzik/ftp/seminare/epodpis_DB_20030423. txt http: //frcatel. utc. sk/users/majer/crypto/srsnik/option_bar. html http: //friedo. szm. sk/webadr. htm http: //www. disk. sk/? o=1&r=Ym. V 6 c. GXobm 9 zn. Q== http: //www. vscience. host. sk/java/kruzok/5. htm http: //www 2. dcs. elf. stuba. sk/Team. Project/2001/team 11/www/menu. html http: //hysteria. sk/phreak/doc/afmais. php http: //wicked. host. sk/html/files/lamers/02 -Sukromie_a_la_Gnu. PG. txt http: //alf. fei. tuke. sk/kam/zadania/sifrovanie. html http: //frcatel. utc. sk/users/majer/crypto/koncelik/DES. txt http: //www 2. dcs. elf. stuba. sk/Team. Project/2001/team 11/dokumentacia. php http: //www. fpv. umb. sk/~huraj/historia. html
6e36f1bce7e47be4ba3b4b38cdb5214d.ppt