„Advanced Encryption Standard” változatai közötti eltérés

[ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló
Tanuljuk már meg a helyesírást! Az összetett szavakat még nem is néztem! Vagy nem is tudod mi az?
23. sor:
Az AES-t 2001. november 26-án, az [[Amerikai Egyesült Államok szabadalmi hivatala]], a NIST hozta nyilvánosságra a U.S. [[Federal Information Processing Standard|FIPS]] PUB 197 (FIPS 197) jelzéssel ellátott dokumentumban.<ref name="fips-197" /> Ezt egy 5 éves kiválasztási folyamat előzte meg, amely során 15 módszer közül választották ki a végül elfogadott Rijndael titkosítást<!-- (További információkért lásd: [[:en:Advanced Encryption Standard process|Advanced Encryption Standard process]] (angol nyelvű)) cikken belül ilyen hivatkozást általában nem teszünk-->. 2002-ben az amerikai kormány első számú módszerévé vált. Az AES az ISO/IEC 18033-3 szabvány része. Az eljárás elérhető a legtöbb titkosítással foglalkozó szoftverben. Ez volt az első olyan széles körben nyilvánosságra hozott módszer, amit az amerikai [[National Security Agency]] (NSA) elfogadott mint titkos információk titkosítására használható eljárást.
 
A ''Rijndael'' név a készítők (Joan Daemen és Vincent Rijmen) nevének összevonása. Hivatalosan AES-nek csak a Rijndael kódolás azon változatát tekinthetjük, ahol a blokkméret 128 bit128bit.
 
== A titkosítás leírása ==
Az AES a Rijndael kódolás olyan változata, ahol a blokkméret szigorúan 128 bit128bit, a kulcs pedig 128, 192, vagy 256 bit256bit. Összehasonlításként a Rijndael kódolásban a blokkméret és a kulcsméret is lehet 32 bit32bit tetszőleges többszöröse azzal a kikötéssel, hogy mind a kulcs, mind a blokkméret minimum 128 és maximum 256 bit256bit lehet.
 
Az AES 4x4-es mátrixokat{{jegyzet|A mátrixokat a bemenetből úgy építik fel, hogy veszik az első 4 bájtot, ez lesz a mátrix első oszlopa, és így tovább, míg a mátrix el nem készül.}} használ a titkosítás során, habár más blokkméret esetén más a mátrix mérete is.
32. sor:
A kulcsméret meghatározza, hogy a bemeneti információt hány átalakítási ciklus éri, míg eléri a „végleges” titkosított állapotát. A titkosítási ciklusok száma a következőképpen alakul:
 
* 10 ciklus 128 bites128bit-es kulcs esetén.
* 12 ciklus 192 bites192bit-es kulcs esetén.
* 14 ciklus 256 bites256bit-es kulcs esetén.
 
Minden ciklus számos lépést foglal magába, ezek között van az a lépés is, ami kulcs alapján módosítja a mátrixot. A visszaalakítás során ugyanennyi ellentétes ciklust hajtanak végre a kulcs segítségével.
55. sor:
=== A <tt>SubBytes</tt> lépés ===
[[Fájl:AES-SubBytes.svg|right|320px|thumbnail|A <tt>SubBytes</tt> szakaszban, minden bájtot lecserélnek egy helyettesítési kódolással, ''S''; ''b<sub>ij</sub>'' = ''S(a<sub>ij</sub>)''.]]
Ebben a lépésben, minden bájtot a ''state'' mátrixban lecserélnek egy 8 bites8bites [[Helyettesítő rejtjel|helyettesítési tábla]], a [[Rijndael S-box]] segítségével. Ez a művelet biztosítja, hogy a szöveg nemlineáris lesz a kódolási szakaszban. Hogy az egyszerű algebrai tulajdonságokra támaszkodó támadásokat kiküszöböljék az S-boxot egy Galois [[Test (algebra)|test]](2^8) multiplikatív inverzének és egy [[affin transzformáció]] segítségével készítik.
 
=== A <tt>ShiftRows</tt> lépés ===
[[Fájl:AES-ShiftRows.svg|right|320px|thumbnail|A <tt>ShiftRows</tt> lépésben, a state mátrix sorait körkörösen eltolják balra. Az eltolás nagysága minden sorban különböző.]]
A <tt>ShiftRows</tt> lépés a mátrix sorait módosítja, körkörös eltolással. Minden sort egy meghatározott, de soronként különböző mértékben eltolják. Az AES-ben az első sor változatlan marad ebben a lépésben. A második sor minden bájtját egyszeresen tolják balra. Hasonlóan, a harmadik és a negyedik sort 2 illetve 3 bájttal3bájt-tal tolják balra. 128 és 192 bites192bit-es blokkokban az eltolás megegyezik. Az n. sort n-1 bájttal tolják el. Így minden oszlop a <tt>ShiftRows</tt> lépés után csak azokból a bájtokból áll amiket a transzformáció elött is tartalmazott az adott sor.(Nagyobb Rijndael blokkméret esetén az eltolás más módszerrel történik). 256 bites256bit-es blokkméret esetében az első sor változatlan marad, míg a 2., 3., 4., esetében az eltolás 1 bájt1bájt, 3 bájt3bájt és 4 bájt4bájt. Ez a módszer csak 256 blokkméret esetében alkalmazandó. Emlékeztetőül az AES nem támogatja a 256 blokkméretet.
 
=== A <tt>MixColumns</tt> lépés ===
[[Fájl:AES-MixColumns.svg|right|320px|thumbnail|A <tt>MixColumns</tt> lépésben, minden oszlopot a mátrixban megszoroznak egy meghatározott polinommal ''c(x)''-el.]]
A <tt>MixColumns</tt> lépésben, minden oszlop 4 bájtját4bájt-ját módosítják egy nem invertálható lineáris transzformáció szerint. A <tt>MixColumns</tt> lépésben a bemeneti információ a 4 bájt4bájt a kimenet pedig 4 bájt4bájt ahol bármely bájt megváltozása a bemenetben a teljes kimenetet megváltoztatja. A <tt>ShiftRows</tt> és a <tt>MixColumns</tt> lépések együtt biztosítják a véletlennek látszó kimenetet.
 
Ez alatt a lépés alatt minden oszlop megszorzásra kerül egy előre meghatározott mátrixxal, ami 128 bites128bit-es kulcs esetén:
 
::<math>
86. sor:
<blockquote>Az AES szerkezete és erőssége minden kulcshossz mellett(pld: 128, 192 és 256 bites kulcsokkal) megfelelő a titkos információk védelméhez, a "SECRET" kategóriáig. A "TOP SECRET" kategóriájú információkhoz 192 vagy 256-os kulcshosszra van szükség. Azok a programok amiknek az a célja, hogy titkos információkat és/vagy rendszereket védjenek az AES segítségével át kell esniük egy átvilágításon az [[NSA]]-nál.<ref>{{cite web|url=http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf |title=National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information |author=Lynn Hathaway |date=June 2003 |format=PDF |accessdate=2011-02-15}}</ref></blockquote>
 
Az AES 128 bites128bit-es kulcs esetén 10 ciklusból áll 192 bites192bit-es kulcs esetén 12 ciklusból áll és 256 bites256bit-es kulcs esetén 14 ciklusból. 2006-ban a legjobb ismert támadások a 7 ciklusos 128 bites128bit-es, 8 ciklusos 192 bites192bit-es, és a 9 ciklusos 256 bites256bit-es titkosítást támadták.<ref name=improved>[[John Kelsey (cryptanalyst)|John Kelsey]], [[Stefan Lucks]], [[Bruce Schneier]], [[Mike Stay]], [[David A. Wagner|David Wagner]], and [[Doug Whiting]], ''Improved Cryptanalysis of Rijndael'', [[Fast Software Encryption]], 2000 pp 213–230 [http://www.schneier.com/paper-rijndael.html]</ref>
 
=== Ismert támadások ===
A kriptográfusok a "kriptográfiai törésen" egy olyan eljárást értenek ami gyorsabb mint a [[Brute force-támadás|brute force]], vagyis gyorsabb mint kipróbálni minden lehetséges kulcsot. Ebbe a meghatározásba beletartoznak olyan a brute force-nál jobb eljárások is amik a gyakorlatban nem valósíthatóak meg a jelenlegi technológiával. 2006-ban a legnagyobb sikeres brute force-os törés ami nyilvánosságra került, bármilyen block alapú titkosítással szemben egy 64 bites64bit-es RC5-ös feltörése.<ref name="ZD20060430">{{cite web
| url = http://www.zdnet.com/blog/ou/is-encryption-really-crackable/204
| title = Is encryption really crackable?
123. sor:
|date=2009-07-01
|work=Schneier on Security, A blog covering security and security technology
|accessdate=2010-03-11| archiveurl= http://web.archive.org/web/20100208155652/http://www.schneier.com/blog/archives/2009/07/new_attack_on_a.html| archivedate= 8 February 2010 <!--DASHBot-->| deadurl= no}}</ref> egy támadási módról ami a 192 bites192bit-es és a 256 bites256bit-es verziókat érintette, és amit [[Alex Biryukov]] és Dmitry Khovratovich,<ref>{{cite web
|url=http://eprint.iacr.org/2009/317
|title=Related-key Cryptanalysis of the Full AES-192 and AES-256