share: true
aliases:
- AES
- Šifra AES
Šifra AES
- ! Není feistelovského typu
- Bloková šifra
- Blok délky 128b, tím se odlišuje od předchozích blokových šifer, které měly blok 64b
- Podporuje 3 délky klíče
- 128b (10 rund)
- 192b (12 rund)
- 256b (14 rund)
- Nemá slabé klíče, je odolný proti známým útokům a metodám lineární a diferenciální kryptoanalýzy
Počítání
-
Pracuje s prvky Galoisova tělesa a s polynomy, jejichž koeficienty jsou prvky z
-
Bajt s bity je zde chápán jako polynom
-
Operace "násobení bitů" odpovídá násobení těchto polynomů modulo
-
Velice výhodné na počítání a hardware, protože přenosy do vyšších řádů neexistují, a stačí jen XOR a modulo
-
Pokud dojde k přetečení, redukuje se to tím ireducibilním polynomem
Operace
- Využívá rundovních 128b klíčů
- (Ze staré přednášky: Využívá rundovních 32b klíčů)
- = počet rund (tedy 10, 12 nebo 14)
- = délka klíče jako počet 32b slov (tedy 4, 6, 8 pro klíče délek 128, 192, 256)
SubBytes
- ! Jedinou nelineární operací, která slouží jako bariéra pro provedení kryptoanalýzy
- Na počátku každé rundy se vždy vstup (16B) naplní postupně zleva doprava a shora dolů po sloupcích do matice 4×4 bajty
-
- Na každý bajt matice se zvlášť aplikuje substituce daná pevnou tabulkou SubBytes
ShiftRows
- Řádky matice se cyklicky posunou postupně o 0 až 3 bajty doleva
-
- řádek se posune o 0B
-
- řádek se posune o 1B
-
- řádek se posune o 2B
-
- řádek se posune o 3B
- Takto dochází k transpozici na úrovni bajtů
MixColumns
- Na každý sloupec matice se aplikuje operace MixColumns
- Substituce 32b na 32b
- Prakticky přenásobení nějakou maticí, označme bajty ze sloupce matice jako

- Neprovádí se v poslední rundě!
AddRoundKey
- Transformace, v níž se na sloupce matice zleva doprava naXORuje odpovídající rundovní klíč (4 x 32 bitů)
Princip
- Pro dešifrování se používají inverzní operace, tedy opravdu to není feistel
- V každé rundě se používá rundovní klíč, který se přičítává k těm 128 prostupujícím bitům
Vytvořeno: 7. 8. 2024, 13:25
Poslední aktualizace: 7. 8. 2024, 13:25