1 / 72

Šifrovanie

Šifrovanie. Vypracoval: Marek Le ššo 23.3.2004. Základné pojmy. šifrovanie - proces, pri ktorom je nešifrovaný text transformovaný na šifrovaný (prevod textu z otvorenej formy do skrytej formy) dešifrovanie - proces prevodu údajov zo skrytej formy do otvorenej formy

dong
Télécharger la présentation

Šifrovanie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Šifrovanie Vypracoval: Marek Leššo 23.3.2004

  2. Základné pojmy • šifrovanie - proces, pri ktorom je nešifrovaný text transformovaný na šifrovaný (prevod textu z otvorenej formy do skrytej formy) • dešifrovanie - proces prevodu údajov zo skrytej formy do otvorenej formy • šifra - správa v zašifrovanej podobe ň • kľúč - parameter používaný pri šifrovaní a dešifrovaní • kryptosystém - systém slúžiaci na šifrovanie a dešifrovanie informácií • kryptografia - používa kryptosystémy na udržiavanie tajných informácií • kryptoanalýza- študuje možnosti prelomenia kryptosystémov

  3. Základné pojmy (2) • kryptografia • vedná disciplína zaoberajúca sa zabezpečením dôvernosti informácií, integrity údajov a autentifikáciou • veda, ktorá sa zaoberá šifrovacími a dešifrovacími metódami • šifrovanie a dešifrovanie • vyžaduje si znalosť tajnej informácie, ktorú pozná len odosielateľ a adresát –túto utajenú informáciu nazývame kľúč

  4. Základné pojmy (3) • šifrovanie a dešifrovanie • algoritmus, ktorého bezpečnosť je založená na utajenosti algoritmu, sa nepovažuje za bezpečný šifrovací algoritmus • celková bezpečnosť je daná kvalitou algoritmu, dĺžkou kľúča a uložením kľúča • slabý kľúč • je to kľúč, ktorý informáciu nazašifruje dobre • poloslabý kľúč • je to taký kľúč, pri aplikácii ktorého je priamy vzťah medzi otvoreným a zašifrovaným textom

  5. Základné pojmy (4) • šifrovacie algoritmy • symetrické - kľúč je rovnaký pre odosielateľa aj adresáta • asymetrické

  6. Toto je Wod1asd5 Toto je nešifrovaný asdWJB8 nešifrovaný text. Je nutné Šifrovanie VDSE9fs Dešifrovanie text. Je nutné ho zašifrovať. sdQPCBbds ho zašifrovať. 4DUd3fd tajný šifrovací kľúč Symetrické šifrovacie algoritmy • na šifrovanie aj dešifrovanie sa používa rovnaký kľúč • algoritmus symetrického šifrovania je rýchlejší ako algoritmus nesymetrického šifrovania • nevýhodou symetrického šifrovania je nutnosť výmeny kľúča tajným kanálom

  7. Symetrické šifrovacie algoritmy (2) • Algoritmy • DES (Data Encryption Standard) • bol vyvinutý firmou IBM v roku 1977 • dĺžka kľúča je 64 bitov (efektívne len 56 bitov) • v súčasnosti nie je považovaný za bezpečný algoritmus • 3DES • tento algoritmus vychádza z DES • dáta sú prešifrované trikrát • používajú sa 2 alebo tri rôzne kľúče - týmto spôsobom dosiahneme kľúč o dĺžke 128 (112 efektívne) resp. 192 bitov (168 efektívne) • rýchlosť šifrovania je trojnásobne menšia v porovnaní s DES

  8. X Y -1 DES DES DES K1 K2 K1 algoritmus šifrovania 3DES Symetrické šifrovacie algoritmy (3) • Algoritmy • IDEA • dĺžka kľúča je 128 bitov • pri tej istej dĺžke kľúča má tento algoritmus vyššiu rúchlosť ako DES • ide o patentovaný algoritmus

  9. Symetrické šifrovacie algoritmy (4) • Algoritmy • BlowFish • možnosť použiť premenlivú dĺžku kľúča 32-448 bitov • najčastejšie sa používa kľúč dĺžky 128 bitov • algoritmus je voľne dostupný - nie je patentovaný • CAST • jedná sa o podobný algoritmus ako BlowFish • dĺžka kľúča je 128 bitov • kľúče • najčastejšie sa používajú kľúče o dĺžke 128 bitov • pri výbere je nutné zabezpečiť náhodné a správne generovanie kľúča • je nutné vyhnúť sa slabým a poloslabým kľúčom

  10. Toto je Wod1asd5 Toto je nešifrovaný asdWJB8 nešifrovaný text. Je nutné Šifrovanie VDSE9fs Dešifrovanie text. Je nutné ho zašifrovať. sdQPCBbds ho zašifrovať. 4DUd3fd verejný tajný (adresátov) (adresátov) šifrovací dešifrovací kľúč kľúč Nesymetrické šifrovacie algoritmy • pre šifrovanie a dešifrovanie sa používa dvojica kľúčov - verejný a súkromný (tajný) • kľúče sa generujú súčasne a existuje medzi nimi matematická väzba • dáta zašifrované verejným kľúčom je možné rozšifrovať len súkromým kľúčom • nesymetrický šifrovací algoritmus je pomalší ako symetrický

  11. VK - verejný kľúč SK - súkromný kľúč Odosielateľ Adresát f - šifrovacia funkcia g - dešifrovacia funkcia M - text v nešifrovanej forme 1) (VK,SK) 2) VK C - šifrovaný text 3) C=f(M,VK) 4) C 5) M=g(C,SK) posielanie šifrovanej správy od odosielateľa k adresátovi Nesymetrické šifrovacie algoritmy (2) • nesymetrické šifrovanie sa používa pri elektronickom podpise

  12. Nesymetrické šifrovacie algoritmy (3) • Algoritmy • RSA • vznikol v roku 1977 na Massachussets Institute of Technology • je založený na modulárnej aritmetike • je nutné použiť kľúč o dĺžke 1024 alebo 2048 bitov • Eliptické kryptosystémy (ECC) • moderné algoritmy • zabezpečujú vysokú bezpečnosť už pri kratších kľúčoch • 160-180 bitový kľúč poskytuje rovnakú bezpečnosť ako 2048 bitový kľúč pri RSA

  13. NESYMETRICKÉ ŠIFROVANIE Odosielateľ Adresát VK - verejný kľúč SK - súkromný kľúč f - šifrovacia funkcia 2) S 1) (VK,SK) 3) VK g - dešifrovacia funkcia 5) T 4) T=f(S,VK) 6) S=g(T,SK) SYMETRICKÉ ŠIFROVANIE 7) C=k(M,S) 8) C 9) M=h(C,S) S - tajný kľúč T - zašifrovaný tajný kľúč k - šifrovacia funkcia h - dešifrovacia funkcia M - text v nešifrovanej forme C - šifrovaný text posielanie šifrovanej správy od odosielateľa k adresátovi Nesymetrické šifrovacie algoritmy (4) • nesymetrické algoritmy sa používajú spolu so symetrickými šifrovacími algoritmami pre zvýšenie rýchlosti šifrovania a výmeny informácií

  14. Toto je nešifrovaný text. Je nutné Ha š ovacia PkouDmA8 pre neho funkcia získať hašovanú hodnotu. 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

  15. Hašovacie funkcie (2) • Algoritmy • MD5 (Message Digest) • SHA-1 (Secure Hash Algorithm)

  16. História kryptografie

  17. História • Július Cézar (100 - 44 pred n.l.) • ako prvý použil jednoduchú substitúciu obyčajných znakov abecedy (išlo o posun znakov v abecede o pevný počet znakov) • Cézar používal túto šifru na posielanie svojich príkazov armáde • Blaise de Vignere (1585) • išlo o obdobu Cézarovej šifry • každý znak správy bol nahradený iným znakom z inej pozície v abecede, pričom každému znaku odpovedala iná pozícia – táto pozícia bola definovaná kľúčom, ktorý bol držaný v tajnosti • Sir Francis Bacon (1623) • popísal šifru, ktorá teraz nesie jeho meno • ide o 5 bitové binárne šifrovanie

  18. História (2) • Transpozičné šifrovanie • Cézarova šifra je prúdovou šifrou • transpozičné šifrovanie je blokové šifrovanie • spočíva v tom, že text sa zapíše do tabuľky v riadkoch a číta sa po stĺpcoch – poradie čítania stĺpcov môže byť určený prídavnou číselnou kombináciou Nezašifrovaný text: TECHNICKA UNIVERZITA Zašifrovaný text: TIURECNZCKIIHAVTN EA alebo: Zašifrovaný text: 21543 ECNZTIURN EAHAVTCKII

  19. História (3) • Thomas Jefferson (1790) • vyvinul kruhovú šifru • táto šifra bola prepracovaná (Strip Cipher, M-138-A) – bola používaná námorníctvom USA počas 2. Svetovej vojny • William Frederick Friedman • zakladateľ Riverbank Laboratories • pokladá sa za otca americkej kryptoanalýzy • počas 2. Svetovej vojny viedol tím za účelom prelomenia šifry japonského šifrovacieho stroja Purpla Machine • aj keď bola kryptografia použitá už v 1. Svetovej vojne, dva najznamejšie šifrovacie stroje pochádzajú z 2. Svetovej vojny – nemecká Enigma a japonská Purple Machine

  20. DES

  21. Úvod • DES je akronymom pre Data Encryption Standard • šifrovacia norma DES je tiež označovaná ako DEA (Data Encryption Algorithm) • v Amerike definovala túto normu ANSI • v rámci celého sveta bola definovaná medzinárodnou organizáciou ISO ako DEA-1, bola platným štandardom 80 rokov minulého storočia • DES je vylepšením algoritmu Lucifer, ktorý bol vyvíjaný v IBM na počiatku 70. rokov • značnú rolu na vyvíjaní tohto algoritmu vo finálnych fázach mala NSA • v poslednom desaťročí boli vyvinuté metódy ako lineárna a diferenčná kryptoanalýza, ktoré majú istú šancu odhaliť potrebný kľúč

  22. Úvod (2) • algoritmus DES bol originálne vyvinutý pre hardvérovú implementáciu • v prípade, že sa algoritmus DES používa na komunikáciu, musia odosielateľ aj prijímateľ poznať kľúč, ktorý sa používa na šifrovanie a dešifrovanie správ alebo na vytváranie a verifikovanie MAC (Message Authentication Code) • DES môže byť taktiež použitý pre single-user (jedno používateľské) šifrovanie, napríklad pri ukladaní súborov na disk v šifrovanej podobe • v multi-user (viac používateľskom) prostredí je problémom bezpečná distribúcia kľúča

  23. Opis DES • DES je bloková šifra, čo znamená, že šifruje údaje po 64 bitových blokoch • na vstup sa privedie 64 bitový otvorený text a na výstupe dostaneme 64 bitový zašifrovaný text • algoritmus je symetrický, teda na zašifrovanie a dešifrovanie sa použije rovnaký kľúč • kľúč má dĺžku 64 bitov, ale jeho efektívna dĺžka je 56 bitov, zvyšné bity sú paritné • postupom času boli odhalené slabé kľúče, avšak sú známe a je jednoduché sa im vyhnúť • slabý kľúč je taký, ktorý informáciu nezašifruje dobre

  24. Opis DES (2) • algoritmus v sebe kombinuje šifrovacie techniky konfúzie a difúzie - tieto techniky v sebe predstavujú súbstitúciu a následnú permutáciu bitov kľúča a zašifrovaného textu • algoritmus DES pracuje v 16-tich kolách • algoritmus v sebe zahrňuje grupové operácie, substitúciu a XOR, dôsledkom čoho je jednoducho realizovateľný pomocou hardvérových prostriedkov • softvérové metódy sú samozrejme pomalšie

  25. Popis algoritmu DES • v úvode šifrovania je vykonaná úvodná permutácia (prehodenie bitov na rôzne pozície podľa vopred definovanej tabuľky) • po permutácii sa blok dát rozdelí na dve polovice L a R po 32 bitoch • algoritmus následne definuje 16 kôl identických operácií nazývaných f, u ktorých dochádza ku kombinácii údajov a kľúča • po 16. kole sa ľavá a pravá polovica spojí a nakoniec sa prevedie záverečná permutácia

  26. Popis algoritmu DES (2) • v každom kole DESu sa bity kľúča posunú a potom sa z nich vyberie 48 bitov podkľúča kompresnou permutáciou • pravá polovica údajov (32 bit) sa rozšíri expanznou permutáciou na 48 bitov a prevedie sa operácia XOR • na výsledok tejto operácie sa použije množina funkcií nazvaná S-box - tieto funkcie kódujú 6 vstupných bitov na 4 výstupné jedno kolo algoritmu DES

  27. Popis algoritmu DES (3) • výstup S-boxov sa znovu permutuje (P-box) • tieto štyri operácie sa nazývajú funkcia f • na výstup funkcie f a ľavú polovicu údajov znova aplikujeme operáciu XOR • výsledok operácie sa stane novou pravou polovicou údajov, ktorá postupuje do ďalšieho kola • tieto operácie sa opakujú 16-krát jedno kolo algoritmu DES Li = Pi-1 Pi = Li-1 XOR f(Pi-1,Ki)

  28. Popis algoritmu DES (4) • Začiatočná permutácia • robí sa pred prvým kolom DES • v podstate iba povymieňa vstupné bity otvoreného textu • nemá vplyv na bezpečnosť DES • vznikla kvôli jednoduchšej hardvérovej implementácii • niektoré softvérové implementácie ju nerobia, avšak tým nesplňajú normu začiatočná permutácia - spôsob výmeny bitov

  29. Popis algoritmu DES (5) • Vytváranie podkľúčov • na začiatku sa 64 bitový kľúč redukuje na 56 bitov a to vyhodením paritných bitov a permutáciou kľúča • takáto permutácia kľúča sa robí iba raz a to na začiatku algoritmu • z takto získaného kľúča sa ďalej generujú podkľúče • kľúč sa rozdelí na dve polovice po 28 bitoch - tieto polovice sa potom v jednotlivých kolách DESu posúvajú pomocou rotácie o 1 alebo 2 bity doľava v závislosti od kola DESu • Kompresná permutácia • táto permutácia nemení len usporiadanie bitov ale aj niektoré bity vynecháva • výsledkom tejto operácie je podkľúč

  30. Popis algoritmu DES (6) • Expanzná permutácia • táto operácia rozširuje pravú polovicu údajov R z 32 bitov na 48 bitov • operácia mení poradie bitov a zároveň niektoré bity kopíruje • S-box substitúcia • každý S-box má 6-bitový vstup a 4-bitový výstup - takýchto S-boxov je 8 • vstupných 48 bitov sa rozdelí na 8 6-bitových subblokov, ktoré sa samostatne spracovávajú • P-box permutácia • táto priama permutácia iba vymieňa bity vo výsledku

  31. Popis algoritmu DES (7) • Konečná permutácia • konečná permutácia je priamym opakom začiatočnej permutácie - ide o inverznú maticu

  32. Dešifrovanie DES • pretože DES je symetrický algoritmus, na dešifrovanie použijeme rovnaký algoritmus ako na šifrovanie • jediný rozdiel oproti šifrovaniu spočíva v tom, že podkľúče musia byť používané v opačnom poradí ako pri šifrovaní • algoritmus generovania podklúčov je rovnaký, až na to, že pri posune sa posúvajú bity doprava

  33. Slabé kľúče • vzhľadom k spôsobu, akým je kľúč modifikovaný k získaniu podkľúča každého kola algoritmu, budeme musieť niektoré kľúče označiť za slabé • 00000000 00000000, 00000000 FFFFFFFF • FFFFFFFF 00000000, FFFFFFFF FFFFFFFF • z niektorých kľúčov sa dajú vygenerovať len 2 rôzne podkľúče - takéto kľúče sa nazývajú poloslabé kľúče • niektoré kľúče vytvárajú len 4 podkľúče - voláme ich potenciálne slabé kľúče • dohromady máme asi 64 kľúčov, ktoré by sa nemali používať - keď si to ale porovnáme s celkovou množinou kľúčov 256, ide o zanedbateľné množstvo

  34. Pracovné módy DES • ECB mód (eletronic codebook) • jedná sa o čistý DES • každý 64 bitový blok textu sa šifruje tým istým 56 bitovým kľúčom • CBC mód (cipher block chaining) • Y0 = iv , Yi = DES(Yi-1 XOR Xi) • šifrovanie každého okrem prvého bloku závisí od výsledku šifrovania predchádzajúceho bloku • tento mód chráni proti určitým typom útokov, avšak nechráni pred kompletným prehľadaním všetkých kľúčov a pred diferenčnou kryptoanalýzou

  35. Pracovné módy DES (2) • CFB mód (cipher feedback) • Y0 = iv , Yi = Xi + DES(Yi-1) • umožňuje použiť bloky kratšie ako 64 bitov • OFB mód • Z0 = iv , Zi = DES(Zi-1) , Yi = Xi XOR Zi • v súčasnosti je najpoužívanejším módom CBC • pre zvýšenú bezpečnosť by bolo vhodné skombinovať Triple-DES s módom CBC

  36. Bezpečnosť šifrovania pomocou DES • doposiaľ nebol objavený spôsob, ktorým by sa dalo jednoduchým spôsobom prelomiť šifru DES • súčasné spôsoby útoku na DES šifru využívajú hrubú silu (brute force) na kompletné prehľadanie všetkých kľúčov - tento spôsob však priemerne zaberá 255 krokov • bohatý a mocný útočník by však mohol vybudovať špeciálne určenú výpočtovú jednotku, ktorá by bola schopná prelomiť DES šifru v reálnom čase • prvý typ útoku na DES, ktorý je lepší než kompletné prehľadanie všetkých kľúčov, ohlásili Biham a Shamir, ktorý používali novú techniku známu ako diferenčná kryptoanalýza • tento útok vyžaduje zašifrovanie 247 vybraných textov, ktoré sú vybrané útočníkom

  37. Bezpečnosť šifrovania pomocou DES (2) • diferenčná kryptoanalýza • hoci je teoreticky možné týmto spôsobom prelomiť DES, útok nie je praktický z dôvodu zložitosti algoritmu • Biham a Shavir vyhlásili, že považujú algoritmus šifrovania DES za bezpečný • neskôr bola vyvinutá ďalšia metóda útoku známa ako lineárna kryptoanalýza • metódu vyvinul Matsui • šifrovací kľúč môže byť zistený po analýze 243 známych textov • prvý experiment založený na tejto metóde bol úspešný - ochranu šifrou sa podarilo prelomiť po 50-tich dňoch na 12-tich počítačoch HP 9735 • takýto typ útoku je však stále nepraktický

  38. Bezpečnosť šifrovania pomocou DES (3) • najnovšie sa podarilo prelomiť DES šifru za 22 hodín • preto sa šifrovanie DES už nepokladá za bezpečné - 56 bitový kľúč je totiž možné prelomiť kompletným prehľadaním • ako štandard sa používa Triple-DES a AES

  39. Bezpečné používanie DES • kľúč pre DES šifrovanie by sa mal často obmieňať • pri komunikácii je potrebné nájsť bezpečný spôsob ako dostať kľúč od odosielateľa k príjemcovi - na to sa používa algoritmus RSA • v prípade, že sa algoritmus DES používa na šifrovanie súborov uložených na disku, nie je možné často meniť kľúč - namiesto toho sa môže používať jeden master kľúč, ktorým sa zašifruje súbor obsahujúci zoznam ďalších kľúčov, ktoré sú používané na šifrovanie súborov • master kľúč je možné meniť často • master kľúč ale predstavuje oveľa podstatnejší cieľ útoku ako ostatné kľúče - preto by bolo vhodné na zašifrovanie zoznamu kľúčov používať šifrovanie Tripple-DES

  40. RSA

  41. Princíp šifrovania pomocou RSA • ide o nesymetrické šifrovanie • tento algoritmus vyvinuli Ronald Rivest, Adi Shamir a Leonard Adleman na MIT v roku 1977 • na šifrovanie sa používa verejný kľúč a na dešifrovanie sa používa súkromný kľúč • princíp šifrovania spočíva v tom, že k šifrovacej a dešifrovacej funkcii neexistuje inverzná funkcia, ktorá by umožnila odšifrovať správu s tým istým kľúčom, ktorý sa použil na zašifrovanie správy • verejný a tajný kľúč generuje adresát správy, ktorá má byť prenesená v zašifrovanej podobe, verejný kľúč adresát poskytuje odosielateľovi správy

  42. Princíp šifrovania pomocou RSA (2) • generovanie kľúčov • vygenerujú sa dve veľké prvočísla p a q • nech n=p.q - číslo n sa volá modul • nech m=(p-1).(q-1) - m sa nazýva Eulerova funkcia čísla n • nájdeme také číslo e, aby najväčší spoločný deliteľ čísel m a e bolo číslo 1 • nájdeme ďalšie číslo d také, aby platilo d.e mod m = 1 • číslo e sa nazýva verejný exponent a číslo d sa nazýva súkromný exponent • verejným kľúčom je dvojica (n,e) • súkromným (privátnym) kľúčom je dvojica (d,e)

  43. Princíp šifrovania pomocou RSA (3) • v súčasnosti je veľmi obtiažné získať z dvojice (n,e) číslo d • ak by bol niekto schopný faktorizovať číslo n na prvočísla p a q, mohol by vypočítať číslo d a dostať sa takto k súkromnému kľúču • bezpečnosť šifrovania algoritmom RSA je teda založená na predpoklade, že faktorizácia veľkých čísel je extrémne zložitá • objavenie jednoduchšej metódy faktorizácie by mohlo narušiť bezpečnosť šifrovania algoritmom RSA • bezpečnosť šifrovania teda vychádza z veľkej výpočtovej zložitosti faktorizácie veľkých čísel • aby bolo šifrovanie bezpečné, musia mať čísla p a q aspoň 100 desiatkových cifier

  44. Princíp šifrovania pomocou RSA (4) • Šifrovanie • nech s je nezašifrovaná správa • potom c = se mod n • c je zašifrovaná správa s • Dešifrovanie • s = cd mod n • ako správa s sa môže brať buď jeden znak, alebo viac znakov, pričom číslo ktoré reprezentujú by malo byť v rozsahu do 0 po n-1

  45. Rýchlosť RSA algoritmu • šifrovanie, dešifrovanie (a taktiež aj podpisovanie a verifikovanie digitálneho podpisu) je v podstate modulárne umocňovanie - výpočty sú vykonávané ako série modulárnych násobení • v praktických aplikáciach je bežné ako verejný exponent (e) použiť malé číslo - týmto sa dá dosiahnúť šifrovanie rýchlejšie ako dešifrovanie a podpisovanie rýchlejšie ako verifikovanie • pri použití algoritmu modulárneho umocňovania na implementáciu RSA majú operácie s verejným kľúčom zložitosť O(k2), operácie so súkromnym kľúčom majú zložitosť O(k3) a operácie generovania kľúčov majú zložitosť O(k4) - k udáva počet bitov modulu • je možné použiť techniku rýchleho násobenia, ktorá je založená na metóde FFT (Fast Fourier Transform) - použitie tejto techniky vyžaduje menej krokov

  46. Rýchlosť RSA algoritmu (2) • v praxi sa však metóda rýchleho násobenia nevyužíva z dôvodu jej veľkej softvérovej zložitosti - pre určité veľkosti kľúčov môže byť táto metóda dokonca pomalšia • rýchlosť a efektívnosť mnohých komerčne používaných programov a hardvérových implementácií algoritmu RSA stále rastie • algoritmus DES je v porovnaní s algoritmom RSA minimálne 100 krát rýchlejší v softvérových implementáciách a 1000 - 10000 krát rýchlejší v hardvérových implementáciách

  47. Bezpečnosť kryptovania pomocou RSA • existuje niekoľko možností, ako by mohol útočník narušiť bezpečnosť šifrovania pomocou RSA • najviac nebezpečným útokom by bol útok, pri ktorom by sa útočníkovi podarilo na základe verejného kľúča získať k nemu prisluchajúci súkromný kľúč - utočník by získal schopnosť čítať všetky zašifrované správy a taktiež by mohol sfalšovať digitálny podpis • tento útok by sa mohol útočníkovi podariť faktorizáciou modulu n (ktorý je súčasťou aj verejného kľúča) na dve prvočísla p a q – z čísel p,q a e (verejný exponent) by mohol útočník jednoduchým spôsobom vypočítať d (súkromný exponent) • samozrejme najťažšou časťou takého útoku je faktorizácia modulu n • bezpečnosť RSA šifrovania je založená na zložitosti faktorizácie

  48. Bezpečnosť kryptovania pomocou RSA (2) • ani hardvérová implemetácia faktorizácie neoslabuje bezpečnosť RSA šifrovania, samozrejme pokiaľ je použitá primeraná dĺžka kľúča • ďalším spôsobom ako prelomiť RSA kryptosystém je nájdenie techniky na výpočet inverznej funkcie k funkcii c = se mod n • tento typ útoku nie je ekvivalentom k faktorizácii modulu • tento typ útoku by umožnil útočnikovi dešifrovať správy a falšovať podpisy aj bez znalosti súkromného kľúča • v súčasnosti nie sú známe žiadne metódy, pomocou ktorých by sa dal prelomiť RSA kryptosystém týmto spôsobom

  49. Bezpečnosť kryptovania pomocou RSA (3) • spomenuté typy útokov sú jedinými spôsobmi ako prelomiť RSA kryptosystém s cieľom dešifrovania všetkých správ • existujú aj útoky typu single message - tieto útoky v prípade úspechu odhalenia jednej správy neumožňujú útočníkovy dešifrovať ďalšie správyzašifrované tým istým kľúčom • najjednoduchším útokom typu single message je útok, pri ktorom útočník predpokladá, ako vyzerá dešifrovaný text (napríklad: „Útok na svitaní.“) - tento text útočník zašifruje odchyteným verejným kľúčom príjemcu a porovná ho so zašifrovaným textom vyslaným odosielateľom – podľa výsledku porovnania útočník vie, či jeho odhad bol správny • útoky tohto typu môžeme prekaziť pridaním náhodných bitov k správe

  50. Bezpečnosť kryptovania pomocou RSA (4) • samozrejme existujú aj útoky, ktoré sa nezameriavajú na samotný kryptosystém, ale na jeho nedokonalú implementáciu - prípadný úspech útočníka však nie je prelomením systému RSA • príkladom nie bezpečnej implementácie, ktorú by mohol útočník využiť, je nedostatočne zabezpečené uloženie súkromného kľúča • v praxi mnoho úspešných útokov je spôsobených nedokonalou implementáciou

More Related