Symetrická kryptografie


Rozdíl mezi symetrickou a asymetrickou šifrou. 

Stavební prvky moderních symetrických šifer: lineární registry se zpětnou vazbou (LFSR), záměnné boxy (S-boxy), booleovské funkce, mohutnosti množiny klíčů. 

Proudové šifry: popis, výhody, nevýhody. 

Blokové šifry výhody nevýhody. 

Popis DES a AES. 

Módy práce blokové šifry.



 

Symetrická šifra

  • šifra s tajným klíčem

  • část klíče pro dešifrování lze výpočetně snadno získat z části klíče pro zašifrování

  • u většiny jsou klíče pro zašifrování a dešifrování identické (proto symetrické)

  • bezpečnost konkrétního textu je dána tím, že příslušný klíč je znám pouze oprávněným stranám

Bloková šifra

  • symetrická záměnná šifra zpracovávající data po skupinách znaků (blocích)

  • standardní velikosti bloku jsou 64 a 128 binárních znaků

  • typickým představitelem jsou

    • DES (Data Encryption Standard)

    • AES (Advance Encryption Standard)

  • způsoby provozování šifry

    • ECB (Electronic CodeBook mode)

      • stejné bloky textu 

        • při stejném klíči produkují stejný text

      • vliv řetězení

        • bloky jsou šifrovány nezávisle na ostatních blocích. přeskupení bloků ŠT znamená přeskupení OT

      • šíření chyb

        • chyby naruší pouze jeden blok textu

    • CBC (Cipher Block Chaining Mode)

      • identické otevřené texty

        • stejné OT šifrované se stejným klíčem dávají stejné bloky ŠT

        • změnou posledního klíče nebo prvého bloku OT získáme odlišný ŠT

      • vliv řetězení

        • ŠT je závislé na předchozích blocích OT

      • šíření chyb

        • ojedinělý chybný bit ovlivní dešifrování bloku

        • dešifrovaný OT bude obsahovat chyby na stejných místech jako ŠT, toho může narušitel využít

      • zotavení z chyb

        • schopnost samo-synchronizace, výskyt chyby neovlivní zbytek šifry

    • CFB (Cipher FeedBack Mode)

    • OFB (Output FeedBack Mode)

Proudová šifra

  • zpracovává vstupní data znak po znaku (proud)

  • používaná u linkových šifrátorů, zpracovává přicházející znaky a není možné čekat na celou zprávu

  • malá propagace chyby oproti blokovým šifrám, chyba se projeví na jednom znaku, nikoli na celém bloku znaků

  • typickým představitelem jsou heslové šifry RC4, A5

  • RC4

    • šifra navržená 1987

    • Náhodný tajný klíč, vždy nově náhodně generovaný

    • klíč se dopraví příjemci pomocí nějaké asymetrické metody

    • popis nebyl publikován, i když je znám. byl zveřejněn hackerem dissassemblingem z programu BSAFE

    • použitá v S/MIME, SSL, WEP, WPA a TLS

    • možnost volit délku klíče 1-256 bytů

    • důvod úspěchu je široký rozsah použitelnosti, rychlost a jednoduchost

  • A5

    • používá se k šifrování GSM hovorů

    • klíč je uložen na SIM telefonu

Algoritmus DES

  • Data Encryption Standard

  • DES ukončil platnost 1987, dnes se používá 3-DES (od 1981)

  • veřejně dostupný 

  • Feistelova šifra o 

    • 16 rundách, 

    • délkou klíče 56 bitů

    • délkou bloku 64 bitů

  • Operace šifrování

    • vstupní blok 64 bitů je značen P

    • Krok 1: vstupní blok P je permutován operací IP

    • Krok 2: Po permutaci se aplikuje 16 Feistelových run, značených f. Pro každou funkci rundy je použit jiný 48 bit klíč.

    • Krok 3: Po 16 rundách se aplikuje inverzní permutace značená IP-1

    • Krok 3 produkuje výstupní šifrový blok


 

Algoritmus AES

  • 1997 NIST vypsalo výběrové řízení AES

  • 2001 AES se stává oficiálním jako FIPS (Federal Information Processing Standard Publication)

  • AES je iterovaná bloková šifra s různou délkou bloku a různou délkou klíče (128, 192, 256 bitů)

  • Charakteristika AES

    • substitučně-lineární systém

    • počet rund závislých na délce klíče (10, 12, 14)

    • funkce rundy

      • S-BOX

      • lineární operace

      • přidání klíče

  • Navržen tak, že každá runda se skládá ze tří různých invertibilních uniformních transformací nazývaných vrstvy

  • Vrstvy

    • lineární

      • garantuje vysokou úroveň difuze

    • nelineární

      • paralelní aplikace S-BOXů

    • přidání klíče

      • XOR klíče rundy s momentálním stavem

  • Před první rundou je aplikována vrstva přidání klíče (aby nebylo možné odstranit jednoduše zbylé dvě vrstvy první rundy)

  • Lineární vrstva poslední rundy je odlišná proto, aby proces šifrování a dešifrování měl obdobnou strukturu


 

ByteSub transformace  

  • nelineární substituce bytů

  • prováděna na každém bytu Stavu nezávisle

  • S-Box (substituční tabulka)

    • invertibilní

    • zkonstruována složením dvou transformací:

      • na každý byte je aplikována multiplikativní inverze

      • na každý byte je aplikována afinní transformace

ShiftColumn
 

    • cyklický posun nad řádky Stavu

MixRow
 

    • transformace sloupců na polynom


 

Šifrování AES

AES se skládá z

  • počátečního přidání klíče

  • Nr-1 rund

  • kocové rundy

Expanzi klíče přitom lze provést před vlastním šifrováním.

Expandovaný klíč by měl být vždy odvozen od šifrovacího klíče, nikoli specifikován přímo.