11. Princip algoritmu AES

Princip algoritmu AES


Prošli jsme si všechny operace, které potřebujeme pro zašifrování dle tohoto kryptografického systému.

Shrňme si, co víme, co potřebujeme, a co budeme mít k dispozici pro použití::

šipka

- vstupem do algoritmu je:

  • otevřený 128 bitový text, který je rozdělen na 16 bytů a ty umístěny po sloupcích do matice obr. 1

Obr. 1  AES - matice otevřeného textu      

    

  • klíč (hlavní) obr. 2

Obr. 2  AES - matice klíče       


šipka - z hlavního, nám známého klíče, je potřeba expanzí vytvořit subklíče- operace, které probíhají, jsou:

  1. operace, kdy se k matici 128 bitového textu přičte matice uspořádaná z bytů hlavního klíče
  2. operace SubByte - každý byte je substituován obr. 3
  3. operace ShiftRow - substituovaná matice je zrotována obr. 4
  4. operace MixColumns - zrotovaná matice je poté vynásobena mixovací maticí
  5. operace AddRoundKey - přičtení odvozeného klíče, který je pro každou rundu jiný. (Sčítání matice s maticí bylo již ukázáno v předchozím cvičení)

      Obr. 3  AES_ operace SubBytes

       

       Obr. 4  AES - operace ShiftRow      

 šipka - při operacích používáme předem dané prvky

  • expanzi subklíčů
  • substituční tabulku (někdy také Rijndaelův S-box)
  • mixovací matici
  • přičtení klíče k transponované matici

Takto probíhá deset iterací, přičemž v poslední iteraci se vynechává operace MixColumns.

Schéma jedné iterace lze vidět zde obr. 5.

Obr. 5  AES - schéma jedné rundy




Dešifrování AES

Dešifrování tohoto systému probíhá opět opačným způsobem než kryptografie, při znalosti klíče.

Ke všem operacím, které jsou použité pro šifrování, existují jejich inverzní dvojice, které jsou nedílnou součástí dešifrovacího algoritmu.

K SubByte - InvSubByte; ShiftRow - InvShiftRow; MixColumns - InvMixColumns. Klíče se poté přičítají ve stejném místě, ale v opačném pořadí než při šifrování. Principielně je postup stejný jako jsme si ho ukazovali u algoritmu DES - vzpomínáte?


Kryptoanalýza, útoky a prolomení

Pokud ovšem neznáme klíč, a chceme se k takto zašifrovaným informacím dostat, máme prozatím smůlu.


Jeden z nejvýznamnějších pokusů o útok předpokládá, že lze problém nalezení klíče vyřešit převodem na kvadratické rovnice - těch by bylo kolem 8000, a bylo by potřeba vypočítat přibližně 1600 proměnných.

Dokážete si to představit?


Žádný z útoků, který byl realizován, zatím nepotvrdil, že by tento kryptosystém byl prolomen. O šifře můžeme říci, že je bezpečná, je odolná vůči útoku hrubou silou. Jediné, čeho je možné se obávat, je vývoj kvantových počítačů, které by mohly šifru prolomit.


Slabinou je zde - jako u všech symetrický algoritmů - stejný klíč a jeho transport.


Shrnutí

Ukázali jsme si princip jednoho z dalších symetrických algoritmů, kterým je AES. Přiblížili jsme si jeho konstrukci, generování klíčů i jednotlivé iterace. Dále jsme si řekli, jak vypadá deširování při znalosti klíče, a jak je prozatím nemožné AES „obejít“, pokud klíč nemáme.


Zdroje

DOSTÁLEK, Libor a Marta VOHNOUTOVÁ. Velký průvodce infrastrukturou PKI a technologií elektronického podpisu. vyd. 1. Brno: Computer Press, 2006, 534 s. ISBN 80-251-0828-7.

JIROUŠEK, Radim. Principy digitální komunikace. Vyd. 1. Voznice: Leda, 2006, 309 s. ISBN 80-733-5084-X.