Základy kryptografie

Kryptografie označuje proces skrývání informací převedením čitelného textu na nečitelný pomocí nějakého klíče nebo šifrovacího algoritmu.

Informace chráněné pomocí kryptografie zahrnují e-maily, soubory a další citlivá data.

Cílem kryptografie je zajistit, aby si šifrované informace zachovaly svoji důvěrnost, integritu, autentizaci a nepopiratelnost.




Typy kryptografie

Šifrování má dva typy:

  • Symetrické šifrování používá jeden klíč k šifrování a dešifrování informací, které jsou odesílány / přijímány.
  • Asymetrické šifrování používá různé klíče k šifrování a dešifrování informací, které jsou odesílány / přijímány.


Šifra

Šifra označuje algoritmus, který se používá pro šifrování a dešifrování.


Typy šifry jsou:

Klasické šifry

  • Substituční šifra je šifra, ve které je prostý text nahrazen šifrovým textem.
  • Transpoziční šifra je šifra, ve které je přeuspořádán prostý text tak, aby vytvořil šifrový text.

Moderní šifra


  • Šifry založené na klíčích:



    • Symetrický klíčový algoritmus je algoritmus, který používá jeden klíč pro šifrování a dešifrování

    • Algoritmus asymetrického klíče je algoritmus, který používá dva klíče pro šifrování a dešifrování


  • Šifry založené na vstupu:



    • Bloková šifra je šifra, která pracuje na blocích dat pevné velikosti pomocí symetrického klíče

    • Streamová šifra je šifra, která pracuje na jednom bitu najednou pomocí symetrického klíče



Šifrovací algoritmy

Z

DES je standard šifrování dat, který používá symetrické šifrování. Tajný klíč, který se používá pro šifrování a dešifrování, má 64 bitů, z nichž je 56 bitů generováno náhodně a zbývajících 8 bitů je použito při kontrole chyb.


AES

AES je algoritmus symetrického klíče, který provádí stejnou operaci několikrát. Používá blok pevné velikosti 128 bitů a klíče tří velikostí: 128, 192 a 256 bitů.

RC4, RC5, RC6

RC4 je klíčový algoritmus s proměnnou délkou, který pracuje na jednom bitu a používá náhodné permutace. Patří do skupiny šifer proudů symetrických klíčů.

RC5 je parametrizovaný algoritmus, který má proměnnou velikost bloku, proměnnou velikost klíče a proměnný počet kol. Velikost bloku může být jedna ze tří: 32, 64 a 128 bitů. Velikost klíče může být mezi 0 a 2 040 bitů. Počet kol může být mezi 0 a 255.

RC6 je odvozen od RC5 a má dvě další funkce: používá celočíselné násobení a 4bitové registry (RC5 používá 2bitové registry).


Twofish

Algoritmus Twofish je bloková šifra, která používá 128bitové bloky a jeden klíč pro šifrování a dešifrování. Velikost klíče se může pohybovat od 0 do 256 bitů.

DSA

DSA je asymetrický algoritmus, který používá soukromé i veřejné klíče. Soukromý klíč říká, kdo zprávu podepsal, a veřejný klíč ověřuje digitální podpis. Při výměně zpráv mezi dvěma entitami každá entita vytvoří veřejný a soukromý klíč.

RSA

RSA používá modulární aritmetické a základní teorie čísel pro provádění výpočtů pomocí dvou velkých prvočísel. Je považován za standard šifrování a jako takový se používá v různých aplikacích. RSA používá v procesu šifrování a dešifrování soukromé i veřejné klíče.

Diffie-Hellman

Algoritmus Diffie-Hellman se používá ke generování sdíleného klíče mezi dvěma entitami přes nezabezpečený kanál. Umožňuje dvěma stranám vytvořit šifrovací klíč a poté zašifrovat jejich provoz tímto klíčem.


Přehled zpráv

Funkce souhrnu zpráv nebo jednosměrné funkce se používají k výpočtu jedinečné řetězcové reprezentace pevné velikosti bloku informací. Nelze je obrátit a používají se ke kontrole integrity souboru.

MD5 je algoritmus souhrnu zpráv, který přijímá vstup libovolné délky a vytváří 128bitový souhrn zpráv vstupu. Tento algoritmus se používá v aplikacích digitálního podpisu, kontrole integrity souborů a ukládání hesel.

SHA

Secure Hashing Algorithm nebo SHA je algoritmus, který generuje kryptograficky zabezpečený přehled zpráv. Existují tři generace algoritmů SHA: SHA-1, SHA-2 a SHA-3. SHA-1 produkuje 160bitové digesty, zatímco SHA-2 a SHA-3 produkují 256, 384 a 512bitové digesce.

HMAC

Ověřovací kód zprávy založený na hash nebo HMAC je typ ověřovacího kódu zprávy. Používá kombinaci kryptografického klíče a hashovací funkce, jako je SHA-1 nebo MD5. Používá se pro ověřování a kontrolu integrity.




PKI

PKI znamená Public Key Infrastructure a odkazuje na hardware, software, lidi, zásady a postupy, které jsou vyžadovány pro správu digitálních certifikátů. Jedná se o bezpečnostní architekturu, která byla vyvinuta za účelem zvýšení důvěrnosti informací, které jsou vyměňovány.

Podepsaný certifikát je certifikát vydaný Certifikačními orgány (CA). Obsahuje veřejný klíč a identitu vlastníka.

Certifikát podepsaný sám sebou je certifikát vydaný a podepsaný sám sebou. Obvykle se používá pro účely testování a jinak mu nelze důvěřovat.



E-mail a šifrování disku

Digitální podpis

Digitální podpis se vytváří pomocí asymetrické kryptografie. Je připojen k přenášeným datům a představuje kryptografický způsob ověřování.

SSL

SSL znamená Secure Sockets Layer a označuje protokol na aplikační vrstvě, jehož úkolem je zajistit bezpečnost přenosu zpráv po síti a internetu.

TLS

TLS znamená Transport Layer Security a odkazuje na protokol, který vytváří zabezpečené připojení klient-server a zajišťuje integritu informací a soukromí během přenosu.

PGP

PGP znamená Pretty Good Protection a odkazuje na protokol používaný k šifrování a dešifrování autentizace a kryptografických dat. PGP se používá ke kompresi dat, digitálních podpisů, šifrování / dešifrování e-mailů a dalších citlivých informací.

Šifrování disku

Šifrování disku označuje šifrování všech dat uložených na disku. Cílem je chránit data uložená na disku a zajistit jejich důvěrnost.



Kryptoanalýza

Cryptanalýza se týká procesu dešifrování šifer a šifrovaného textu. Může identifikovat zranitelná místa v kryptosystémech a tak extrahovat prostý text ze šifrovaného.

Metody používané při dešifrování jsou:

  • U blokových šifer se používá lineární kryptoanalýza
  • Diferenciální kryptoanalýza se používá u algoritmů symetrických klíčů
  • U blokových šifer se používá integrovaná dešifrování

Metodika lámání kódu

Techniky používané k měření síly šifrovacího algoritmu porušením šifrování zahrnují:

  • Technika hrubou silou zkouší každou možnou kombinaci znaků prolomit šifrování
  • Technika frekvenční analýzy analyzuje frekvenci výskytu určitých symbolů a na základě toho rozbíjí šifrování
  • Technika podvodu a podvodu vyžaduje použití technik sociálního inženýrství k extrahování klíčů a prolomení šifrování
  • Technika jednorázového blokování odkazuje na nerozbitné šifrování, při kterém je prostý text kombinován s klíčem, který se skládá z neopakující se sady znaků, je generován náhodně a má stejnou délku jako odesílaná zpráva.

Kryptografické útoky


  • Útok pouze na šifrovaný text je útok, při kterém má útočník sbírku šifrovacích textů, které je třeba analyzovat, aby našel klíč a text zašifroval.


  • Známý útok na holý text je útok, při kterém má útočník část holého textu, na základě kterého odvodí klíč.


  • Zvolený útok prostého textu je útok, při kterém útočník odvodí klíč analýzou prostého textu a odpovídajícího šifrovacího textu generovaného útočníkem.


  • Zvolený útok šifrovaným textem je útok, při kterém útočník získá prostý text pro sadu vybraných šifrových textů a pokusí se odvodit klíč.


  • Útok hrubou silou je útok, při kterém jsou všechny možné kombinace kláves vyzkoušeny proti ciphertextu, dokud není nalezen pravý klíč. Tento útok vyžaduje spoustu času a výpočetní síly.


  • Slovníkové útoky je útok, při kterém útočník vytvoří slovník prostého textu a jeho šifrovací text a poté tento slovník použije k prolomení šifrování.