Operační módy blokových šifer

  • U moderních blokových šifer chápeme jako znaky bajty, i když se délka bloku uvádí v bitech
  • Obvykle nebo
  • ECB, CFB, OFB, CBC, CTR, MAC

Mod ECB (Electronic Codebook)

  • Elektronická kódová kniha
  • Vhodná pro krátké zprávy
  • Nemá žádný IV (inicializační vektor)
  • Posloupnost bloků OT se šifruje tak, že každý blok je šifrován zvlášť
  • Nevýhody:
    • Stejné bloky OT mají stejný ŠT (protože nemá IV)
    • Integrita - do ŠT může útočník bloky vkládat/vyjímat

../Attachments/Pasted image 20230321144343.png

Mod CBC (Cipher Block Chaining)

  • Pro rozšíření difúze na více bloků
  • Běžný šifrovaný blok závisí na předchozím bloku
  • (náhodná inicializační hodnota, jeho změna způsobí úplně jiný ŠT, i když by klíč zůstal stejný)
  • Náchylný na "padding oracle attack" (orákulum na doplnění)
  • Dešifrování lze paralelizovat, šifrování ne
  • Samosynchronizace - proces dešifrování je schopen se zotavit a produkovat správný OT už při 2 za sebou jdoucích správných blocích

../Attachments/Pasted image 20230321144549.png

Mod CFB a OFB (Cipher/Output Feedback)

  • Převádí blokovou šifru na proudovou
  • Na dešifrování nepotřebuje inverzní funkce - dešifruji stejně jako jsem šifroval
  • ! Ke zkoušce - "tady v bloku se něco pokazí, jak se to projeví dál?"
  • Heslo je generováno z nějaké Inicializační hodnoty, neberu do hesla žádnou hodnotu ze šifrového textu
  • Bloková šifra se používá jen jednosměrně (tedy není potřeba inverzní ) - výhodné při HW realizaci

CFB

  • Kombinace vlastností CBC a proudové šifry
  • Náhodný IV
  • IV se zašifruje pomocí klíče
  • Zašifrovaný IV se poté XORuje s blokem OT
  • (náhodná inicializační hodnota, jeho změna způsobí úplně jiný ŠT, i když by klíč zůstal stejný)
  • Předchozí zašifrovaný blok ŠT se poté zašifruje a je vstupem do dalšího
  • (Bloková šifra použita v CFB módu se stává asynchronní proudovou šifrou)

../Attachments/Pasted image 20230321145007.png

OFB

  • Náhodný IV
  • IV se zašifruje pomocí klíče
  • Zašifrovaný IV se poté XORuje s blokem OT
  • Předchozí zašifrovaný IV se poté zašifruje a je vstupem do dalšího
  • (Bloková šifra použita v CTR nebo OFB módu se stává synchronní proudovou šifrou)

../Attachments/Pasted image 20230321145119.png

Mod CTR (Counter)

  • Podobný OFB

  • Vstupní vektor, inicializační hodnota

  • Výstupem je heslo, které přičítám (XORuji) pro šifrování nebo dešifrování

  • Výhoda - lze dešifrovat třeba jen určitou část textu

  • V žádných zprávách šifrovaných tímtéž klíčem nesmí dojít k vygenerování stejného bloku hesla vícekrát obsah čítače nesmí být stejný, jinak dvojí použití hesla a rozluštění OT

  • Místo náhodného IV jako v předchozích případech, se použije counter

  • Counter se zašifruje pomocí klíče (vznikne heslo )

  • Zašifrovaný counter se poté XORuje s blokem OT

  • Counter se zvýší o 1 (nebo o nějaké )

  • (Bloková šifra použita v CTR nebo OFB módu se stává synchronní proudovou šifrou)

../Attachments/Pasted image 20230321150002.png

Metoda solení

  • U operačních modů CBC, OFB, CFB, CTR
  • Solení inicializačního vektoru
  • Komunikujícímu protějšku se předá a klíč , ale k šifrování se použije jiný osolený
  • Protějšek musí pro sebe osolený pomocí nějak dopočítat

Mod MAC (Message Authentication Code)

  • Proudové a blokové šifry zajišťují důvěrnost, ne integritu zpráv
  • Řeší zajištění a neporušení dat
  • (autentizuje původ a celistvost zprávy)
  • Krátký kód
  • Výpočet:
    • Zpráva se jakoby šifruje v modu CBC s nulovým
    • Až poslední blok ŠT je použit do MAC kódu, přičemž je možné ho ještě zašifrovat

../Attachments/Pasted image 20230321151122.png

Shrnutí

Mód Počátek Způsob Poznámka XOR
ECB (nic) Jen zašifrování Vhodné pro krátké zprávy Ne
CBC IV Řetězení ŠT ŠT bude IV pro další blok Ano
CFB IV Řetězení ŠT ŠT zašifrovaný je IV pro další blok Ano
OFB IV Řetězení IV IV zašifrovaný je IV pro další blok Ano
CTR Counter Counter++ Counter++ je IV pro další blok Ano
MAC Nulový IV Řetězení ŠT ŠT bude IV pro další blok (jako CBC) Ano

Poznámky

Autentizace

Zajišťuje, že osoba nebo zařízení, s nimiž komunikujeme, jsou to, za co se vydávají. Autentizace ověřuje totožnost uživatele nebo systému, který se snaží získat přístup k datům nebo službám.

Nepopiratelnost

Zajišťuje, že zdroj dat nebo informací nemůže popřít, že zprávu poslal nebo akci provedl. Nepopiratelnost poskytuje důkazy o tom, že určitý uživatel provedl určitou akci, a nelze ji zpochybnit.
Např. u digitálního podpisu - podepisující nesmí mít později možnost popřít, že dokument podepsal.

Důvěrnost

Zajišťuje, že data nejsou přístupná neoprávněným osobám a zůstávají utajena. Důvěrnost zabezpečuje, že data mohou být viděna a používána pouze lidmi, kteří mají oprávnění je vidět a používat.

Integrita

Zajišťuje, že data nebyla narušena a zůstala nedotčena. Integrita chrání data před úpravou nebo poškozením během přenosu nebo ukládání.
Např. u digitálního podpisu - podepsaná zpráva se nedá změnit, aniž by se zneplatnil podpis.

Další materiály


Vytvořeno: 7. 8. 2024, 13:25
Poslední aktualizace: 7. 8. 2024, 13:25