AES

AES (Advanced Encryption Standard) është algoritëm që përdoret për enkriptim elektronik të të dhënave i krijuar nga NIST (U.S. National Institute of Standards and Technology) në vitin 2001. Ky algoritëm është krijuar si zëvendësim i algoritmit DES, dhe është implementuar në qeverinë e Shteteve të Bashkuara të Amerikës, dhe përdoret në gjithë globin. Është krijuar përmes algoritmit Rijndael nga Joan Daemen and Vincent Rijmen. AES përmbanë algoritmin Rijndael me bllok me madhësi 128 bitshe, me çelës 128/192/256 bitësh. AES operon me matricë 4x4 .

i_kornizuar|AES skema e përgjithësuar

Varësisht nga gjatësia e çelësit ndryshon edhe numri i cikleve apo roundeve:

Çelësi 128 bit ka 10 raunde
Çelësi 192 bit ka 12 raunde
Çelësi 256 bit ka 14 raunde

AES-i përbëhet nga të ashtuquajturat shtresa. Secila shtresë manipulon me 128 bitët e të dhënave. Kemi 3 shtresa:

Shtresa ku shtohet çelësi
Shtresa e S-Box
Shtresa e difuzionit

Enkriptimi
Key Schedule

Përmes këtij plani merret çelësi kryesor dhe derivohen nënçelësat (subkey) prej tij për tu përdorur në AES. Te AES-i, një shtim XOR i subkey bëhet në hyrje dhe në dalje. Ky proces njihet si key whitening. Numri i çelësave është sa numri i raundeve +1 , për shkak të procesit key whitening (sepse para nisjes së raundit të parë shtohet XOR me një çelës). Derivimi i çelësave bëhet në mënyrë rekurzive ashtu që për të fituar çelësin Ki duhet të dijmë çelësin Ki-1. AES key schedule është e orientuar në fjalë, ku një fjalë = 32bit.
Ekzistojnë plane të ndryshme për çelësat 128,192,256 bit.

Shtresa ku shtohet çelësi

Një subkey 128 bitësh derivohet nga çelësi kryesor përmes një plani (Rijndael's key schedule) ku gjatësia e çelësit është sa e gjendjes (state).
Pastaj secili byte i këtij çelësi kombinohet me byte-in përkatës të gjendjes përmes veprimit  Bitwise OR (XOR) ⊕.
parapamje|majtas

Shtresa e S-Box

Secili element (byte) ai,j nga matrica e gjendjes transformohet në S(ai,j ) duke u bazuar në tabela me veprime speciale matematikore.
S(ai,j)⊕ai,j≠0xFF dhe S(ai,j)≠ai,j
parapamje|majtas
Shtresa e parë e manipulmit të AES është Byte Subtitution layer. Kjo shtresë mund të paramendohet sikurse 16 S-Box-a paralele ku secila ka 8 bit në hyrje dhe 8 bit në dalje (për dallim nga DES-i ku janë përdorur 8 S-Box-a të ndryshëm). Në këtë shtresë secili byte  Ai zëvendësohet me një byte Bi (S(Ai) = Bi), ku S(Ai)+ S(Bi)≠ S(Ai+Bi). Secili nga 28=256 elementet hyrëse planifikohet me një element në dalje duke e bërë kështu S-Box-in
reverzibil që nevojitet për dekriptim.

Shtresa e difuzionit

Zhvendosja e rreshtave

Rreshti i parë mbetet i pa ndryshuar, kurse rreshti 2 zhvendoset për një majtas, rreshti 3 për dy , reshti 4 për tre. 
Kështu për bllok me gjatësi 128/192 bit rreshti i fundit zhvendoset për n-1, kurse për bllok 256 bit reshtat 2,3,4 zhvendosen për 1,3,4 sipas rijndael cipher.
parapamje|majtas

Zhvendosja e kolonave
parapamje|majtas

Në këtë fazë 4 byte të secilës kolonë kombinohen përmes transformimeve të pakthyeshme. Ky funksion merr 4 byte në hyrje dhe kthen 4 byte në dalje. Gjatë këtij operacioni secila kolonë shumëzohet me matricë fikse :
frameles|majtas
Shumëzimi me 1 – nuk ka ndryshim
Shumëzimi me 2 – zhvendose majtas
Shumëzimi me 3 – zhvendose majtas dhe XOR me një vlerë të pa zhvendosur.
Nëse pas zhvendosjes vlera e tejkalon 0xFF atëherë vlera XOR me 0x1B.

Dekriptimi
Tek AES-i çdo shtresë është e kthyeshme (invertibile). Këtu shtresat inverze janë të ngjajshme me ato enkriptuese. 
Këtu operacionet janë të ngjajshme vetëm se plani i çelësit (Subkey Schedule) duhet të jetë i kundërt (revers) pasi që 
radhitja e nënçelësave është e kundërt. Dihet që veprimi XOR është inverz.

Zhvendosja inverse e kolonave

Këtu kemi shumëzim me matricën inverze
frameles|majtas

Zhvendosja inverse e rreshtave

Këtu kemi zhvendosje në drejtim të kundërt. Rreshti 1 nuk pëson ndryshim, kurse rreshti 2 zhvendoset për një djathtas,
rreshti 3 për dy djathtas, rreshti 4 për 3 djathtas
frameles|majtas

S-Boxat inverse

Pasi që AES-i ka S-Box-a bijektiv, kemi S-Box inverz : Ai=S-1(Bi)=S-1(S(Ai)).
Decryption Key Schedule

Këtu në round të parë përdoret subkey i fundit, në raundin e dytë përdoret subkey i parafundit e kështu me radhë.

Performanca
AES-i përdoret në paisje të ndryshme ,nga smart kartelat 8 bitëshe deri te kompjuterët e performancave të larta.
Në  Pentium Pro, AES-i enkripton 11 MB/s për një procesor me shpejtësi 200 MHz. Në një Pentium M1.7 GHz enkripton 60 MB/s. 

Ndërkaq në procesorin Intel Core i3/i5/i7 enkripton 700 MB/s për thread.

 AES dhe rëndësia e tij 
AES (Advanced Encryption Standard) është një algoritëm enkriptimi simetrik i miratuar nga qeveria amerikane. 

Standardi përfshin tri bllok shifra: AES-128, AES-192 dhe AES-256, i miratuar nga një koleksion i madh i botuar fillimisht si Rijndael,
versionet e tij janë :

10 cikle për 128 bit çelësa,

12 cikle për 192 bit çelësa dhe

14 cikle për çelësat 256 bit.

Rëndësia dhe forca e gjithë AES algoritmit qëndron ne faktin se (128, 192 dhe 256) janë të mjaftueshme për t'i mbrojtur informatat e klasifikuara deri në nivelin sekret.

AES është i bazuar në një parim të projektimit të njohur si një rrjet "Ndërrim Zëvendësimi" .

Ai është i shpejtë si në Software ashtu edhe në Hardware.

Ndryshe nga DES-i, AES nuk përdor FEISTEL NETWORK.

AES vepron mbi një matricë 4 × 4 bytes. Me AES llogaritjet janë bërë në një fushë të veçantë të fundme.

AES është shifër e specifikuar si një numër i raundeve të përsëritur që konverton plaintext në ciphertext. Çdo raund përbëhet nga disa hapa të përpunimit, duke përfshirë një që varet nga enkriptimi kyç.

Një raund i grupit të kundërt janë aplikuar për të transformuar ciphertextin në plaintext origjinal duke përdorur të njëjtin enkriptim kyç.

 Siguria e AES-it 
Siguria e AES-it po qëndron në atë se si të mbrojmë dhe të ofrojmë një siguri më të madhe kundër sulmeve që njihen si:
Informatika Kuantike". Shumica e çelësave simetrik në përdorim të përbashkët janë të dizajnuar që të kenë siguri të barabartë me gjatësinë e tyre kryesore.

Siguria e AES- Algoritmit qëndron në disa tipare, ku në kuadër të të cilave hynë:

Madhësia kryesore e sistemit të enkriptimit
Gjatësia kyçe e algoritmeve simetrike.
Gjatësia kyçe e algoritmeve josimetrike.
Efekti i sulmeve në informatiken kuantike etj.

 Referime 
 Nicolas Courtois, Josef Pieprzyk, "Cryptanalysis of Block Ciphers with Overdefined Systems of Equations". pp267–287, ASIACRYPT 2002.
 Joan Daemen, Vincent Rijmen, "The Design of Rijndael: AES - The Advanced Encryption Standard." Springer, 2002. ISBN 3-540-42580-2.
 Christof Paar, Jan Pelzl, "The Advanced Encryption Standard", Chapter 4 of "Understanding Cryptography, A Textbook for Students and Practitioners". Springer, 2009

Kategoria:Programim kompjuterik
Kategoria:Siguria informatike