Advanced Encryption Standard

AES összefoglaló
Tervező (k) Joan Daemen , Vincent Rijmen
Első kiadvány 2000
Származó Rijndael , tér
Titkosítás (ok) ezen algoritmus alapján Nem
Jellemzők
Blokk mérete (i) 128 bit
Kulcs (ok) 128, 192, 256 bit
Szerkezet Helyettesítési / permutációs hálózat
Fordulatok száma 10, 12 vagy 14 a kulcs méretétől függően

Jobb kriptanalízis

A kapcsolódó kulcstámadás az AES-256 9 fordulatát megszakítja. Egy kiválasztott tiszta szöveges támadás az AES-192 és a 256 8 fordulatot, vagy az AES-128 7 fordulatát szakítja meg (Ferguson és mtsai, 2000).

Az Advanced Encryption Standard vagy azAES(litt."Standardencryptionadvanced"), más névenRijndael,aszimmetrikus titkosításalgoritmusa. 2000októberében megnyerteaNISTáltal 1997-ben indítottAES versenyt,ésazEgyesült Államokkormányzati szervezeteinekújtitkosításiszabványávávált. ANemzetbiztonsági Ügynökség (NSA)jóváhagytaa kriptográfiai algoritmusokB csomagjában. Jelenleg a legszélesebb körben használt és a legbiztonságosabb .

Eredet

Ez egy 1997 januárjában indított és 15 pályázat érkezett nemzetközi pályázati felhívás eredménye . E 15 algoritmus közül 5-öt választottak további értékelésre 1999 áprilisában  : MARS , RC6 , Rijndael , Serpent és Twofish . Ezen értékelés végén végül a Rijndael jelöltet választották meg , akit két tervezőjéről, Joan Daemenről és Vincent Rijmenről (mindkettő belga állampolgárságú) neveztek el. Ez a két kriptográfiai szakértő már egy másik algoritmus szerzője volt: a Square . Az AES a Rijndael részhalmaza : csak 128 bites blokkokkal működik, míg a Rijndael olyan blokk- és kulcsméreteket kínál, amelyek 32-szeresei (128 és 256 bit között vannak).

Ennek során az AES helyettesíti a DES-t (amelyet az 1970-es években választottak standardnak ), amely napjainkra már elavulttá vált, mert csak 56 bites kulcsokat használt . Az AES-t a NIST (Nemzeti Szabványügyi és Technológiai Intézet ) fogadta el 2001-ben. Ezenkívül használata nagyon praktikus, mivel kevés memóriát fogyaszt, és nem Feistel-sémán alapszik , összetettsége alacsonyabb, és könnyebben megvalósítható .

Művelet

Az algoritmus bemenetként egy 128 bites (16 bájtos ) blokkot vesz fel , a kulcs 128, 192 vagy 256 bites. A 16 bemeneti bájtot egy korábban definiált táblázat szerint cseréljük fel. Ezeket a bájtokat ezután 4x4 elemek tömbjébe helyezzük, és sorait jobbra forgatjuk. A forgatás növekménye a sorszámtól függően változik. Ezután egy lineáris transzformációt alkalmaznak a mátrixon, amely a mátrix egyes elemeinek bináris szorzatából áll egy segédmátrixból származó polinomokkal , ezt a szorzást a GF (2 8 ) szerint speciális szabályoknak vetik alá ( Galois-csoport vagy véges test ). A lineáris transzformáció jobb diffúziót (a struktúrában lévő bitek terjedését) garantál több fordulaton keresztül.

Végül egy exkluzív OR XOR a mátrix és egy másik mátrix között lehetővé teszi egy köztes mátrix megszerzését . Ezeket a különböző műveleteket többször megismétlik, és meghatározzák a "túrát". 128, 192 vagy 256 kulcs esetén az AES 10, 12 vagy 14 fordulatot igényel.

Különbség Rijndael és AES között

Az egyetlen különbség az AES és a Rijndael között a blokkhosszak és a kulcsméret együttese. A Rijndael egy változó blokkhosszú és kulcshosszú titkosító blokk. A blokk hossza és a kulcs hossza egymástól függetlenül megadható a 32 bit bármelyikének többszöröseként, minimum 128 bit és maximum 256 bit. Lehetséges lenne meghatározni a Rijndael verzióit akár a blokkhosszal, akár a kulcshosszal, de úgy tűnik, hogy ez jelenleg nem szükséges.

Az AES a blokk hosszát 128 bitre állítja, és csak a 128, 192 vagy 256 bit kulcshosszakat támogatja. A Rijndael további blokk- és kulcshosszait nem értékelik az AES kiválasztási folyamat részeként, ezért a jelenlegi FIPS-szabvány nem fogadja el őket.

Algoritmus

Magas szintű algoritmus a Rijndael segítségével történő titkosításhoz:

procedure Rijndael(State,Cipherkey) KeyExpansion(CipherKey,ExpandedKey) AddRoundKey(State,ExpandedKey[0]) for i = 1 to Nr 1 do Round(State,ExpandedKey[i]) end for FinalRound(State,ExpandedKey[Nr]) end procedure

Rijndael átalakulási tornyai:

procedure Round(State,ExpandedKey[i]) SubBytes(State); ShiftRows(State); MixColumns(State); AddRoundKey(State,ExpandedKey[i]); end procedure procedure FinalRound(State,ExpandedKey[Nr]) SubBytes(State); ShiftRows(State); AddRoundKey(State,ExpandedKey[Nr]); end procedure

Támadások

A Rijndaelt úgy tervezték, hogy ellenálljon a klasszikus módszereknek, különösen a lineáris kriptanalízisnek és a differenciális kriptanalízisnek . Az AES fordulatok számát a kulcs méretének megfelelően számítják ki, hogy ez a két támadás (lineáris és differenciális) ne legyen hatékonyabb, mint egy durva erő támadása.

Az AES-t még elméletileg sem bontották meg még abban az értelemben, hogy a titkosítás helyes használata esetén nincs a kimerítő kutatásnál lényegesen hatékonyabb támadás .

Támadások az egyszerűsített változatok ellen

Támadások vannak az AES egyszerűsített verzióin. Niels Ferguson és csapata 2000-ben támadást javasolt a 128 bites AES 7 körös változata ellen . Egy hasonló támadás megtör egy 192 vagy 256 bites AES-t, amely 8 fordulatot tartalmaz. A 256 bites AES megtörhető, ha további korlátozással 9 fordulatra csökken. Valójában ez az utolsó támadás a „kapcsolódó kulcsok” elvén alapszik. Egy ilyen támadásban a kulcs titkos marad, de a támadó tetszés szerint megadhatja a kulcs átalakításait és titkosíthatja a szövegeket. Így kissé megváltoztathatja a kulcsot, és figyelheti az AES kimenet viselkedését.

Támadások a teljes verzió ellen

Az AES algebrai egyszerűségét potenciális gyengeségként például 2001-ben Niels Ferguson emelte ki. Kihasználni azonban eddig nem sikerült. 2002-ben Nicolas Courtois és Josef Pieprzyk bemutattak egy elméleti algebrai támadást, az XSL-támadást , amely szerintük hatékonyabb volt, mint a durva erő támadása, de ezt későbbi munka érvénytelenítette.

2011-ben a Microsoft kutatói támadást tettek közzé az AES teljes verziója ellen. Ez a támadás lehetővé teszi az AES-128 kulcsának megtalálását a műveletek során ( egy durva erő elleni támadás ellen, amely majdnem négyszer gyorsabb, mint az utóbbi). Ugyanez a támadás vonatkozik az AES-128 egyszerűsített (nyolcfordulós) verziójára, ezzel csökkentve a támadás összetettségét . Ez a támadás, amelynek alapja a támadás középső találkozás általi javítása , továbbra is kivitelezhetetlen.

NSA ajánlások

Az amerikai kormány 2003 júniusában jelentette be az AES algoritmust (egy NSA elemzés nyomán ):

„Az AES algoritmus összes kulcsméretének architektúrája és hossza (128, 192 és 256) elegendő a„ SECRET ”szintig besorolt ​​dokumentumok védelméhez. A „TOP SECRET” szinthez 192 vagy 256 bites kulcs szükséges. Az AES bevezetését a nemzetbiztonsággal kapcsolatos rendszerek és / vagy dokumentumok védelmére szánt termékekben az NSA-nak elemeznie és tanúsítania kell azok megszerzése és használata előtt. ”

- az eredeti feladás (6) bekezdése

Segédcsatorna támadások

Az oldalsó csatorna támadása a titkosítási algoritmust megvalósító rendszer gyengeségeit kihasználva, ezért nem közvetlenül szándékozik. Számos ilyen típusú támadás ismert az AES számára.

Ban ben 2005. április, Daniel J. Bernstein egy ideiglenes támadást tett közzé, amelyet az AES kulcs feltörésére használtak egy adott, OpenSSL-t futtató kiszolgálón .

Ban ben 2010. november, Bangerter Endre, David Gullasch és Stephan Krenn cikket tett közzé, amely leírja egy közel valós idejű AES-128 titkos kulcs helyreállítását, amely néhány megvalósításon működik. A korábbi, ilyen típusú támadásokhoz hasonlóan, ehhez is szükség van egy program futtatására a gépen, amely végrehajtja a titkosítást.

Megjegyzések és hivatkozások

(fr) Ez a cikk részben vagy egészben az angol Wikipedia Advanced Encryption Standard  " című cikkéből származik ( lásd a szerzők felsorolását ) .
  1. (a) "  B Suite Suite kriptográfia  "
  2. (in) James Nechvatal Elaine Barker, Lawrence Bassham, William Burr, Morris Dworkin, James Foti, Edward Roback, "  Jelentés a fejlett titkosítási szabvány (AES) fejlesztéséről  " a csrc.nist.gov oldalon , a Nemzeti Szabványügyi Intézet és Technológia ,2000. október 2(megtekintés : 2009. június 8. )
  3. Joan Daemen , Rijndael tervezése: A fejlett titkosítási szabvány (AES) ,2020( ISBN  978-3-662-60769-5 és 3-662-60769-7 , OCLC  1155884098 , online olvasás )
  4. (in) Niels Ferguson, Doug Whiting és Richard Schroeppel (2001) "A egyszerű algebrai képviselete Rijndaei" Kijelölt területek kriptográfiai . P 103-111, Springer Berlin Heidelberg. 
  5. (in) C. Cid, G. Leurent, "  Az XSL algoritmus elemzése  " , LNCS , vol.  3788,2005, P.  333–335 ( DOI  10.1007 / 11593447 , online olvasás [PDF] )
  6. (in) Andrey Bogdanov, Dmitry Khovratovich és Christian Rechberger, "  A teljes AES bicikli kriptanalízise  " ,2011
  7. https://web.archive.org/web/20070927035010/http://www.cnss.gov/Assets/pdf/cnssp_15_fs.pdf

Függelékek

Kapcsolódó cikkek

Külső linkek

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">