O základních kryptografických elementech, které mají široké uplatnění v šifrování a autentikaci zejména na internetu a v kryptoměnách.
Jaké problémy a situace řeší kryptografie? Proč je komunikace na Internetu bez ní dnes již nemožná? Dokázali byste se s kolegou veřejně domluvit na tajné šifře? Proč jsou náhodná čísla pro kryptografii nezbytná? Co jsou eliptické křivky a digitální otisky? Jakou úlohu hrají v kryptoměnách?
2. Kryptografické lego
Obsah přednášky
● Co je kryptografie a jaké řeší situace
● Stručná historie a rozdělení kryptografie
● Stavební kameny a nejdůležitější aplikace
● Pokročilá kryptografie a aplikace
4. Staré příběhy
Proč kryptografie?
● Jak ví Alice, že mluví s Bobem a ne Emilem?
● Umí zajistit, aby komunikace byla důvěrná?
● Má jistotu, že slyší to, co Bob vyslovil?
Alice si je jistá
● Bob je nenapodobitelný
● Nikdo nás neslyší, Emil je vedle a stejně nám nemůže nerozumět
● Bobovy slova nemohl nikdo změnit
V osobní komunikaci platí, funguje intuice, bezpečnost je levná
5. Staré příběhy
Proč kryptografie?
Vzdálená komunikace, vložené technologie a možné útoky
● napodobení partnera > podvržení poznávacích znaků
● zachycení komunikace > odposlouchávání
● porozumnění komunikaci > rozluštění užité řeči
● změna vysloveného > narušení integrity komunikačního kanálu
Řešení starého světa, drahá a plná děr
● občanské průkazy, přístupová hesla
● vyhrazené a střežené komunikační kanály
● neveřejné kódování, metody šifrování top secret
6. V novém kabátě
Proč kryptografie?
Nové technologie > nové problémy
● vkládají mezi komunikující mnoho vrstev
● hlas - telefon - OS - sim - sim OS - operátor 3G síťě - … a zpět
● poznávací znaky fyzického světa nejsou přítomny
● intuici a zkušenost se starými technologiemi nelze aplikovat
● specializace - delegovaní - dynamismus vztahů, přetížení
● fyzické útoky drahé a pro útočníka nebezbečné
● elektronické útoky levné a méně riskantní
● politické nebezpečí > řešení centralizovanými prostředky
● lze obnovit původní “ráj”?
7. Skutečné řešení vzdálené komunikace
Co je kryptografie?
Technologie, která obnovuje porušený řád na globální úrovni
● na rozhraní matematicky a počítačové vědy, rozmrzlá evoluce
● vytváří možnost důvěrné a zabezpečené komunikace
● minimální předpoklady na integritu komunikačních kanálů
Internet - nezabezpečený přenos zpráv mezi vzdálenými uzly
● identifikace - ověřování totožnosti
● šifrování - utajení komunikace a dat
● autenticita - prokazování původu dat
● integrita - prokazování neporušenosti dat
8. Od klasické k moderní
Stručná historie kryptografie
Klasická kryptografie
● několik tisíc let
● stačí tužka a papír
● mechanické pomůcky
● motorem rozvoje válka, Enigma
Moderní kryptografie od pol. 20. století
● rozvoj matematiky
● rozvoj počítačové vědy
● obory symetrická, asymetrická, …
● původně chráněny státem, objevy uvolňovány od 1970
9. Okruhy moderní kryptografie
● hašovací funkce
● generátory náhodních čísel
● symetrická kryptografie
● asymetrická kryptografie
● steganografie
● kryptoanalýza
10. Hašovací funkce
Digitální otisk - motivace
● některé kryptooperace jsou pomalé nebo neuskutočnitelné na
velkých datech
● chceme pro jakákoliv vstupní data vygenerovat “otisk” pevné délky
● dále pracujeme jenom s otiskem → rychlejší
● naivní přístup:
○ přiřadíme každému znaku zprávy poradové číslo písmene
○ sečteme čísla a výsledek použijeme jako otisk zprávy
○ neúčinné: TADEAS = ZINA, 520000 = 250000
11. Hašovací funkce
SHA-2 (SHA224, SHA256, SHA384, SHA512)
sha256(“”) =
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
sha256(“The quick brown fox jumps over the lazy dog”) =
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
sha256(“The quick brown fox jumps over the lazy dog.”) =
ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c
sha256(“00000…..…...00000”) =
d29751f2649b32ff572b5e0a9f541ea660a50f94ff0beedfb0b692b924cc8025
13. Hašovací funkce
Proof of Work
● Hashcash
X-Hashcash:1:20:20150203:stick@gk2.sk::McMybZIhxKXu57jdFOvX
● Bitcoin mining
○ bloky 341772 - 341777
000000000000000004a851e0a7aec978c32886422e1debaccffe3e6aaa8777ed
00000000000000000caa007872622bb90a635148335fc5f3c1ded6ccc3f6ebf4
00000000000000000f743846983c4c2f2e93faf9e941d0476619f7a6e17de2e6
0000000000000000090d1035bea78fab63e6921ae0a554866a399fddd343b005
000000000000000005761b2a1f9958e224c2d887dcb65b056ffd644166de7b5b
000000000000000019ab26eec383bee9b2db36c7204d2c0a61779cde555f376e
14. Symetrická kryptografie
Caesarova šifra
n = 3
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
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
PARALELNI POLIS → SDUDOHOQL SROLV
n = 13
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
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
PARALELNI POLIS → CNENYRYAV CBYVF
15. Symetrická kryptografie
AES
● podpora přímo v hardwaru
● velikost bloku 128 bitů
● velikost klíče 128 nebo 192 nebo 256 bitů
○ klíč může být slovo nebo věta, použijeme hašovací funkci
● použití:
○ šifrování disku
○ šifrování komunikace
○ prakticky všude, kde nám jde o rychlost :-)
22. Asymetrická kryptografie
Jednosměrná funkce
● míchání barev
● násobení (prvo)čísel (RSA, PGP)
○ n = p × q
● diskrétní logaritmus (ElGamal)
○ 2x
mod p = y
● eliptické křivky (Bitcoin)
○ R = k × P
veřejný klíč / privátní klíč
26. Přehled
Pokročilá kryptografická schémata
● sdílení tajemství, Shamir secret sharing
problém důvěryhodného distributora
● distribuované generovaní klíčů, Threshold signatures
klíč není nikdy složen dohromady, absence distributora
● interaktivní systémy dokazování, Zero-knowledge proofs
důkaz znalosti, bez prozrazení, např. Zerocoin = anonymní Bitcoin
● homomorfní kryptografie, Secure computing
operace nad zašifrovanými daty, bez znalosti významu dat
27. Sdílení tajemství
Pokročilá kryptografická schémata
● Při sdílení tajemství ve skupině je každý jedinec slabé místo
● Shamirovo schéma, rozdělení tajemství na fragmenty, žádné
nejsou stejné, pro vytvoření tajemství nutno složit více fragmentů
● Příklad použití: sdílení kódů od jaderných zbraní
celkem 6 fragmentů, 4 fragmenty nutné ke vytvoření kódu
rozdělení: prezident - 2 klíče, ministři - každý 1 klíč ze 4
ztráta libovolných dvou klíčů systém neohrozí, možné kombinace:
- prezident 2x + dva ministři
- prezident 1x + tři ministři
- čtyři ministři
28. ● kryptografie vytváří možnost důvěrné a zabezpečené komunikace
bez větších nároků na komunikační infrastrukturu
● kryptografie využívá elementy, které se dají kombinovat a spolu
vytvářejí složitější systémy:
- hašovací funkce
- symetrická šifra
- asymetrická kryptografie privátního a veřejného klíče
Co si vzít domů
Rekapitulace