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

Podobné dokumenty
Pokročilá kryptologie

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 RSA

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

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

Jak funguje asymetrické šifrování?

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

Asymetrická kryptografie

MFF UK Praha, 22. duben 2008

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

asymetrická kryptografie

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

Správa přístupu PS3-2

Složitost a moderní kryptografie

Úvod. Karel Klouda c KTI, FIT, ČVUT v Praze 18. dubna, letní semestr 2010/2011

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod 2. Róbert Lórencz. lorencz@fel.cvut.cz

Aplikovaná numerická matematika - ANM

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

Informatika Ochrana dat

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı

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

5. a 6. přednáška z kryptografie

C5 Bezpečnost dat v PC

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

Eliptické křivky a RSA

Aplikovaná numerická matematika

KRYPTOGRAFIE VER EJNE HO KLI Č E

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

MPI - 7. přednáška. Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n.

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

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem Festival Fantazie, Štěpán Sem

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

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc.

Šifrování veřejným klíčem

Trocha teorie Ošklivé lemátko První generace Druhá generace Třetí generace Čtvrtá generace O OŠKLIVÉM LEMÁTKU PAVEL JAHODA

Pokročilá kryptologie

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

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

ElGamal, Diffie-Hellman

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

Hlubší věty o počítání modulo

Diskrétní logaritmus

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

Úvod do kryptologie. 6. března L. Balková (FJFI ČVUT v Praze) Primality Testing and Factorization 6. března / 41

Modulární aritmetika, Malá Fermatova věta.

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

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

Prvočísla, dělitelnost

Algoritmy okolo teorie čísel

Matematické algoritmy (11MAG) Jan Přikryl

Algoritmy okolo teorie čísel

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

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

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I

Generátory náhodných a

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

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry

Datové struktury 2: Rozptylovací tabulky

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

Hlubší věty o počítání modulo

Autentizace uživatelů

Modulární aritmetika, Malá Fermatova věta.

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

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

Komerční výrobky pro kvantovou kryptografii

PA159 - Bezpečnostní aspekty

Matematika IV - 5. přednáška Polynomy

4. Teorie informace, teorie složitosti algoritmů. doc. Ing. Róbert Lórencz, CSc.

Matematické algoritmy (11MAG) Jan Přikryl. verze: :29

Tel.: (+420)

Ochrana dat Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,

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

Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Jiří Mareš Srovnání algoritmů pro kryptografii s veřejným klíčem

Historie matematiky a informatiky Cvičení 1

Informatika / bezpečnost

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165.

Historie matematiky a informatiky Cvičení 2

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

Osnova přednášky. Seznámení s asymetrickou kryptografií, díl 1. O pojmu bezpečnost Poznámka o hodnocení kryptografické bezpečnosti.

Testování prvočíselnosti

Hashovací funkce. Andrew Kozlík KA MFF UK


Konstrukce šifer. Andrew Kozlík KA MFF UK

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

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

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

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

Kvantové algoritmy a bezpečnost. Václav Potoček

Vzdálenost jednoznačnosti a absolutně

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

Andrew Kozlík KA MFF UK

Matematika IV - 5. přednáška Polynomy

Dynamické programování

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

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

Univerzita Karlova v Praze Pedagogická fakulta

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

Transkript:

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ů Informatika pro novou fakultu ČVUT je spolufinancována Evropským sociálním fondem a rozpočtem Hlavního města Prahy v rámci Operačního programu Praha adaptabilita (OPPA) projektem CZ.2.17/3.1.00/31952 Příprava a zavedení nových studijních programů Informatika na ČVUT v Praze. Praha & EU: Investujeme do vaší budoucnosti R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 1 / 20

Obsah přednášky RSA Principy kryptografie s veřejným klíčem (VK) Kryptografické systémy s VK R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 2 / 20

RSA (1) Úvod Zabezpečení utajené komunikace v síti každá komunikující dvojice musí používat šifrovací klíč Pokud je šifrovací klíč známý je dešifrovací klíč vygenerovatelný s použitím malého počtu operací. Šifrovací systém veřejného klíče (VK) je řešení problému s přidělovaním klíče pro utajenou komunikaci. Šifrovací systém VK má šifrovací klíč veřejný VK a tajný SK. Vypočítat dešifrovací transformaci ze šifrovací je problém. Použitím VK je zřízena utajená komunikace v síti s několika subjekty. Každý subjekt má VK a SK pro daný šifrovací systém. Subjekt si ponechává určité utajené soukromé informace vnesené do konstrukce šifrovací transformace pomocí SK. Seznam klíčů VK 1, VK 2,..., VK n je veřejný. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 3 / 20

RSA (2) Subjekt 1 vysílá zprávu m subjektu 2: Zpráva blok (obvykle 1) určité délky; bloku OT m odpovídá blok ŠT, písmena numerické ekvivaleny. Subjekt 2 s použitím dešifrovací transformace dešifruje blok ŠT. Podmínka: dešifrovací transformace nemůže být nalezena v rozumném čase někým jiným než subjektem 2 neautorizované subjekty komunikace nemůžou dešifrovat zprávu bez znalosti klíče. Princip RSA šifrovacího systému Uveden Rivestem, Shamirem a Adlemanem v roce 1970. RSA je šifrovací systém VK a je založený na modulárním umocňování. Dvojice (e, n) je VK klíče; e - exponent a n - modul. n součin dvou prvočísel p a q, tj. n = pq a gcd (e, Φ(n)) = 1. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 4 / 20

RSA (3) Zašifrování OT: písmena numerické ekvivalenty, vytváříme bloky s největší možnou velikostí (se sudým počtem číslic). Pro zašifrování zprávy m na ŠT c použijeme vztah: E(m) = c = m e n, 0 < c < n. K dešifrování požadujeme znalost inverze d čísla e modulo Φ(n), gcd(e, Φ(n)) = 1 inverze existuje. Pro dešifrování bloku c platí: D(c) = c d n = m ed n = m kφ(n)+1 n = (m Φ(n) ) k m n = m n, kde ed = kφ(n) + 1 pro nějaké celé číslo k ( ed Φ(n) = 1) a z Eulerovy věty platí p Φ(n) n = 1, kde gcd (p, n) = 1. Pravděpodobnost, že m a n nejsou nesoudělná je extrémně malá. Dvojice (d, n) je dešifrovací klíč - tajná část klíče SK. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 5 / 20

RSA (4) Příklad Šifrovací modul je součinem dvou prvočísel 43 a 59. Potom dostáváme n = 43 59 = 2537 jako modul. e = 13 je exponent, kde platí gcd (e, Φ(n)) = gcd (13, 42 58) = 1. Dále plati Φ(2537) = (43 1) (59 1) = 42 58 = 2436. Pro zašifrování zprávy PUBLIC KEY CRYPTOGRAPHY, převedeme OT do číselných ekvivalentů písmen textu vytvoříme bloky o délce 4 číslic (n je 4ciferné!) a dostáváme: 1520 0111 0802 1004 2402 1724 1519 1406 1700 1507 2423, Písmeno X = 23 je výplň (padding). Pro šifrování bloku OT do bloku ŠT použijme vztah c = m 13 2537. Šifrovaním prvního bloku OT 1520 dostáváme blok ŠT c = (1520) 13 2537 = 95. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 6 / 20

RSA (5) Zašifrováním všech bloků OT dostáváme: 0095 1648 1410 1299 0811 2333 2132 0370 1185 1457 1084. Pro dešifrování zprávy, která byla zašifrována RSA šifrou, musíme najít inverzi e = 13 1 Φ(n), kde Φ(n) = Φ(2537) = 2436. S použitím Euklidova algoritmu získáme číslo d = 937, které je multiplikativní inverzí čísla 13 modulo 2436. K dešifrování bloku c ŠT použijeme vztah: který platí, protože m = c 937 2537, 0 m 2537, c 937 2537 = (m 13 ) 937 2537 = m (m 2436 ) 5 2537 = m, kde jsme použili Eulerovu větu m Φ(2537) 2537 = m 2436 2537 = 1, když platí gcd (m, 2537) = 1, a to je splněno pro každý blok/zprávu m OT. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 7 / 20

RSA (6) Definice RSA Necht p a q jsou prvočísla. Vypočítáme n = pq, Φ(n) = (p 1)(q 1). Zvolíme e, 1 < e < n, gcd(e, Φ(n)) = 1 a spočítáme d = e 1 Φ(n). Dvojici VK = (n, e) prohlásíme za veřejný klíč (a zveřejníme), dvojici SK = (n, d) prohlásíme za soukromý klíč. Postup pro genrování VK a SK : Každý subjekt najde 2 velká náhodná prvočísla p a q se 100 dekadickými číslicemi za rozumnou dobu. Z věty o prvočíslech plyne, že pravděpodobnost toho, že takto vybraná čísla jsou prvočísla, 2/ log (10 100 ). Pro nalezení prvočísla potřebujeme v průměru 1/(2/ log (10 100) ) 115 testů takových celých čísel. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 8 / 20

RSA (7) Ke zjištění, jestli jsou takto náhodně vybraná lichá celá čísla prvočísly, použijeme Rabinův-Millerův pravděpodobnostní test. 100číslicové celé liché číslo je testováno Rabin-Millerovým testem pro 100 "svědků". Pravděpodobnost, že testované číslo je složené je 10 60. Každý subjekt provádí daný výpočet pouze dvakrát. Jakmile jsou prvočísla p a q nalezena je vypočítán šifrovací exponent e (platí gcd (e, Φ(pq)) = 1). Doporučení: zvolit e jako nějaké prvočíslo > p a q. Pokud 2 e > n = pq a znemožnění odkrytí bloku otevřeného textu m následným jednoduchým umocňováním celého čísla c, kde c = m e n, 0 < c < n, bez provedení redukce modulo n. Podmínka 2 e > n zaručí, že každý blok otevřeného textu m, kde je zašifrovaný umocněním a následnou redukcí modulo n. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 9 / 20

RSA (8) Bezpečnost RSA Modulární umocňování potřebné k šifrování zprávy s použitím RSA může být provedeno při VK a m o velikosti 200 dekadických číslic za několik málo sekund počítačového času. Se znalostí p a q (Φ(n) = Φ(pq) = (q 1)(r 1)) a s použitím Euklidova algoritmu lze najít dešifrovací klíč d, kde de Φ(n) = 1, K objasnění proč znalost šifrovacího klíče (e, n), který je veřejný, nevede lehce k nalezení dešifrovacího klíče (d, n) je důležité si uvědomit, že k nalezení dešifrovacího klíče d jako inverzi šifrovacího klíče e modulo Φ(n) vyžaduje znalost hodnot p a q, které umožní snadný výpočet Φ(pq) = (p 1)(q 1). V případě, kdy nepoznáme hodnoty p a q, je nalezení Φ(n) podobně složité jako faktorizace celého čísla n. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 10 / 20

RSA (9) Problem faktorizace a RSA (1) Pokud p a q jsou 100číslicová prvočísla n je 200číslicové. Nejrychlejší známé algoritmy pro faktorizaci potřebují 10 6 roků počítačového času k faktorizaci takových celých čísel. Naopak, pokud známe d, ale neznáme Φ(n), je možné lehce faktorizovat n, protože víme, že ed 1 je násobkem Φ(n). Pro takovou úlohu existují speciální algoritmy faktorizace celého čísla n s použitím nějakého násobku Φ(n). Dosud nebylo prokázáno dešifrování zprávy zašifrované s použitím RSA bez faktorizace n! pokud neexistuje žádná metoda pro dešifrování RSA bez provedení faktorizace modulu n je RSA šifrovací systém metodou používající faktorizaci! R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 11 / 20

RSA (10) Problem faktorizace a RSA (2) Výpočetní náročnost je tím větší, čím větší je modul. Zprávy šifrované s použitím RSA systému se stávají zranitelné proti útokům v tom okamžiku, když se faktorizace n stane proveditelnou v "reálných podmínkách"! Znamená to zvýšenou pozornost při výběru a používání prvočísel p a q k zajištění ochrany utajení zpráv, které mají být utajeny na desítky a stovky let. Ochrana proti speciálním, rychlým technikám pro faktorizaci n = pq. Například obě hodnoty p 1 a q 1 by měly mít velký prvočíselný faktor, tedy gcd (p 1, q 1) by mělo být malé a p a q by měly mít rozdílnou desítkovou reprezentaci v délce několika málo číslic. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 12 / 20

RSA (11) Schémata kryptografie veřejného klíče Soubor veřejných klíčů Šifrování Klíč VK 2 Klíč SK 2 OT E VK ŠT D SK OT Odesílatel 1 Adresát 2 Klíč SK 1 Autentizace Soubor veřejných klíčů Klíč VK 1 OT D SK ŠT E VK OT Odesílatel 1 Adresát 2 R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 13 / 20

Digitální podpis a RSA (1) Šifrovací systém RSA lze použít pro vyslání podepsané zprávy. Při použití podpisu se příjemce zprávy může ujistit, že zpráva přišla od oprávněného odesílatele a že tomu tak je na základě nestranného a objektivního testu. Takové ověření je potřebné pro elektronickou poštu, elektronické bankovnictví, elektronický obchod atd. Princip Necht subjekt 1 vysílá podepsanou zprávu m subjektu 2. Subjekt 1 spočítá pro zprávu m OT S = D SK1 (m) = m d 1 n1, kde SK 1 = (d 1, n 1 ) je tajný dešifrovací klíč pro subjekt 1. Když n 2 > n 1, kde VK 2 = (e 2, n 2 ) je veřejný šifrovací klíč pro subjekt 2, subjekt 1 zašifruje S pomocí vztahu c = E VK2 (S) = S e 2 n2, 0 < c < n 2. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 14 / 20

Digitální podpis a RSA (2) Když n 2 < n 1 subjekt 1 rozdělí S do bloků o velikosti menší než n 2 a zašifruje každý blok s použitím šifrovací transformace E VK2. Pro dešifrování subjekt 2 nejdříve použije soukromou dešifrovací transformaci D SK2 k získání S, protože D SK2 (c) = D SK2 (E VK2 (S)) = S. K nalezení OT m předpokládejme, že byl vyslán subjektem 1, subjekt 2 dále použije veřejnou šifrovací transformaci E VK1, protože E VK1 (S) = E VK1 (D SK1 (m)) = m. Zde jsme použili identitu E VK1 (D SK1 (m)) = m, která plyne z faktu, že E VK1 (D SK1 (m)) = (m d 1 ) e 1 n1 = m d 1e 1 n1 = m, protože d 1 e 1 Φ(n1 ) = 1. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 15 / 20

Digitální podpis a RSA (3) Kombinace OT m a podepsané verze S přesvědčí subjekt 2, že zpráva byla vyslána subjektem 1. Také subjekt 1 nemůže odepřít, že on vyslal danou zprávu, protože žádný jiný subjekt než 1 nemůže generovat podepsanou zprávu S z originálního textu zprávy m. Digitální podpis Odesílatel 1 Adresát 2 D SK E VK D SK E VK OT ŠT OT SK 1 VK 1 SK 2 VK 2 R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 16 / 20

RSA-CRT (1) Urychlení šifrování Pro urychlení šifrování je normou doporučena množina šifrovacích exponentů e. Exponenty se vyznačují malou Hammingovou váhou šifrování probíhá rychle v několika krocích, viz modulární umocňování. Například e = 11 2, 1011 2, 10001 2, 2 16 + 1,... Urychlení dešifrování Pro urychlení dešifrování se využívá rozklad pomocí Čínské věty o zbytcích - RSA-CRT Na základě tohoto rozkladu se při dešifrování počítá s čísly poloviční délky zrychlení 4 až 8 násobné oproti původnímu dešifrovacímu výpočtu. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 17 / 20

RSA-CRT (2) Definice RSA-CRT Necht p a q jsou prvočísla. Vypočítáme n = pq, Φ(n) = (p 1)(q 1). Zvolíme e, 1 < e < n, gcd(e, Φ(n)) = 1 a spočítáme d = e 1 Φ(n). Vypočítáme d p = d p 1, d q = d q 1, q inv = q 1 p. Dvojici VK = (n, e) prohlásíme za veřejný klíč (a zveřejníme), šestici SK = (n, p, q, d p, d q, q inv ) prohlásíme za soukromý klíč. Šifrování a dešifrování Pro šifrování platí stejný vztah jako pro RSA: c = m e n. Pro dešifrování v RSA-CRT musí platit pro d p a d q následující kongruence: ed p 1 mod (p 1) ed q 1 mod (q 1) R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 18 / 20

RSA-CRT (3) Dešifrování 1 Vypočteme 2 Vypočteme m 1 = c dp p m 2 = c dq q h = q 1 p (m 1 m 2 ) p 3 Vypočteme m = m 2 + hq Krok 1 je výpočetně nejnáorčnější. Počítáme ale s polovičními délkami čísel než v případě RSA. Výpočet m 1 a m 2 je datově nezávislý a lze ho provádět paralelně. V kroku 2 je nenáročné násobení rozdílu m 1 a m 2 s předpočítanou konstantou q 1 p s a následnou redukcí modulo p. Poslední krok představuje nejméně náročné násobení a sčítaní. R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 19 / 20

Asymetrická a symetrická kryptografie (1) Asymetrické šifrování SK 2 z VK 2 nelze schůdně vypočítat Klíč VK 2 Klíč SK 2 OT E VK ŠT D SK OT Odesílatel 1 Adresát 2 Symetrické šifrování K E a K D stejné nebo snadno převoditelné Klíč K E Klíč K D OT E K ŠT D K OT Odesílatel 1 Odesílatel 1 může i dešifrovat Adresát 2 R. Lórencz (ČVUT FIT) RSA, kryptografie s veřejným klíčem BI-BEZ, 2011, Předn. 8. 20 / 20