Movatterモバイル変換


[0]ホーム

URL:


Edukira joan
WikipediaEntziklopedia askea
Bilatu

Advanced Encryption Standard

Wikipedia, Entziklopedia askea

Kriptografian,AdvancedEncryptionStandard (AES),Rijndael ere esaten zaiona, blokekako zifraketa eskema bat da,Estatu Batuetako gobernuak zifraketa estandartzat hartzen duena. Mundu osoan erabiltzea eta sakonki aztertua izatea espero da, bere aurrekariarekin (Data Encryption Standard,DES) gertatu bezala. AES Estandar eta Teknologia InstitutuNazionalak (NIST) iragarri zuen Estatu Batuetako FIPS PUB 197 bezala 2001eko azaroaren 26an, bost urteko estandarizazio prozesu baten ondoren. 2002-ko maiatzaren 26an estandar eraginkor batean bilakatu zen. 2006 geroztik, AESkriptografia simetrikoan erabilitakoalgoritmorik ezagunenetakoa da.

Oinarrizko zifratzailea Joan Daemen eta Vincent Rijmen belgikarrek garatu zuten, biakKatholieke Universiteit Leuven-eko ikasleak, eta AES-en hautespen prozesura bidalia izan zenRijndael izenarekin.

Garapena

[aldatu |aldatu iturburu kodea]

Rijndael Daemen eta Rijmen-en aurreko diseinu baten (Square) hobekuntza bat izan zen.Square bera ereShark-en garapen bat izan zen.

Bere aurrekaria zen DES ez bezala, Rijndael ordezkatze-permutazio sare bat da, ezFeistel-en sare bat. AES bizkorra da bai software bai hardware eremuetan, inplementatzeko erraza da eta memoria gutxi kontsumitzen du. Zifratze estandar berri bezala, gaur egun eskala handian erabiltzen ari da.

Zifraketaren deskripzioa

[aldatu |aldatu iturburu kodea]
SubBytes pausoanstate-aren byte bakoitza 8 biteko bilaketa-taulan dagokion sarrera batekin ordezkatzen da,S;bij =S(aij).
ShiftRows pausoanstate-aren ilaren byteak ziklikoki ezkerrerantz mugitzen dira. Lerro bakoitzean byte bakoitza desplazatutako toki kopurua desberdina da.
MixColumns pausoanstate-aren zutabeetako bakoitza polinomio konstante (c(x)) batez biderkatzen da.
AddRoundKey pausoan state-aren byte bakoitza azpigakoaren byte batekin konbinatzen daXOR (⊕) eragiketa erabiliz.

Era zorrotz batean esanda, AES ez daRijndael hain zuzen ere (nahiz eta praktikan bereizketarik ez den egiten),Rijndael-ek bloke-tamaina multzo handiagoa baimentzen duelako etagako-luzera handiagoak. AES-ek ordea bloke tamaina finkoa dauka (128bit) eta gakoen tamaina 128, 192 edo 256 bitekoa izan daiteke,Rijndael-en aldiz 32ren multiploa den edozein gako ezarri daiteke, 128 biteko minimo batekin eta 256 biteko maximoarekin.

GakoaRijndael-en gako eskema erabiliz hedatzen da.

AES algoritmoaren kalkuluen gehiengo bat eremu finitu determinatu batean burutzen dira.

4x4 bytekomatrize batean egiten dira algoritmoaren eragiketak, matrize honekstate izena ere hartzen du (bloke tamaina handiagoa dutenRijndael-en bertsio batzuekstate-n zutabe gehiago ere erabiltzen dituzte, matrize handiagoa behar dute).

Zifraketa burutzean, algoritmoaren erronda bakoitzak (azkenak ez ezik) lau pauso jarraitzen ditu:

  1. SubBytes — pauso honetan lineala ez den ordezkapen bat egiten da, zeineanbyte bakoitza beste batengatik ordezkatzen den, bilatze-taula baten arabera.
  2. ShiftRows — pauso honetanstate matrizearen lerroetako bakoitza ziklikoki errotatzen da, aldi kopuru determinatu batean.
  3. MixColumnsstate matrizearen zutabeetan jarduten duen eragiketa da, zutabe bakoitzaren lau byteak konbinatzen ditu transformazio lineal bat erabilita.
  4. AddRoundKeystate matrizearen byte bakoitzaround gakoarekin konbinatzen da.Round gako bakoitza zifratze-gakotik eratortzen da, gakoaren iterazio bat erabiliz.

Algoritmoaren azkeneko errondakMixColumns fasea ordezkatzen duAddRoundKey-ren beste instantzia bat sartuz.

SubBytes - Byten ordezkapenaren pausoa

[aldatu |aldatu iturburu kodea]

SubBytes etapan, matrizearen byte bakoitza eguneratzen daRijndael-en S-Kutxa (8 bit) erabiliz. Eragiketa honek zifraketan linealtasunik ez egotea ahalbidetzen du. Erabilitako S-KutxaGF(28)ren (gorputz finitua) inguruko alderantzizkatze funtziotik eratortzen da, linealtasun ezeko propietateak izateagatik ezaguna dena. Propietate algebraiko sinpleetan oinarritutako erasoak saihesteko, S-Kutxak alderantzizkako funtzioa eta eraldaketa itzulgarri bat konbinatzen ditu. S-Kutxa puntu egonkorrak ekiditeko ere hautatzen da (ondoriozderangement bat ere bada) eta baita ere edozein aurkako puntu egonkor ekiditeko.

ShiftRows - Lerro desplazaketaren pausoa

[aldatu |aldatu iturburu kodea]

ShiftRows pausoakstate-aren ilaretan jarduten du, ziklikoki lekualdatzen ditu ilara bakoitzeko byteakoffset determinatu batekin. Lehenengo ilara posizio berean geratzen da. Bigarren lerroko byte bakoitza posizio bat mugitzen da ezkerrerantz. Antzeko era batean, hirugarren eta laugarren ilarak errotatzen dira bigarrenaren eta hirugarrenarenoffset-ekin, hurrenez hurren. Era honetan,ShiftRows-ek itzultzen duenstate-aren zutabe bakoitza hasierakostate-aren bytekin dago eraikita (bloke tamaina handiagokoRijndael-en aldakerekoffset desberdinak dituzte).

MixColumns - Zutabeen nahasketa

[aldatu |aldatu iturburu kodea]

MixColumns pausoanstate-aren zutabe bakoitzaren lau byteak eraldaketa lineal itzulezina erabiliz konbinatzen dira.MixColumns funtzioak lau byte hartzen ditu sarrera moduan eta beste lau byte itzultzen ditu, sarrerako byte bakoitzak irteeran eragina duelarik.ShiftRows-ekin batera,MixColumns-ek difusioa ekartzen du zifraketan. Zutabe bakoitzaGF(28) polinomio bat bezala tratatzen da eta gerox4+1{\displaystyle x^{4}+1} moduluac(x){\displaystyle c(x)} polinomio finkoarekin biderkatzen da.

AddRoundKey - Azpigakoen kalkulua

[aldatu |aldatu iturburu kodea]

AddRoundKey pausoan azpigakoastate-arekin konbinatzen da. Erronda bakoitzean gako nagusitik azpigako bat eratortzen da, gakoaren iterazioak erabiliz. Azpigako bakoitzastate-aren tamaina berekoa da. Azpigakoastate-aren byte bakoitza azpigako beran dagokion bytearekin konbinatuz gehitzen da,XOR funtzioa erabiliz konbinaketa hau burutzeko.

Zifraketaren optimizatzea

[aldatu |aldatu iturburu kodea]

Hitz luzera bezala 32 bit edo gehiago erabiltzen duten sistemetan algoritmoaren exekuzioa azkartzea badago,SubBytes,ShiftRows etaMixColumn eraldaketak tauletan bihurtuz. 32 biteko 256 sarrera dituzten lau taula baditugu, zeinen tamaina osoa 4kilobytekoa den, Kb bat hartzen du taula bakoitzak memorian. Modu honetan, algoritmoaren erronda bakoitzean 16 bilaketa egiten dira taula batean eta 32 biteko 16 XOR eragiketaAddRoundKey pausoan. Baldin eta taularen 4 kilobyteak handiegiak badira plataforma zehatz batentzat, bilaketa eragiketa 32 biteko 256 sarrerako taula bakarra erabiliz egin daiteke, errotazio zirkularren bidez.

Segurtasuna

[aldatu |aldatu iturburu kodea]

Oraindaino AES-en aurkako eraso arrakastatsu bakarrak geroago deskribatzen diren kanal laguntzaileen bidez lortu dira.Estatu Batuetako Segurtasun Agentzia Nazionalak AES-en parte hartzeko amaierako hautespen guztiak aztertu zituen,Rijndael bera barne eta guztiek segurtasun nahikoa eskaintzen zutela esan zuen, Estatu Batuetako Gobernuaren sailkatu gabeko informazioaren gain erabiltzeko. 2003ko ekainean, Estatu Batuetako Gobernuak AES bere informazio sailkatuaren gainean erabilia izan daitekeela esan zuen.

Horrela, erabiltzaile arruntak historian lehen aldiz NSA-k informazio oso sekretua (TOP SECRET) zifratzeko aprobatutako zifratzaile bat eskuratu dezake. Publikoak diren produktu askok 128 biteko gakoak erabiltzen dituzte defektuz, beharbada NSA-k gako hauen sendotasunean ez du sinesten edota segurtasun marjin bat izatea nahiago dute (etorkizunean hamarkada askotan zehar seguruak izaten jarraitu behar duten dokumentuei begira).

Blokekako zifratzaile baten aurkako erasorik ohikoena erronda kopuru txikiago bat erabiliz egindako erasoetan datza. AES-ek 10 erronda erabiltzen ditu 128 biteko gakoekin, 12 192 biteko gakoekin eta 14 256 biteko gakoekin. 2006 arte, ezagutzen diren erasorik hoberenak 128 biteko gakoen kontra 7 erronda erabiliz egiten dira, 8 erronda 192 biteko gakoen kontra eta 9 256 biteko gakoen aurka.

Aditu batzuek AES-en segurtasunari buruz kezkak dituzte. Zifratzaileak burutzen dituen erronda kopuruaren eta ezagutzen diren eraso hoberenen arteko erronda kopuruaren desberdintasuna txikiegia dela adierazten dute. Erasoak hobetzeko modu bat aurkitu baliteke, hortan datza arriskua. Kasu hau emango balitz, zifratzailea apurtuko litzateke. Kriptografian, zifratzaile bat apurtzeak esan nahi du existitzen dela indar gorriko erasoa baino azkarragoa den eraso bat honen kontra. Hortaz, 2120 eragiketa “bakarrik” behar dituen eraso batek AES apurtuko luke, nahiz eta oraingoz eraso bideraezina izan (gaur egungo teknologiaren mugak direla eta). Oraingoz, kezka hauek alde batera utzi daitezke. Orain arteko indar gorriko erasorik ezagunena 64 biteko RC5 gako baten aurka egindakoa izan da,distributed.net-ek burutua.

Beste arduretako bat AES-en egitura matematikoa da. Bloke zifratzaileen gehiengoak ez-bezala, AES-ek deskripzio matematiko ordenatua dauka. Honek ez du oraingoz erasorik ekarri, baina ikertzaile batzuen aburuz, egitura hau ustiatua izan liteke etorkizunean.

2002anXSL bezala ezagututako eraso teorikoa iragarria izan zen Nicolas Courtois eta Josef Pieprzyk-engandik, AES algoritmoan ahultasun nabariak aurkituz. Hainbat adituk arazoak topatu dituzte proposatutako erasoaren azpian dauden eragiketa matematikoetan, egileen erroreak iradokituz. Eraso mota hau praktikan AES-en aurka egin daitekeen edo ez airean dago oraindik. Oraingoz nahiko zaila dirudi erasoa algoritmoaren aurka burutzea eremu teorikotik kanpo.

Kanal laguntzaile bidezko erasoak

[aldatu |aldatu iturburu kodea]

Kanal laguntzaile bidezko erasoek ez dute zifratzailea azpitik erasotzen, baizik eta nahi gabe datuak galtzen dituzten sistemetan dauden zifratzailearen inplementazioak.

2005eko apirilean D.J. Bernstein-ekcache bidezko eraso tenporizatu bat proposatu zuen[1], zeinak zerbitzari bat apurtzen zuen AES zifraketaOpenSSL-rekin erabiltzen zuen heinean.Zerbitzari hau denborei buruzko informazio ahalik eta gehien emateko diseinatua izan zen eta erasoak testu soileko 200 milioi fitxategi inguru behar izan zituen. Erasoa benetako inplementazioetan praktikoa ez zela izango esaten zen, Bruce Schneier-ek "eraso tenporizatu polit" bezala definitu zuen ikerkuntza.

2005eko urrian Adi Shamir eta beste bi ikertzailek cache bidezko eraso tenporizatuak erabiliz egindako proben artikulu bat aurkeztu zuten[2]. Erasoetako batek AES-en gako oso bat lortu zuen 800 idazketa soilik egin ondoren, 65milisegundotan. Eraso honek AES zifraketa egiten duen sistema berean erasotzaileak exekuzio baimenak izan ditzan beharrezkoa du.

Erreferentziak

[aldatu |aldatu iturburu kodea]
  1. http://cr.yp.to/papers.html#cachetiming
  2. http://www.wisdom.weizmann.ac.il/~tromer/papers/cache.pdf

Ikus,gainera

[aldatu |aldatu iturburu kodea]

Inplementazioak

[aldatu |aldatu iturburu kodea]

Kanpo estekak

[aldatu |aldatu iturburu kodea]
Autoritate kontrola

"https://eu.wikipedia.org/w/index.php?title=Advanced_Encryption_Standard&oldid=9827010"(e)tik eskuratuta
Kategoria:
Ezkutuko kategoriak:

[8]ページ先頭

©2009-2026 Movatter.jp