Inleiding tot de Advanced Encryption Standard

Vergelijkbare documenten
Algemeen geformuleerd: a a a b) wanneer we machten met hetzelfde grondtal op elkaar delen, bijv. a

Werkblad TI-83: Over de hoofdstelling van de integraalrekening

In dit hoofdstuk introduceren we de hoofdrolspelers van het college: eindige automaten.

HOOFDSTUK 1 BASISBEGRIPPEN

Bekijk onderstaand algoritme recalg. Bepaal recalg(5) en laat zien hoe u het antwoord hebt verkregen.

Formeel Denken. Herfst Contents

Getallenverzamelingen

gefragmenteerde bestanden Bestand Bestand Bestand Bestand Bestand a Bestand a Bestand a Bestand a Bestand Bestand Bestand Bestand c Bestand a

1a Een hoeveelheid stof kan maar op één manier veranderen. Hoe?

Inhoud. Rijndael: Een triomf van de wiskunde

Opdrachten bij hoofdstuk 2

Het kwadraat van een tweeterm a+b. (a+b)²

6.0 INTRO. 1 a Bekijk de sommen hiernaast en ga na of ze kloppen = = = = = 2...

Hoofdstuk 0: algebraïsche formules

Henk Pijls Korteweg-de Vries Instituut voor Wiskunde Universiteit van Amsterdam

Formeel Denken 2012 Uitwerkingen Tentamen

fonts: achtergrond PostScript Fonts op computers?

Het reëel getal b is een derdewortel van het reëel getal a c. Een getal en zijn derdewortel hebben hetzelfde toestandsteken.

opgaven formele structuren procesalgebra

Hoe plan je een grote taak?

Moderne wiskunde: berekenen zwaartepunt vwo B

11 Wiskundige denkactiviteiten: digitale bijlage

1.3 Wortels. x x 36 6 = x = 1.5 Breuken. teller teller noemer noemer. Delen: vermenigvuldig met het omgekeerde.

Inhoud college 7 Basiswiskunde

REKENEN MACHTEN MET. 5N4p EEBII 2013 GGHM

KATHOLIEKE UNIVERSITEIT LEUVEN SUBFACULTEIT ECONOMIE EN BEDRIJFSWETENSCHAPPEN HUB HANDELSWETENSCHAPPEN

Eigenwaarden en eigenvectoren

6.4 Rekenen met evenwichtsreacties

Breuken en verhoudingen

Werkkaarten GIGO 1184 Elektriciteit Set

Examen VWO. wiskunde B1,2 (nieuwe stijl)

Praktische Opdracht Lineair Programmeren V5

Noordhoff Uitgevers bv

De formule van het opslagpercentage voor alle producten luidt:

Inhoud leereenheid 13. Integreren. Introductie 125. Leerkern 126. Samenvatting 149. Zelftoets 150

Rekenregels van machten

Het Poincarévermoeden in dimensie 2 Erik Visse

Reguliere Expressies en Automaten: Overzicht

Hoofdstuk 8 Beslissen onder risico en onzekerheid

Voorbereidende opgaven Stoomcursus

Computers & programmeren

Voorbereidende opgaven Kerstvakantiecursus

Praktische opdracht Optimaliseren van verpakkingen Inleidende opgaven

1 Theoretische achtergrond voor het schakelen van weerstanden.

Rapportage Enquête ondergrondse afvalinzameling Zaltbommel

Werkloosheid, armoede, schooluitval en criminaliteit. Er zal veel belastinggeld nodig zijn om al die problemen op te lossen.

8 Kostenverbijzondering (I)

Bijlage agendapunt 7: Inhoudelijke planning overlegtafels 2015

INTERVIEWEN 1 SITUATIE

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 1 Dinsdag 25 mei uur

Datastructuren en algoritmen Uitwerkingen voorbeeldserie huiswerkopgaven

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 1 Donderdag 20 mei uur

Nakomelingen van rendieren kunnen een paar uur na de geboorte al met de kudde meerennen. Zijn rendieren nestvlieders of nestblijvers?

Routeplanning middels stochastische koeling

Havo B deel 1 Uitwerkingen blok 1 Moderne wiskunde

3 Snijpunten. Verkennen. Uitleg

Inhoudsopgave. Voorwaarden Hypotheek SpaarVerzekering Model Delta Lloyd Levensverzekering NV. 1 Wat bedoelen wij met? 3

Vraag 2. a) Geef in een schema weer uit welke onderdelen CCS bestaat. b) Met welke term wordt onderstaande processchema aangeduid.

Keuze van het lagertype

Noordhoff Uitgevers bv

Eindexamen wiskunde B1-2 vwo 2004-I

HOEVEEL KEREN WIJ UIT? 5.1 Keren we altijd alles uit? WANNEER KEREN WIJ NIET UIT? WAT DOEN WIJ BIJ FRAUDE? 9.1 Wat zijn de gevolgen van fraude?

Een regenton. W is het vlakdeel dat wordt ingesloten door de x-as, de y-as, de grafiek van r en de lijn x h, met 0 h

Hoofdstuk 2 DE STELLING VAN PYTHAGORAS

Wat doen we met de vuile was?

Wat is goed voor een mooie, gezonde huid? Kruis de goede antwoorden aan. weinig slaap. buitenlucht goede voeding. ontspanning veel fruit eten

1.3 Wortels. = a b c. x = 1.5 Breuken. teller teller. noemer noemer. Delen: vermenigvuldig met het omgekeerde.

Zelfstudie practicum 1

De tijdens de training aangeboden ski-imitaties gebruiken we zowel als middel maar ook als doel.

JOB-monitor 2016 Vragenlijst

2 De kracht van vectoren

Handreiking voor zij-instroom in de zuivelindustrie

Digitale informatieverwerking

Hoofdstuk 2: Bewerkingen in R

Inhoud Basiswiskunde Week 5_2

16.6 Opgaven hoofdstuk 7: Producten en combinatoriek

Uitvoeringsregeling Dienstreizen Wageningen UR

Bespreking Examen Analyse 1 (Juni 2007)

HANDLEIDING FOKWAARDEN Informatie & Inspiratie document Met uitleg over het hoe en waarom van de fokwaarden

Proeftentamen LAI (tweede deel), voorjaar 2006 Uitwerkingen

Inleiding Natuurwetenschappen

Om welke reden heeft een kwak relatief grote ogen?

Krommen en oppervlakken in de ruimte

Je gaat naar de winkel en koopt 4 pakken melk van 1,40 per stuk.

Platte en bolle meetkunde

Riante bouwkavel met ruime bebouwingsmogelijkheden

Kennismaken. Wie zitten er bij jou in de klas? 4. Welke afspraken maak jij met je klas? 8

Spiegelen, verschuiven en draaien in het vlak

Voorbereidende opgaven Stoomcursus

1 Uw secretaresse vraagt u wie u voor deze sessie wilt uitnodigen. Aan welke mensen denkt u?

Methode symmetrische componenten, revisie 1

edatenq is een toepassing die de ondernemingen de mogelijkheid biedt om hun statistische aangiften in te vullen en door te sturen via internet.

Algemeen. Restweefsel voor medischwetenschappelijk onderzoek

V2.1 Eerlijk verdeeld?

Nieuwe internet radio eigenschap

MOMENT VAN EEN KRACHT KOPPEL VAN KRACHTEN

edatenq is een toepassing die de ondernemingen de mogelijkheid biedt om hun statistische aangiften in te vullen en door te sturen via internet.

Hertentamen CT3109 ConstructieMechanica 4 1 jul 2009 ANTWOORDEN. De vormveranderingsenergie is hiermee: v

AFLEIDING. Apparatuur tijdens het rijden

1. Differentiaalvergelijkingen

Transcriptie:

Inleiding tot de Advnced Encryption Stndrd Mrries vn de Hoef Scriptie voor Overdrgen vn informtic onderzoe Universiteit Utrecht 10 jnuri 2010 1

Smenvtting Het AES lgoritme heeft een reltief eenvoudige wering, mr dt wil niet zeggen dt het onveilig is. Er zitten goede cryptogrsche principes chter wrdoor het lgoritme zowel veilig ls snel is. Dit heeft er mede voor gezorgd dt het lgoritme door de strenge selectieprocedure is geomen. Lnge tijd ws het lgoritme vrijwel onntstr, en onden er geen zwtes in worden ontdet. In 2009 is hier echter verndering in geomen met een ntl succesvolle nieuwe nvllen. Het is echter nog geen reden tot zorgen, wnt de nvllen wren niet prtisch of ze onden mr een gedeelte vn de rondes vn AES ren. Inhoudsopgve 1 Inleiding 2 2 Ontstn 3 2.1 DES.................................. 3 2.2 AES.................................. 4 3 Wering 5 3.1 Wisundige chtergrond....................... 5 3.2 Encryptie............................... 6 3.3 Sleutelgenertie............................ 9 3.4 Onderouwing............................ 12 4 Gerui 14 4.1 Geruismodus............................ 14 4.2 Adoptie................................ 14 5 Kren 15 5.1 Integrle cryptonlyse........................ 15 5.2 Algerïsche cryptonlyse..................... 16 5.3 Nieuwe nvllen........................... 16 5.4 Side-chnnel nvllen........................ 16 6 Toeomst 17 Referenties 18 1 Inleiding De Advnced Encryption Stndrd is een lgoritme om dt te versleutelen. Dit is nuttig omdt vertrouwelije informtie geheim n lijven, oo wnneer deze mogelij onderschept wordt. An de versleutelde test mg de oorspronelije test dus niet te zien zijn. De oorspronelije test mg lleen terug te hlen zijn met de sleutel. De sleutel die geruit wordt ij het versleutelen is ij AES 2

gelij n de sleutel die nodig is voor het ontsleutelen, dit mt AES een symmetrisch encryptie lgoritme. Er zijn oo symmetrische encryptie lgoritmes, ijvooreeld RSA. Een symmetrisch lgoritme n veel sneller uitgevoerd worden dn een symmetrisch lgoritme, mr heeft ls ndeel dt de sleutel ij eide prtijen eschir moet zijn [24]. Bijvooreeld ij het men vn een verinding over het internet is het niet prtisch ls er eerst een sleutel uitgewisseld moet worden op een niet digitle mnier. V wordt ij eveiligde communictie over het internet een symmetrisch encryptie lgoritme geruit om een sleutel te versturen voor een symmetrisch encryptie lgoritme zols AES. Beveiligde internet verindingen die ijvooreeld ij internetnieren geruit worden, zijn op deze mnier fhnelij vn onder ndere AES. Het is dus vn groot elng dt de versleuteling vn AES niet gert n worden. In deze scriptie wordt uitgelegd hoe AES wert en wrom het niet melij te ren is. Eerst wordt in Hoofdstu 2 verteld wrom AES nodig ws en hoe het tot stnd is geomen. Deze chtergrondinformtie mt het duidelijer wrom sommige euzes in het lgoritme zijn gemt. In Hoofdstu 3 wordt de lgoritmische wering uitgelegd. Oo wordt uitgelegd wrom het lgoritme juist op deze mnier in elr steet. Vervolgens wordt in Hoofdstu 4 esproen hoe AES in een pplictie geruit moet worden, en hoe het l ddwerelij geruit wordt. Drn wordt in Hoofdstu 5 eeen wele soorten nvllen er op AES gedn zijn. Tot slot wordt er een li op de toeomst geworpen om een conclusie te treen over het verdere gerui vn AES. 2 Ontstn 2.1 DES AES is niet de eerste stndrd op het geied vn symmetrische encryptie. Zijn voorgnger is DES, Dt Encryption Stndrd. Deze is in de jren zeventig voortgeomen uit een groeiende ehoefte nr een stndrd op het geied vn encryptie. Voordt DES geïntroduceerd werd, heeft het Amerinse Ntionl Security Agency een ntl detils vn het lgoritme gewijzigd. De precieze wijzigingen zijn nooit eend gemt, mr het is zeer dt de sleutellengte gehlveerd werd tot 56 its [16]. Dt de Amerinse overheid het lgoritme heeft gewijzigd heeft veel rgwn gewet, wnt misschien zou er wel een chterdeur in het lgoritme gemt zijn. De chterdeur is nooit gevonden, en er zijn oo geen ndere serieuze zwheden vn DES n het licht geomen [7]. Door de open verspreiding vn DES is het de stndrd geworden, en vele jren geruit. Begin jren negentig wm DES in de prolemen. Door de toenemende rcht vn computers wm het ren vn DES innen erei. De reden hiervoor is dt de sleutel mr 56 its lng is, wrdoor er 2 56 sleutels mogelij zijn. De snelheid wrmee deze lleml uitgeproeerd onden worden nm toe, en zo zou de goede sleutel in een redelije tijd gevonden unnen worden. Deze nvl wordt een rute rcht nvl genoemd (in het Engels eend ls 3

rute force ttc). Om deze r op te lossen, werd een vrint met 168 its sleutellengte edcht: Triple DES. Dit houdt in dt het DES lgoritme met 3 verschillende sleutels herhld uitgevoerd moet worden. Het lijt misschien logischer om DES mr twee eer te herhlen, mr deze np iedt geen grote veretering oven DES. Door deze herhling wordt nmelij een nieuwe soort nvl mogelij, de meet-in-the-middle nvl 1. Hiervoor is een ntl eende pren versleutelde en ontsleutelde dt nodig. Bij de nvl versleutelen we de onversleutelde dt door één DES-stp met lle mogelije sleutels uit te voeren, en we ontsleutelen de versleutelde dt door één omgeeerde DES-stp met lle mogelije sleutels uit te voeren. De tussenresultten die ij deze versleuteling en ontsleuteling ontstn unnen we lteren, omdt we weten dt het tussenresultt ij de versleuteling en ontsleuteling hetzelfde moet zijn. Zo houden we een stu minder mogelije sleutels over en door het proces een ntl eer te herhlen met ndere eende pren vn versleutelde en onversleutelde dt unnen we de geruite sleutels chterhlen. Dit is niet signicnt lngzmer dn een rute rcht nvl op DES. Bij Triple DES n deze nvl oo uitgevoerd worden, mr op twee vn de drie DES versleutelingen. Triple DES is drom mr twee eer zo veilig ls DES, terwijl er drie eer zo veel ereend moet worden. De escherming die Triple DES iedt zou volgens het Ntionl Institute of Stndrds nd Technology (NIST) voldoende moeten zijn tot 2030 [3]. 2.2 AES Het ndeel vn Triple DES is dt dit lgoritme drie eer zo lngzm is ls DES [21]. Drom ging het NIST opzoe nr een nieuw lgoritme, en deed een openre oproep voor ndidten voor de opvolger [6]. Er volgden mr liefst vijftien recties, wrvn de vijf este lgoritmen overleven [19]. Vn de vijf nlisten is uiteindelij het Rijndel lgoritme geozen ls winnr. Dit lgoritme is ontwield door de twee Belgen Jon Demen en Vincent Rijmen. De redenen dt er voor het Rijndel lgoritme is geozen [18]: Het lgoritme n zeer snel worden uitgevoerd in softwre en hrdwre, en vereist weinig geheugen. Het lgoritme n dus in llerlei omgevingen geruit worden, wronder op chiprten. Ten opzichte vn de ndere ndidten is Rijndel melij te eschermen tegen side-chnnel nvllen. Zie voor meer informtie over deze nvllen Prgrf 5.4. Op instructie-niveu is Rijndel goed te prllelliseren, wrdoor het lgoritme voordeel n hlen uit multiernprocessoren. Ten opzichte vn Triple DES is het AES lgoritme zelfs 5 eer zo snel [23]! De openre oproep vn het NIST heeft dus een goed lgoritme opgeleverd, en n zeer een succes genoemd worden. Bij de ddwerelije omdoping 1 Zie voor meer detils over deze nvl het rtiel vn Die en Hellmn [11]. 4

vn Rijndel nr AES, zijn de toegestne lo en sleutel groottes gelimiteerd. De eisen die het NIST hd gesteld ij de oproep wren dt het lgoritme een logrootte vn 128 its en sleutel groottes vn 128, 196 en 256 its moet ondersteunen. Drij vermeldden ze dt ls het geozen lgoritme meer logroottes ondersteunde, ze zouden overwegen deze extr logroottes in AES op te nemen [6]. Rijndel ondersteunde meer logroottes, mr de ondersteuning hiervoor is toch uit AES geschrpt [1]. De reden hiervoor is dt de overige opties niet in het selectieproces voor AES zijn eeen [9]. Dit is merwrdig omdt er ws gezegd dt het overwogen zou worden, terwijl dit in het selectieproces niet is meegenomen. 3 Wering AES versleutelt invoerdt per lo vn 128 its. Op een lo worden herhldelij dezelfde eweringen gedn. Ele herhling noemen we een ronde. Het enige dt tussen de rondes verschilt, is de rondesleutel. Deze rondesleutel wordt fgeleid vn de hoofdsleutel. Het ntl rondes hngt f vn de lengte vn de hoofdsleutel. Voor sleutels vn 128, 196 en 256 its worden respectievelij 10, 12 en 14 rondes uitgevoerd. Alle eweringen die gedn worden zijn omeerr. Voor de ontsleuteling moet dus het lgoritme vn chter nr voor worden doorgelopen, met de omgeeerde eweringen. 3.1 Wisundige chtergrond De ereeningen worden op yte-niveu uitgevoerd, en hierij moet reening gehouden worden met de mximle grootte vn een yte. Door een optelling of vermenigvuldiging mg het getl niet groter worden dn 255, de mximle grootte vn een yte. Een eenvoudige mnier om dit te doen, is om lle ereeningen modulo 256 uit te voeren. Dit is geen goed idee voor een cryptogrsch lgoritme, omdt de ereening niet inverteerr is. Stel dt ij de versleuteling 133 2 = 266 ereend wordt, dn wordt dit getl door de modulus vn 256 vernderd nr het getl 10. Bij het ontsleutelen drien we de ereening om, en we moeten dn 10 delen door 2. Nu omen we in prolemen, wnt hoe weten we of 10 /2 gelij is n 5 of n 133 (= (256+10) /2)? 3.1.1 Multiplictieve inverse Dit unnen we loppend men door de opertie delen te ereenen ls vermenigvuldigen met de multiplictieve inverse 2, wnt dn is er een uniee uitomst. De multiplictieve inverse vn getl is de wrde wrvoor geldt dt ls je ermee vermenigvuldigt en dn modulo 256 doet, dt je dn het getl 1 rijgt. De multiplictieve inverse vn ijvooreeld 5 is 205, wnt 5 205 256 1 (hierij eteent 256 dt de ereening modulo 256 gedn moet worden). Dus om 2 Zie voor meer informtie over de multiplictieve inverse, Prgrf 4.3.2 vn het Cryptogre dictt [24]. 5

ijvooreeld 10 /5 te ereenen doen we 10 205 256 2. Door gerui te men vn deze multiplictieve inverse is er een uniee uitomst. Mr de multiplictieve inverse estt niet voor lle getllen ls we modulo 256 reenen, dit is nmelij lleen zo ls we modulo een priemgetl reenen. We zouden ervoor unnen iezen om modulo 251 te reenen (het hoogste priemgetl onder 256), mr dt rengt ndere vervelende prolemen met zich mee omdt de invoer uit 256 its estt. 3.1.2 Eindig lichm In de wisunde ligt een oplossing, we moeten dn gn reenen in het eindig lichm. In AES wordt dit toegepst door een inir getl voor te stellen ls een polynoom, wrij de its de coëciënten zijn. Bijvooreeld het getl 10111 wordt voorgesteld ls het polynoom 1 x 4 +0 x 3 +1 x 2 +1 x 1 +1 x 0, vereenvoudigd wordt dit x 4 + x 2 + x 1 + 1. Omdt een yte cht its heeft, zijn de polynomen ltijd vn grd 7. Als de grd ij een ereening zols een vermenigvuldiging toch hoger wordt dn 7, unnen we reenen modulo een nder polynoom. Dit polynoom moet dn vn grd 8 zijn zodt het resulterende polynoom vn grd 7 wordt. Het polynoom moet oo irreduciel zijn, dt eteent dt het niet gevormd n worden door twee ndere polynomen vn een lgere grd te vermenigvuldigen. Het is dn eigenlij een priem-polynoom. In dit eindige lichm gn wisundige operties niet zols we gewend zijn. Het optellen is gelij n een xor (exclusieve disjunctie) opertie en omdt xor isomorf 3 is, is ftreen oo gelij n een xor opertie. Vermenigvuldiging wordt gedn door de polynomen met elr te vermenigvuldigen, modulo het irreduciele polynoom. Meer detils en uitleg over de overige operties in het eindige lichm in AES unnen gevonden worden in The Design of Rijndel [9] Prgrf 2.1. Operties zols mchtsverheen en logritmen unnen voorereend worden in tellen zodt deze in het lgoritme zeer snel gedn unnen worden 4. Dit is mogelij omdt we per yte reenen, en een yte heeft mr 256 mogelije getllen. 3.2 Encryptie De invoer stt in een mtrix vn vier ij vier ytes, zols weergegeven in Figuur 1. Deze mtrix wordt per olom vn oven nr eneden gevuld. In ele cel stt precies 1 yte, en in de vooreelden zullen we deze yte weergeven ls 2 hexdecimle getllen. We geruien deze mtrix om de meeste eweringen in het lgoritme uit te leggen. Er worden vier eweringen chtereenvolgens op de dt uitgevoerd. Dt zijn sustitutie, rijrottie, olomvermenigvuldiging en sleuteltoevoeging. Deze eweringen worden ele ronde uitgevoerd, ehlve in de ltste ronde. Drin wordt de olomvermenigvuldiging overgeslgen, omdt deze het lgoritme niet sterer mt. Hij n zonder ennis vn de 3 Een opertie is isomorf ls de inverse vn de opertie gelij is n de opertie zelf. 4 Zie voor een prtische implementtie: http://www.smim.org/glois.html 6

00 04 08 0c 01 05 09 0d 02 06 0 0e 03 07 0 0f Figuur 1: AES ereen-mtrix sleutel uit de ltste ronde gelterd worden 5. Vóór de eerste ronde wordt nog een sleuteltoevoeging gedn met de hoofdsleutel, zodt de eerste ronde niet teruggereend n worden zonder ennis vn de sleutel. In de volgende prgrfen volgt een orte uitleg vn de eweringen, voor meer informtie over de eweringen en de uitweringen verwijs i je door nr het oe The Design of Rijndel [9] of de ociële stndrd [1]. 3.2.1 Sustitutie 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 Sustitutie 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 3,0 3,1 3,2 3,3 0,0 0,1 0,2 0,3 3,0 3,1 3,2 3,3 S-ox Figuur 2: Sustitutie Ele yte in de mtrix wordt vervngen met een ndere yte, zols weergegeven in Figuur 2. Wele yte dt is wordt opgezocht in een tel, de S-ox. Deze S-ox is ltijd hetzelfde, en de wrden erin zijn zo geozen dt het vernd niet lineir is. Als er niet genoeg geheugen is voor deze tel, unnen de wrden oo opnieuw worden uitgereend. Deze ereening vindt plts in het eindige lichm. De multiplictieve inverse vn de invoeryte wordt genomen. Vervolgens wordt de inire representtie vn deze yte voorvermenigvuldigd met een mtrix. Drn wordt de xor opertie gedn op het resultt en de constnte wrde 99 in inire vorm. Door de mtrixvermenigvuldiging wordt de lgerïsche representtie ingewielder en nvllen op de S-ox moeilijer. 3.2.2 Rijrottie De rijen worden geroteerd met een wisselend ntl posities, zols weergegeven in Figuur 3. De ytes in de ovenste rij worden nul pltsen verschoven. De 5 Het ewijs hiervoor is te vinden in het oe The Design of Rijndel [9] Prgrf 10.2.3 7

Geen rottie Roteer 1 Roteer 2 Rijrottie Roteer 3 Figuur 3: Rijrottie ytes in de tweede rij worden een plts nr lins verschoven, hierij omt de meest liner yte heleml rechts te stn. De ytes in de derde rij worden twee pltsen nr lins verschoven wrij de twee liner ytes roteren zodt ze rechts omen te stn. De ytes in de vierde rij worden drie pltsen nr lins geroteerd of één plts nr rechts, dit levert hetzelfde resultt op. Mer hierij op dt de rijen worden verschoven terwijl de ytes juist per olom in de mtrix worden gezet, zols eschreven n het egin vn Prgrf 3.2. Omdt de rijen geroteerd worden terwijl de ytes er per olom ingezet worden, is de ewering op yte-niveu minder eenvoudig dn het door Figuur 3 doet vooromen. 3.2.3 Kolomvermenigvuldiging 0,0 0,2 0,3 1,1 1,0 1,2 1,3 0,1 2,0 2,1 2,2 2,3 Kolomverm. 3,0 3,2 3,3 3,0 3,1 M 0,1 0,0 0,2 0,3 1,1 1,0 1,2 1,3 2,0 2,1 2,2 2,3 3,1 3,2 3,3 Figuur 4: Kolomvermenigvuldiging Ele olom wordt voorvermenigvuldigd met een mtrix, zols weergegeven in Figuur 4. Dit is een constnte mtrix, en hij is inverteerr zodt ij ontsleuteling de inverse mtrix geruit n worden. De mtrix is een Mximum Distnce Seprle mtrix, fgeort een MDS-mtrix. Dt eteent dt de mtrix voor perfecte diusie zorgt, de noodz hiervoor wordt esproen in Prgrf 3.4. Het optellen en de vermenigvuldigingen in mtrixvermenigvuldiging worden gedn volgens de specile mnier vn het eindige lichm, eschreven in Prgrf 3.1.2. De mtrix estt ij versleuteling lleen uit de getllen 1, 2 en 3. Hierdoor n het vermenigvuldigen eenvoudig uitgevoerd worden. De inverse mtrix die ij ontsleuteling geruit wordt, omt oo mooi uit en n oo eenvoudig geruit worden. 8

3.2.4 Sleuteltoevoeging 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 0,0 0,1 0,2 0,3 3,0 3,1 3,2 3,3 Sleuteltoevoeging 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 0,0 0,1 0,2 0,3 3,0 3,1 3,2 3,3 2,1 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,2 2,3 3,0 3,1 3,2 3,3 Figuur 5: Sleuteltoevoeging Als ltste stp omt de sleutel n od. Vnwege deze stp he je de sleutel nodig om de oodschp te ontsleutelen. We geruien ele ronde een ndere sleutel. Deze rondesleutels worden fgeleid vn de hoofdsleutel. Zie Prgrf 3.3 voor de genertie vn de rondesleutels. De huidige rondesleutel wordt met de xor-opertie op de dt toegepst, zols weergegeven in Figuur 5. 3.3 Sleutelgenertie De sleuteltoevoeging die nog vóór de eerste ronde gedn wordt, wordt met de hoofdsleutel gedn. Het is lsof de rondesleutel vn ronde 0 gelij is n de hoofdsleutel (in het gevl vn een 128 its sleutel). De volgende rondesleutel wordt gegenereerd uit de vorige rondesleutel, de rondesleutel voor ronde 1 wordt dus uit de rondesleutel vn ronde 0 gegenereerd, en dt ws de hoofdsleutel. De sleutelgenertie n worden gezien lsof er een stroom n sleutelits gegenereerd wordt uit de hoofdsleutel. De rondesleutel is ltijd 128 its, dus ele 128 its in die stroom vormen een rondesleutel. Bij de vrinten met een 192 of 256 its hoofdsleutel zitten er l 192 of 256 its n het egin vn de stroom, dt is nmelij de hoofdsleutel. De eerste 128 its drvn worden geruit voor rondesleutel 0, en de rest wordt geruit voor de volgende rondesleutel. De sleutelits die hiern gegenereerd worden in de stroom, worden per 4 ytes (32 its) gemt. Deze 4 ytes hngen f vn de vorige 4 ytes, en nog vn 4 ndere ytes eerder in de stroom. Hoe ver deze eerder in de stroom liggen, is gelij n de lengte vn de hoofdsleutel. Vooreeld: Bij een 192 its hoofdsleutel zijn de eerste 24 ytes gelij n de hoofdsleutel. We willen ytes 25-28 genereren. Dit gt n de hnd vn de vorige 4 ytes, dt zijn ytes 20-24. En n de hnd vn de 4 ytes die 9

eerder in de stroom liggen. Omdt de hoofdsleutel 24 ytes lng is, liggen die ytes 24 pltsen eerder. Dt zijn dus de ytes 1-4. Het is elngrij dt lle sleutelits in de rondesleutels verwert worden. Om 4 nieuwe ytes te genereren, opiëren we de vorige 4 ytes en doen we de xor opertie erop met de 4 ytes eerder in de stroom. Dit doen we echter niet voor lle ytes in de sleutelstroom. Sommige ytes worden nders uitgereend. Dt is om ervoor te zorgen dt een simpele hoofdsleutel, zols één wrij lle its 0 zijn, toch rondesleutels oplevert die er willeeurig uitzien. Wnneer dit geeurt is fhnelij vn de lengte vn de hoofdsleutel. Als de hoofdsleutel 16 ytes (128 its) lng is, geeurt dit ele 16 ytes. Als de hoofdsleutel 24 ytes (192 its) lng is, geeurt dit ele 24 ytes. En ls de hoofdsleutel 32 ytes (256 its) lng is, geeurt dit ele 32 ytes. Deze lterntieve ereening gt ls volgt: 1. Kopieer de vorige 4 ytes. 2. Roteer lle ytes 1 plts nr lins. De eerste yte omt dus op positie 4, en de ndere ytes schuiven 1 plts nr lins. 3. Voer de sustitutiestp uit op de vier ytes, zols eschreven in Prgrf 3.2.1. 4. Alleen op de eerste yte moet nu de xor opertie uitgevoerd worden met de ronde constnte. De ronde constnten zijn ltijd hetzelfde en unnen dus vn tevoren ereend worden. Deze constnten worden ereend door de formule: RC(i) = x i 1 wrij i het rondenummer is. De x omt vn de polynoomrepresenttie vn het eindige lichm en vertegenwoordigt 1 x 1 + 0 x 0, en dus het inire getl 10, wt gelij is n het decimle getl 2. Er stt dus eigenlij: RC(i) = 2 i 1, met ls ntteening dt het wel volgens de wisunde in het eindige lichm ereend wordt. Het rondenummer i wordt niet ij ele gemte rondesleutel opgehoogd. Hij wordt opgehoogd wnneer deze stp wordt uitgevoerd en dt hngt f vn de lengte vn de hoofdsleutel. 5. Zols ij de gewone ereening, wordt nog de xor opertie uitgevoerd met de 4 ytes eerder in de stroom. Om de sleutelgenertie te verduidelijen is een vooreeld gevisuliseerd in Figuur 6. Dit vooreeld wert met een 128 its hoofdsleutel, het eenvoudigste gevl. De ytes zijn per olom gerngschit, en er wordt nr rechts een stroom gegenereerd. De eerste 4 donerluwe olommen worden gevuld met de hoofdsleutel en dit is tevens de rondesleutel voor ronde 0. Om de volgende 4 ytes te genereren (in olom 4), opiëren we eerst de vorige 4 ytes (in olom 3). Deze roteren we één plts nr lins, in het guur is dt één plts nr oven. Byte 1,4 omt zo ovenn te stn en yte 0,4 ondern. Vervolgens vervngen we ele yte door een ndere yte die we opzoeen in de S-ox. Dn voeren we de xor opertie uit op de ovenste yte, smen met de ronde constnte vn ronde 10

0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 0,4 0,5 1,4 1,5 0,6 1,6 0,7 1,7 0,8 1,8 0,.. 1,.. 2,0 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,.. 3,0 3,1 3,2 3,3 3,4 3,5 3,6 3,7 3,8 3,.. Roteer S-ox RC 1 0 Figuur 6: Sleutelgenertie 1. Deze ronde constnte is RC(1) = 2 1 1 = 2 0 = 1. Omdt er ij de ereening geen getllen oven de 255 vooromen, unnen we de uitomst eenvoudig eplen. Als er wel getllen oven de 255 vooromen, moeten we modulo het irreduciele polynoom weren zols eschreven in Prgrf 3.1.2. Als ltste moeten we op de 4 ytes nog de xor opertie uitvoeren met 4 ytes eerder in de stroom. Omdt we weren met een 128 its (16 ytes) hoofdsleutel moeten we 16 ytes eerder ijen, dt zijn dus 4 olommen eerder. We moeten de xor opertie dus uitvoeren met olom 0. De volgende drie olommen worden op de eenvoudige mnier ereend. Deze mnier is gelij n de stppen 1 en 5 vn de lterntieve ereening. Omdt we met een 128 its (16 ytes) hoofdsleutel weren, wordt de lterntieve ereening ele 16 ytes gedn. Dit wordt dus gedn in de olommen 4, 8, 12, etc. Er is nog een uitzondering ij een hoofdsleutel vn 256 its. De lterntieve stp wordt dr ele 32 ytes uitgevoerd, dt is dus ele 2 rondesleutels. Op de totle 14 rondes zou deze stp dn mr 7 eer uitgevoerd worden. Om toch meer eweringen op de sleutel te doen, is ervoor geozen om tussentijds nog een gereduceerde lterntieve ewering te doen. Deze estt uit de stppen 1, 3 en 5 zols die hieroven zijn eschreven. Deze gereduceerde lterntieve ereening wordt oo ele 32 ytes uitgevoerd, mr met een verschuiving vn 16 ytes wrdoor deze precies fwisselend met een volledige lterntieve ereening wordt gedn. Bij een 256 its hoofdsleutel wordt er dus ele 16 ytes een lterntieve ereening gedn, en deze lterntieve ereening is fwisselend een volledige en een gereduceerde lterntieve ereening. Alle guren in deze prgrf zijn door mij ewerte guren, origineel fomstig uit het puliee domein 6. 6 De originele versies zijn te vinden op http://en.wiipedi.org/wii/advnced_encryption_stndrd 11

3.4 Onderouwing 3.4.1 Diusie en Confusie Een cryptogrsch lgoritme dt estnd is tegen onder ndere sttistische nvllen heeft de eigenschppen diusie en confusie [22]. Diusie wil zeggen dt er een stere vermenging estt tussen de invoer test en de versleutelde test. Deze vermenging moet zo intens zijn dt ls er één it in de invoer verndert, dit eect heeft op de gehele versleutelde test. Dit eect moet ovendien volstret willeeurig lijen. Als er één it in de invoer verndert, is ij ele it in de versleutelde test de ns 50% dt hij verndert. Er is dn geen sttistisch vernd te ontdeen tussen de invoer en de versleutelde test. Confusie lijt op de diusie-eigenschp, mr gt over het vernd tussen de hoofdsleutel en de versleutelde test. Dr moet een stere vermenging estn wrdoor ele it vn de hoofdsleutel eect heeft op ele it in de versleutelde test. Als er één it in de hoofdsleutel verndert, is ij ele it in de versleutelde test de ns 50% dt hij verndert. Er is dn geen sttistisch vernd te vinden tussen de hoofdsleutel en de versleutelde test. Een perfecte diusie en confusie is niet ltijd hlr, mr dt is niet nodig. Als het de perfectie ndert en ls dus de nsen die hieroven genoemd zijn ij de 50% in de uurt omen, zijn er zeer veel pren vn eende invoer en versleutelde test nodig om de sttistische vernden te unnen geruien. Als het meer wer is om deze sttistische vernden te vinden dn om lle sleutels uit te proeren met een rute rcht nvl, dn heeft het toch geen zin om deze sttistische vernden te zoeen. Het is immers sneller om lle sleutels uit te proeren. In AES is diusie verwert door de stppen: sustitutie, olomvermenigvuldiging en rijrottie. De S-ox die in de sustitutiestp wordt geruit is zó geozen dt hij voor optimle diusie zorgt innen één yte. Als er in een yte één it wordt vernderd, dn wordt de yte door de S-ox in een ndere yte vernderd. Deze ndere yte heeft totl geen vernd met de invoer-yte, dt wil zeggen dt ongeveer de helft vn de its is vernderd. Om te zorgen dt het eect vn een vernderende it niet lleen innen één yte eect heeft, is er de olomvermenigvuldigingstp. Door de mtrixvermenigvuldiging in die stp wordt het eect vn een vernderde it doorgevoerd nr de hele olom, ele yte heeft nmelij invloed op ele ndere yte in die ereening. Nu is het eect vn één vernderende it l zichtr in de hele olom, mr nog niet in de ndere olommen. Dit wordt gedn door de rijrottiestp. De vernderde ytes omen zo in ndere olommen terecht, wrn ze met een olomvermenigvuldiging de rest vn de ytes in die olom eïnvloeden. Nu zijn lle ytes eïnvloed door één vernderende invoer-it. Omdt deze stppen een ntl eer herhld worden, wordt het diusie-eect steeds groter. De confusie is op eenzelfde mnier in AES verwert, mr deze vindt voornmelij in de sleutelgenertie plts. Als ele it vn de hoofdsleutel eect heeft op ele it vn (ltere) rondesleutels, dn eïnvloedt ele it in de hoofdsleutel oo de gehele versleutelde test. Wnt de rondesleutels worden door de 12

xor-opertie met de dt wordt gecomineerd. De confusie in de sleutelgenertie vindt plts door de sustitutie en rottie. De sustitutie heeft hetzelfde eect ls ij diusie. De rottie verspreidt dit eect over de olom. Omdt ele volgende olom gegenereerd wordt door de vorige olom te nemen en (n eventuele eweringen) de xor opertie erop uit te voeren met een eerdere olom, wordt de diusie ltijd over de olommen verspreid. De enige ewering in de sleutelgenertie die niet ijdrgt n de confusie is de toevoeging vn de ronde constnte. Deze ewering is er lleen om de symmetrie tegen te gn. De confusie gt minder snel dn de diusie. In twee tot drie rondes is er l volledige diusie, mr het duurt minstens 4 ronden voor er volledige confusie is [9]. 3.4.2 The Wide Tril Design Strtegy De mers vn AES heen een lgemene methode edcht om een rouust cryptogrsch lgoritme te men. Hierij is reening gehouden met dierentiële en lineire cryptonlyse, de meest populire vormen vn cryptonlyse ten tijde vn de ontwieling vn AES. De door Jon Demen en Vincent Rijmen ontwielde methode heet The Wide Tril Design Strtegy [8] en is ls sis geruit voor AES. De methode estt uit twee stppen: 1. Een lole niet-lineire trnsformtie. In AES is dit de sustitutiestp. 2. Een niet-lole lineire trnsformtie. IN AES zijn dit de rijrottie en olomvermenigvuldiging stppen. Smen zorgen deze stppen voor optimle diusie, en het n snel uitgevoerd worden. 3.4.3 Eenvoud AES heeft een vn de eenvoudigste lgerïsche structuren onder de lo encryptie lgoritmes [13]. Dit is met opzet door de mers gedn. Zo onden ze eenvoudiger ewijzen dt sommige typen nvllen onmogelij uitgevoerd unnen worden. Een nder elngrij rgument is dt een eenvoudige structuur ervoor zorgt dt meer mensen het lgoritme gn estuderen, en dt zwheden zo sneller gevonden worden. Mr omdt deze zwheden tot nu toe nog niet gevonden zijn terwijl het lgoritme wél veel is estudeerd, geeft dit vertrouwen in de veiligheid vn AES. Een nder voordeel is dt het melijer is om AES correct te geruien. Als een lgoritme erg ingewield is dn zijn de eecten vn leine vernderingen niet goed te overzien en is het wrschijnlijer dt drdoor zwheden in de implementtie ontstn. 3.4.4 Snelheid Zols ij de oproep voor ndidten voor AES genoemd werd [6], is het erg elngrij dt het lgoritme snel uit te voeren is in zowel softwre ls hrdwre. Bij de ontwieling vn AES is dr vnf het egin reening mee gehouden. 13

De eweringen zijn zo geozen dt de implementtie snel is, zelfs ondns lle ingewielde wisunde. Zo is de mtrix die in de olomvermenigvuldigingstp geruit wordt zó geozen dt de eweringen in het eindige lichm zeer snel uit te voeren zijn. En de inverse vn die mtrix omt goed uit zodt de ereeningen ij ontsleuteling oo snel uit te voeren zijn. Drnst is AES zeer toegnelij voor chiprten, oo wel smrt crds genoemd. Deze heen een 8-it processor. AES n hier goed op geïmplementeerd worden omdt ele ewering op een yte uitgevoerd wordt. Als AES op 32 its wrden zou weren, zou een implementtie op een chiprt erg veel geunstel vergen en erg trg worden. In The Design of Rijndel [9] worden de snelheden vn een ntl implementties genoemd. Een 8-it processor die op 4 MHz loopt n 6750 ytes per seconde versleutelen. Op een Pentium III processor op 800 MHz unnen ongeveer 50 Megytes per seconde worden versleuteld. Dt is veel meer dn een gewone hrde schijf weg n schrijven! 4 Gerui 4.1 Geruismodus Als AES in een pplictie geruit wordt, wil dt niet zeggen dt de informtie ddwerelij veilig is. Het is erg vn elng wele geruismodus geruit wordt. Een geruismodus is de mnier wrop AES wordt ingezet. De eenvoudigste mnier is door de dt op te splitsen in loen vn 128 its en ieder lo prt te versleutelen met de sleutel. Het proleem hierij is echter dt ls er meerdere loen met dezelfde inhoud zijn, de versleutelde loen oo hetzelfde zijn. Op deze mnier is er toch vernd te zien in de versleutelde dt, terwijl dt juist niet de edoeling is. Een etere mnier vn versleuteling is door eerst de xor opertie uit te voeren op de invoer smen met het vorige versleutelde lo, voordt de dt in het AES-lgoritme gt. Op deze mnier hngt el lo vn het vorige lo f, en n je geen vernden meer tussen loen onderling vinden. Omdt er ij het eerste lo geen vorig versleuteld lo is, wordt dr een initilistie vector geruit. Drvoor wordt v willeeurige dt geozen zodt ls je twee eer hetzelfde estnd versleutelt, de uitomst toch verschillend is. Het ndeel vn de eschreven methode is dt de versleuteling vn loen niet prllel uitgevoerd n worden. Er zijn nog veel ndere geruismodi met ieder hun eigen voor en ndelen. Het is dus erg elngrij om een goede modus te iezen. Het Ntionl Institute of Stndrds nd Technology (NIST) heeft een ntl geruismodi vstgesteld wrmee AES geruit mg worden [12]. 4.2 Adoptie AES is in 2001 ocieel een stndrd geworden. In juni 2003 ondigde de overheid vn de Verenigde Stten dt ze de stndrd gingen geruien ter escherming vn hun geheime dt [2]: 14

"The design nd strength of ll ey lengths of the AES lgorithm (i.e., 128, 192 nd 256) re sucient to protect clssied informtion up to the SECRET level. TOP SECRET informtion will require use of either the 192 or 256 ey lengths. The implementtion of AES in products intended to protect ntionl security systems nd/or informtion must e reviewed nd certied y NSA prior to their cquisition nd use." Dit eteent dt er vertrouwen is in de stndrd door niet de minste prtij, nmelij de Verenigde Stten. Verder wordt AES op vele ndere geieden geruit, zols in het drdloze encryptie protocol WPA2 en het eveiligde ip protocol IPsec. Oo in rchiveringssoftwre zols WinZip, en schijfencryptiesoftwre zols BitLocer wordt AES geruit. De nieuwste Intel processoren, en toeomstige AMD processoren ondersteunen zelfs specile instructies om het AES versleutelproces te versnellen [15]. De Advnced Encryption Stndrd wordt dus geruit in veel elngrije nieuwe omgevingen, en met de introductie vn specile instructies in processoren wordt dit proces verder versneld. De introductie vn de nieuwe stndrd is dus een succes. Er zijn nog steeds een hoop oude systemen die Triple DES geruien. Er is nog geen noodz om deze systemen nr AES om te ouwen wnt voorlopig is Triple DES nog veilig genoeg [3]. Mr in nieuwe systemen zl AES geruit worden omdt deze veiliger en sneller is. 5 Kren In de cryptogre wordt een lgoritme ls gert eschouwd ls er een mnier is om sneller chter de originele dt te omen dn door lle sleutels uit te proeren. Het uitproeren vn lle sleutels wordt een rute rcht nvl genoemd. Deze is fhnelij vn het ntl mogelije sleutels. Bij de 128 its vrint vn AES zijn er 2 128 mogelije sleutels. Dit zijn er zo erg veel dt dit niet hlr is voor het eind vn deze eeuw [10]. De vrg is of er oo een ortere route gevonden n worden. Er zijn veel verschillende mnieren om deze te zoeen, en zo het lgoritme te reen. De elngrijste zijn dierentiële en lineire cryptonlyse. Zols oo in Prgrf 3.4.2 is uitgelegd, is AES ontworpen met dierentiële en lineire cryptonlyse in het chterhoofd. De mers heen zelfs ewezen dt deze nvllen onmogelij zijn op AES [9]. Er zijn sinds die tijd echter een hoop nieuwe soorten nvllen ontdet, is AES dr oo tegen estnd? 5.1 Integrle cryptonlyse In het AES lgoritme wordt veelvuldig gerui gemt vn de xor opertie. Een eigenschp vn de xor opertie is dt =, en deze eigenschp wordt ij integrle cryptonlyse geruit. Het idee chter deze nvlsmethode is om verschillende invoeren te construeren zodt, ls de xor opertie op lle invoeren wordt uitgevoerd, het resultt gelij is n nul. Als op de versleutelde versies 15

vn deze invoeren de xor opertie wordt uitgevoerd, dn is de invoerdt ls het wre eruit gelterd. Wt overlijft is de door elr gelutste sleutel. Deze nvl ws l voor de constructie vn het AES lgoritme eend. Uit een AES versie met 4 ronden n hiermee de sleutel herleid worden, en door de twee opvolgende rondes te goen n zo een versie vn AES met zes ronden gert worden. Het heeft geen zin om de overige ronden te goen, wnt dn zijn er zo veel mogelijheden dt het sneller is om een rute rcht nvl te doen. AES mt dus gerui vn meer dn zes ronden, zodt deze nvl niet meer mogelij is [9]. 5.2 Algerïsche cryptonlyse Lnge tijd werd er gedcht dt deze nieuwe vorm vn cryptonlyse AES zou reen. De meeste hoop ws gevestigd op de XSL-ttc. Het idee hierchter is om misrui te men vn de reltief eenvoudige structuur vn AES. De eweringen die AES uitvoert worden in een stelsel vn vergelijingen genoteerd, wrin de sleutel de oneende fctor is. Door deze vergelijingen op te lossen, zou de sleutel er zo uit rollen. De werelije uitvoering hiervn lee prtisch echter niet hlr te zijn. Het oplossen vn een stelsel vergelijingen zols deze is NP-moeilij, en vormt een grotere uitdging dn simpelweg lle mogelije sleutels uit te proeren.[10] 5.3 Nieuwe nvllen In 2009 is de ndcht gevestigd op de sleutelgenertie vn AES. In mei is een r gevonden vn AES-256 wrij één op de 2 35 sleutels gert n worden in een tijdscomplexiteit vn 2 120, drij zijn er oo 2 120 versleutelde testen nodig vn geozen invoerdt [5]. Dit eteent dt AES theoretisch is gert. De nvl is echter extreem onprtisch en er wordt verder gezocht nr prtische nvllen, voorl nr nvllen die op ele sleutel weren. Er zijn een pr nvllen die een deel vn de rondes vn AES unnen ren. Zo unnen ij de 256 its vrint l 10 vn de 14 ronden gert worden [4], en ij de 128 its vrint l 8 vn de 10 [14]. Het lijt door deze nvllen lsof AES ijn op een prtische mnier te ren is, mr dt vlt wel mee. De ltere rondes zijn nmelij exponentieel moeilijer te ren. Bovendien zl de nvl nooit écht prtisch zijn, omdt er voor de recente typen nvllen erg veel eende versleutelde testen nodig zijn vn eende invoerdt. De recente nvllen geven wel n dt het AES lgoritme wnelt, en dt er eplde zwheden in zitten. 5.4 Side-chnnel nvllen In plts vn het nvllen vn AES zelf, unnen we oo speciee implementties vn AES nvllen. Dit wordt een side-chnnel nvl genoemd. We richten ons hierij niet op de geruismodus, mr op ndere fctoren die informtie geven over het systeem. Als je ij de hrdwre vn het encryptiesysteem 16

unt omen, un je ijvooreeld meten hoe lng er over een AES encryptie wordt gedn. Uiteindelij n je zo de sleutel eiden. Een ndere endering is door te meten hoeveel energie de hrdwre verruit ij encryptie. Je unt je voorstellen dt het vernderen vn 3 its meer energie ost dn het vernderen vn 4 its, en zo zou je oo de sleutel unnen eiden. Een ndere np is door doelewust de hrdwre in de fout te lten gn door ijvooreeld oververhitting. Zo n er een vereerde ereening gedn worden wrdoor er onedoeld ritiee informtie nr uiten let. Hiermee is l een succesvolle nvl gedn [20]. Deze nvllen zijn ntuurlij llerminst prtisch. Je moet immers ij het versleutelen nwezig zijn. Mr je zou een situtie unnen edenen wrin het mogelij is. Als de encryptie ijvooreeld in een chiprt wordt gedn, zou dit wel mogelij zijn. Tegen de simpelste vormen vn deze nvllen is AES te wpenen [9]. Als je ervoor zorgt dt de encryptie ltijd evenveel tijd in eslg neemt door noopertion commndo's op eplde pltsen toe te voegen, dn is de nvl wrij de tijd wordt gemeten nsloos. Het lgoritme is moeilijer te wpenen tegen het meten vn energieverrui. Een mogelijheid hier is om hrdwremtig componenten toe te voegen die het energieverrui zo veel mogelij spreiden over de tijd. In plts vn de hrdwre unnen we oo side-chnnel nvllen op softwre implementties uitvoeren. In de implementtie vn WinZip wordt de dt met AES versleuteld mr de dt die WinZip zelf ern toevoegt, de metdt, wordt niet versleuteld. Deze metdt geeft echter zoveel hints dt hiermee de sleutel innen redelije tijd chterhld n worden [17]. 6 Toeomst We heen gezien dt AES een elngrij encryptie lgoritme is. Het heeft een zwre selectieprocedure moeten doorstn, en lleen drdoor l verdient het l een hoop vertrouwen. Over het ontwerp zelf is goed ngedcht door de mers. Alle estnde nvllen onden AES niet ren en drdoor is men op zoe gegn nr nieuwe nvllen. In 2009 zijn een hoop nieuwe soorten nvllen edcht wrmee AES werd geproeerd te ren. Er n dus gesteld worden dt AES de ontwieling vn de cryptogre heeft gestimuleerd. De recente nvllen op AES lijen erg onheilspellend voor de toeomst vn AES. Het lijt echter onwrschijnlij dt het ddwerelij tot een prtische r zl omen. We heen gezien dt AES met een 256 its hoofdsleutel l gert is, mr deze nvl is extreem onprtisch. De nvllen zullen misschien iets prtischer worden. Het ligt voor de hnd dt áls er een grote zwte in AES zou liggen, deze l tijdens de zwre selectieprocedure gevonden zou zijn. Dit is echter niet geeurd dus is het onwrschijnlij dt er een grote zwte in AES estt. Desondns doen de nieuwe nvllen het vertrouwen in AES wnelen, wnt het eteent dt er ennelij toch een leine zwheid in AES zit. Meer reden tot zorgen zijn de side-chnnel nvllen. Deze reltief nieuwe 17

nvllen unnen speciee implementties vn AES l ren. Omdt deze soort nvllen nog zo jong is, wordt er ij de implementtie niet ltijd n gedcht. Voorl ls AES meer toegepst gt worden op chiprten is het reden tot zorgen. Een chiprt is nmelij erg toegnelij om side-chnnel nvllen op uit te voeren omdt je ijn direct ij de chip n omen. Mijn verwchting is dt er de omende jren meer ndcht esteed zl worden n het verdedigen vn het AES lgoritme tegen dit soort nvllen. Referenties [1] Speciction for the dvnced encryption stndrd (AES). NIST, 26 Novemer 2001. [2] Ntionl policy on the use of the dvnced encryption stndrd (AES) to protect ntionl security systems nd ntionl security informtion. CNSS, June 2003. [3] E. Brer, W. Brer, W. Burr, W. Pol, nd M. Smid. Recommendtion for Key Mngement - Prt 1: Generl (Revised). NIST, Mrch 2007. [4] A. Biryuov, O. Dunelmn, N. Keller, D. Khovrtovich, nd A. Shmir. Key Recovery Attcs of Prcticl Complexity on AES Vrints With Up To 10 Rounds. IACR, July 2009. [5] A. Biryuov, D. Khovrtovich, nd I. Niolic. Distinguisher nd Relted- Key Attc on the Full AES-256 (Extended Version). IACR, August 2009. [6] E. Bunten-Mines. Announcing request for cndidte lgorithm nomintions for the dvnced encryption stndrd. NIST, 12 Septemer 1997. [7] D. Coppersmith. The dt encryption stndrd (DES) nd its strength ginst ttcs. Journl of Reserch nd Development, 38(3):243250, My 1994. [8] J. Demen nd V. Rijmen. The wide tril design strtegy. Lecture Notes In Computer Science, 2260:222238, 2001. [9] J. Demen nd V. Rijmen. The design of Rijndel: AES - the dvnced encryption stndrd. Springer-Verlg Telos, Snt Clr CA, Ferury 2002. [10] J. Demen, V. Rijmen, nd P. Brreto. Rijndel: eyond the AES, Decemer 2002. [11] W. Die nd M. Hellmn. Specil feture exhustive cryptnlysis of the NBS dt encryption stndrd. Computer, 10(6):7484, June 1977. [12] M. Dworin. Recommendtion for loc cipher modes of opertion, 2001. 18

[13] N. Ferguson nd B. Schneier. Prcticl Cryptogrphy. John Wiley & Sons, 2003. [14] H. Gilert nd T. Peyrin. Super-sox cryptnlysis: Improved ttcs for AES-lie permuttions. IACR, Novemer 2009. [15] S. Gueron. Advnced Encryption Stndrd (AES) Instructions Set. Intel Corportion, July 2008. [16] T. R. Johnson. Americn Cryptology during the Cold Wr, 1945-1989. Boo III: Retrenchment nd Reform, 1972-1980. 1998. [17] T. Kohno. Attcing nd repiring the winzip encryption scheme. In Proceedings of the 11th ACM conference on Computer nd communictions security, pges 7281, 2004. [18] J. Nechvtl, E. Brer, L. Bsshm, W. Burr, M. Dworin, J. Foti, nd E. Roc. Report on the development of the dvnced encryption stndrd (AES). NIST. [19] J. Nechvtl, E. Brer, D. Dodson, M. Dworin, J. Foti, nd E. Roc. Sttus report on the rst round of the development of the dvnced encryption stndrd. NIST. [20] D. Sh, D. Muhopdhyy, nd D. RoyChowdhury. A digonl fult ttc on the dvnced encryption stndrd. IACR, Novemer 2009. [21] C. Snchez-Avil nd R. Snchez-Reillol. The rijndel loc cipher (AES proposl) : comprison with DES. In IEEE 35th Interntionl Crnhn Conference, pges 229234, Octoer 2001. [22] C. E. Shnnon. Communiction theory of secrecy systems, Septemer 1946. [23] A. Sterenz nd P. Lipp. Performnce of the AES cndidte lgorithms in jv. In AES Cndidte Conference, pges 161165, 2000. [24] G. Tel. Collegedictt Cryptogre: Beveiliging vn de digitle mtschppij. Universiteit Utrecht, otoer 2009. 19