Wat is AES-256-codering en hoe werkt het?

Geschreven door

Advanced Encryption Standard (voorheen Rijndael) is een van de manieren om informatie te versleutelen. Het is zo veilig dat zelfs brute kracht het onmogelijk kan breken.

Deze geavanceerde coderingsstandaard wordt gebruikt door de National Security Agency (NSA) samen met meerdere industrieën, waaronder online bankieren. Dus, wat is AES-codering? en hoe werkt het? Dat zoeken we uit!

Wat is AES-codering? 

AES is de data-encryptie standaard van vandaag. Het is ongeëvenaard in de hoeveelheid veiligheid en bescherming die het biedt.

Laten we opsplitsen wat het is hij precies is. AES is een

  • Symmetrische sleutelversleuteling
  • Blokcijfer

Symmetrische versus asymmetrische codering

AES is een symmetrisch soort encryptie.

symmetrische sleutelversleuteling

"Symmetrisch" betekent dat het de gebruikt dezelfde sleutel voor zowel versleutelen als ontsleutelen informatie Bovendien, is zowel een het zender en ontvanger van de gegevens hebben een kopie nodig om het cijfer te decoderen.

Daarnaast is asymmetrisch sleutelsystemen gebruiken a verschillende sleutel voor elk van de twee processen: encryptie en decryptie.

De Avoordeel van symmetrische systemen zoals AES is, zijn ze veel sneller dan asymmetrisch degenen. Dit komt omdat symmetrische sleutelalgoritmen vereisen: minder rekenkracht. 

Dit is de reden waarom asymmetrische sleutels het best worden gebruikt voor: externe bestandsoverdrachten. Symmetrische sleutels zijn beter voor interne versleuteling.

Wat zijn blokcijfers?

Vervolgens is AES ook wat de technische wereld een . noemt "blokcijfer." 

Het wordt "blokkeren" genoemd omdat dit type cijfer verdeelt de te versleutelen informatie (bekend als platte tekst) in secties die blokken worden genoemd.

Om specifieker te zijn, AES gebruikt a 128-bits blokgrootte. 

Dit betekent dat de gegevens zijn onderverdeeld in a vier-bij-vier array met 16 bytes. Elke byte bevat acht bits.

Dus 16 bytes vermenigvuldigd met 8 bits levert a . op totaal 128 bits in elk blok. 

Ongeacht deze divisie, de grootte van de versleutelde gegevens blijft hetzelfde. Met andere woorden, 128 bits leesbare tekst levert 128 bits cijfertekst op.

Het geheim van het AES-algoritme

Houd je hoed vast, want hier wordt het interessant.

Joan Daemen en Vincent Rijmen hebben de briljante beslissing genomen om de Substitutie Permutatie Netwerk (SPN) algoritme.

SPN werkt door te solliciteren meerdere rondes van sleuteluitbreiding om te versleutelen data.

De initiële sleutel wordt gebruikt om een reeks nieuwe sleutels "ronde sleutels" genoemd.

We zullen later meer ingaan op hoe deze ronde sleutels worden gegenereerd. Het volstaat om te zeggen dat meerdere wijzigingsrondes elke keer een nieuwe rondesleutel genereren.

Met elke ronde worden de gegevens steeds veiliger en wordt het moeilijker om de codering te doorbreken.

Waarom?

Omdat deze encryptierondes AES ondoordringbaar maken! Er zijn gewoon veel te veel rondes die hackers moeten doorbreken om het te ontsleutelen.

Stel het zo: Een supercomputer zou meer jaren nodig hebben dan de veronderstelde leeftijd van het universum om een ​​AES-code te kraken.

Tot op heden is AES praktisch dreigingsvrij.

De verschillende sleutellengtes

Er zijn drie lengtes AES-coderingssleutels.

Elke sleutellengte heeft een ander aantal mogelijke toetscombinaties:

  • 128-bits sleutellengte: 3.4 x 1038
  • 192-bits sleutellengte: 6.2 x 1057
  • 256-bits sleutellengte: 1.1 x 1077

Hoewel de sleutellengte van deze coderingsmethode varieert, is de blokgrootte - 128-bits (of 16 bytes) - blijft hetzelfde. 

Waarom het verschil in sleutelgrootte? Het draait allemaal om praktische zaken.

Laten we als voorbeeld een app nemen. Als het 256-bits AES gebruikt in plaats van AES 128, zal het: meer rekenkracht nodig.

Het praktische effect is dat het zal meer brute kracht nodig hebben van je batterij, dus je telefoon gaat sneller leeg.

Dus tijdens het gebruik van AES 256-bit encryptie is de gouden standaard, het is gewoon niet haalbaar voor dagelijks gebruik.

Waar wordt Advanced Encryption Standard (AES) gebruikt?

AES is een van de meest vertrouwde systemen ter wereld. Het is op grote schaal toegepast in meerdere industrieën die extreem hoge beveiligingsniveaus nodig hebben.

Tegenwoordig zijn AES-bibliotheken gemaakt voor tal van programmeertalen, waaronder: C, C++, Java, Javascript en Python.

De AES-coderingsstandaard wordt ook gebruikt door verschillende programma's voor bestandscompressie inclusief 7 Zip, WinZip en RAR, en schijfversleutelingssystemen zoals BitLocker en FileVault; en bestandssystemen zoals NTFS.

Misschien heb je het al in je dagelijks leven gebruikt zonder dat je het merkt!

AES is een essentieel hulpmiddel bij database-encryptie en VPN systemen.

Als u erop vertrouwt dat wachtwoordmanagers uw inloggegevens voor uw meerdere accounts onthouden, bent u waarschijnlijk al AES tegengekomen!

Die berichten-apps die je gebruikt, zoals WhatsApp en Facebook Messenger? Ja, dat gebruiken ze ook.

Zelfs video games als Grand Theft Auto IV gebruik AES om u te beschermen tegen hackers.

Een AES-instructieset is geïntegreerd in: alle Intel- en AMD-processors, dus uw pc of laptop heeft het al ingebouwd zonder dat u iets hoeft te doen.

En laten we natuurlijk de apps niet vergeten die uw bank gemaakt om u uw financiën online te laten beheren.

Nadat je hebt ontdekt hoe AES-codering werkt, zul je: veel gemakkelijker ademen met de wetenschap dat uw informatie in veilige handen is!

Geschiedenis van AES-codering

AES begon als een reactie Amerikaanse regering nodig heeft.

In 1977 zouden federale agentschappen vertrouwen op de Data Encryptie Standaard (DES) als hun primaire coderingsalgoritme.

In de jaren negentig was DES echter niet langer veilig genoeg omdat er alleen kon worden ingebroken 22 uur. 

Dus de regering kondigde een openbare competitie om een ​​nieuw systeem te vinden dat meer dan 5 jaar meegaat.

Het voordeel van dit open proces was dat elk van de ingediende coderingsalgoritmen kon worden onderworpen aan openbare veiligheid. Dit betekende dat de overheid 100% zeker dat hun winnende systeem geen achterdeur had.

Bovendien, omdat er meerdere geesten en ogen bij betrokken waren, maximaliseerde de overheid haar kansen op gebreken opsporen en herstellen.

Eindelijk, de Rijndael-cijfer (ook bekend als de Advanced Encryption Standard van vandaag) werd tot kampioen gekroond.

Rijndael is vernoemd naar de twee Belgische cryptografen die het hebben gemaakt, Vincent Rijmen en Joan Daemen.

In 2002 was het zo omgedoopt tot de Advanced Encryption Standard en gepubliceerd door het Amerikaanse National Institute of Standards and Technology (NIST).

De NSA heeft het AES-algoritme goedgekeurd vanwege het vermogen en de veiligheid om ermee om te gaan topgeheime informatie. DIT zette AES op de kaart.

Sindsdien is AES de iindustriestandaard voor encryptie.

Door het open karakter kan de AES-software gebruikt voor zowel publiek als privaat, commercieel en niet-commercieel toepassingen.

Hoe werkt AES 256?

Tot nu toe weten we dat deze versleutelingsalgoritmen de informatie die ze beschermen door elkaar gooien en er een willekeurige puinhoop van maken.

Ik bedoel, het basisprincipe van alle encryptie is elke gegevenseenheid wordt vervangen door een andere, afhankelijk van de beveiligingssleutel.

Maar wat precies maakt AES-encryptie veilig genoeg om als de industriestandaard te worden beschouwd?

Een overzicht van het proces

Het AES-coderingsalgoritme gaat door meerdere rondes van encryptie. Het kan zelfs 9, 11 of 13 ronden hiervan doorlopen.

Elke ronde omvat dezelfde stappen hieronder.

  • Verdeel de gegevens in blokken.
  • Sleuteluitbreiding.
  • Voeg de ronde sleutel toe.
  • Vervanging/vervanging van de bytes.
  • Verschuif de rijen.
  • Meng de kolommen.
  • Voeg opnieuw een ronde sleutel toe.
  • Doe het helemaal opnieuw.

Na de laatste ronde gaat het algoritme nog een ronde door. In deze set voert het algoritme stappen 1 tot 7 uit behalve stap 6.

Het verandert de 6e stap omdat het op dit punt niet veel zou doen. Onthoud dat het dit proces al meerdere keren heeft doorlopen.

Dus een herhaling van stap 6 zou zijn: overtollig. De hoeveelheid verwerkingskracht die nodig is om de kolommen opnieuw te mengen, is het gewoon niet waard, zoals het zal de gegevens niet langer significant wijzigen.

Op dit moment hebben de gegevens de volgende rondes al doorlopen:

  • 128-bits sleutel: 10 ronden
  • 192-bits sleutel: 12 ronden
  • 256-bits sleutel: 14 ronden

Het resultaat?

Een random set van door elkaar gegooide karakters dat is niet logisch voor iedereen die de AES-sleutel niet heeft.

Een diepgaande blik

Je hebt nu een idee hoe dit symmetrische blokcijfer is gemaakt. Laten we in meer detail treden.

Ten eerste voegen deze coderingsalgoritmen de initiële sleutel toe aan het blok met behulp van een XOR (“exclusief of”) codering. 

Dit cijfer is een operatie ingebouwd in processorhardware.

Dan is elke byte aan gegevens vervangen met iemand anders.

Deze CRUCIAL stap volgt een vooraf bepaalde tabel genaamd De belangrijkste agenda van Rijndael om te bepalen hoe elke vervanging wordt gemaakt.

Nu heb je een set van nieuwe 128-bits ronde sleutels die al een warboel van door elkaar gegooide letters zijn.

Ten derde is het tijd om door de eerste ronde van AES-codering. Het algoritme voegt de initiële sleutel toe aan de nieuwe ronde sleutels.

Nu heb je je tweede willekeurig cijfer.

Ten vierde, het algoritme vervangt elke byte met een code volgens de Rijndael S-box.

Nu is het tijd om verschuif de rijen van de 4×4 array.

  • De eerste rij blijft waar hij is.
  • De tweede rij wordt één plaats naar links opgeschoven.
  • De derde rij is verschoven in twee ruimtes.
  • Ten slotte wordt de vierde drie velden verplaatst.

Ten zesde wordt elke kolom vermenigvuldigd met een vooraf gedefinieerde matrix die u opnieuw een geeft nieuw blok code.

We zullen niet in detail treden omdat dit een extreem ingewikkeld proces is dat veel geavanceerde wiskunde vereist.

Weet gewoon dat de kolommen van het cijfer worden gemengd en gecombineerd om een ​​ander blok te bedenken.

Ten slotte zal het de ronde sleutel aan het blok toevoegen (net zoals de initiële sleutel in de derde stap was).

Spoel vervolgens af en herhaal op basis van het aantal rondes dat u moet doen.

Het proces gaat nog een aantal keer door, waardoor u cijfertekst krijgt die is radicaal anders uit de leesbare tekst.

Om het te decoderen, doe het hele ding in omgekeerde volgorde!

Elke fase van het AES-coderingsalgoritme heeft een belangrijke functie.

Waarom alle stappen?

Als u voor elke ronde een andere sleutel gebruikt, krijgt u een veel complexer resultaat, waardoor uw gegevens worden beschermd tegen elke brute force-aanval, ongeacht de sleutelgrootte die u gebruikt.

Het bytevervangingsproces wijzigt de gegevens op een niet-lineaire manier. Dit verbergt de relatie tussen het origineel en versleuteld inhoud.

Het verschuiven van de rijen en het mengen van de kolommen zal de gegevens verspreiden. Door te verschuiven worden de gegevens horizontaal verspreid, terwijl het mengen dit verticaal doet.

Door bytes te transponeren, krijgt u een veel gecompliceerdere codering.

Het resultaat is een ongelooflijk geavanceerde vorm van codering dat kan niet worden gehackt tenzij je de geheime sleutel hebt.

Is AES-codering veilig?

Als onze beschrijving van het proces niet genoeg is om u te laten geloven in de kracht van de AES-sleutel, laten we dan eens kijken hoe veilig AES is.

Zoals we in het begin al zeiden, selecteerde het National Institute of Standards and Technology (NIST) drie soorten AES: 128-bits AES-, 192-bits en 256-bits sleutels.

Elk type gebruikt nog steeds dezelfde 128-bits blokken, maar ze verschillen op 2 punten.

Sleutellengte

Het eerste verschil ligt in de lengte van elk van de bitsleutels.

Als de langste, AES 256-bits codering biedt de sterkste niveau van encryptie.

Dit komt omdat een hacker het moet proberen voor een 256-bits AES-codering 2256 verschillende combinaties om ervoor te zorgen dat de juiste is opgenomen.

We moeten benadrukken dat dit nummer is astronomisch groot. Het is een totaal 78 cijfers! 

Als je nog steeds niet begrijpt hoe groot het is, laten we het dan zo zeggen. Het is zo groot dat het is exponentieel meer dan het aantal atomen in het waarneembare heelal.

Het is duidelijk dat de Amerikaanse regering, in het belang van de bescherming van de nationale veiligheid en andere gegevens, vereist een 128- of 256-bits coderingsproces voor gevoelige gegevens.

AES-256, die een sleutellengte van 256 bits, ondersteunt de grootste bitgrootte en is praktisch onbreekbaar met brute kracht op basis van de huidige rekenkrachtstandaarden, waardoor het vanaf vandaag de sterkste coderingsstandaard is die er is. 

SleutelgrootteMogelijke combinaties
1 bit2
2 beetjes4
4 beetjes16
8 beetjes256
16 beetjes65536
32 beetjesX 4.2 109
56 bits (DES)X 7.2 1016
64 beetjesX 1.8 1019
128 bits (AES)X 3.4 1038
192 bits (AES)X 6.2 1057
256 bits (AES)X 1.1 1077

Encryptierondes

Het tweede verschil tussen deze drie AES-varianten zit in het aantal versleutelingsrondes dat het doormaakt.

128-bits AES-codering gebruikt 10 rondes, AES 192 gebruikt 12 rondes, en AES 256 gebruikt 14 rondes.

Zoals je waarschijnlijk al geraden hebt, hoe meer rondes je gebruikt, hoe complexer de codering wordt. Dit is vooral wat AES 256 tot de veiligste AES-implementatie maakt.

De Catch

Een langere sleutel en meer rondes vereisen hogere prestaties en meer middelen/kracht.

AES 256 gebruikt 40% meer systeembronnen dan AES 192.

Dit is de reden waarom de 256-bit Advanced Encryption-standaard het beste is voor: omgevingen met hoge gevoeligheid, zoals de overheid als het om gevoelige gegevens gaat.

Dit zijn de gevallen waarin veiligheid is belangrijker dan snelheid of kracht.

Kunnen hackers AES 256 kraken?

Het oud De 56-bit DES-sleutel kan in minder dan een dag worden gekraakt. Maar voor AES? Het zou duren miljarden jaren te breken met behulp van de computertechnologie die we vandaag hebben.

Hackers zouden dwaas zijn om zelfs maar een dergelijke aanval uit te voeren.

Dat gezegd hebbende, we moeten toegeven geen enkel encryptiesysteem is volledig veilig.

Onderzoekers die AES hebben onderzocht, hebben een paar mogelijke manieren gevonden om binnen te komen.

Bedreiging #1: Aanvallen met gerelateerde sleutels

In 2009 ontdekten ze een mogelijke aanval met een verwante sleutel. In plaats van brute kracht zullen deze aanvallen de coderingssleutel zelf targeten.

Dit type cryptanalyse zal proberen een cijfer te kraken door te observeren hoe het werkt met verschillende sleutels.

Gelukkig is de gerelateerde-sleutelaanval: alleen een bedreiging naar AES-systemen. De enige manier waarop het kan werken, is als de hacker de relatie tussen twee sets sleutels kent (of vermoedt).

Wees gerust, cryptografen waren er snel bij om de complexiteit van het AES-sleutelschema na deze aanvallen te verbeteren om ze te voorkomen.

Bedreiging #2: bekende belangrijke onderscheidende aanval

In tegenstelling tot brute kracht, gebruikte deze aanval een bekende sleutel om de structuur van de encryptie te ontcijferen.

De hack was echter alleen gericht op een acht-ronde-versie van AES 128, niet de standaard 10-ronde versie. Echter, dit is geen grote bedreiging.

Bedreiging #3: zijkanaalaanvallen

Dit is het belangrijkste risico waarmee AES wordt geconfronteerd. Het werkt door te proberen alle informatie ophalen het systeem lekt.

Hackers kunnen luisteren naar geluiden, elektromagnetische signalen, timinginformatie of stroomverbruik om te proberen te achterhalen hoe de beveiligingsalgoritmen werken.

De beste manier om side-channel aanvallen te voorkomen is door: het verwijderen van informatielekken of het maskeren van de gelekte gegevens (door extra elektromagnetische signalen of geluiden te genereren).

Bedreiging #4: de sleutel onthullen

Dit is eenvoudig genoeg te bewijzen door het volgende te doen:

  • Sterke wachtwoorden
  • Multifactor-authenticatie
  • firewalls
  • Antivirus software 

Bovendien, leid uw medewerkers op tegen social engineering en phishing-aanvallen.

De voordelen van AES-codering

Het encryptieproces van AES is relatief eenvoudig te begrijpen. Dit zorgt voor eenvoudige implementatie, evenals echt snelle codering en decoderingstijden.

Bovendien, AES vereist minder geheugen dan andere soorten codering (zoals DES).

Tot slot, wanneer u een extra veiligheidslaag nodig heeft, kunt u ecombineer AES gemakkelijk met verschillende beveiligingsprotocollen zoals WPA2 of zelfs andere soorten codering zoals SSL.

AES versus ChaCha20 

AES heeft enkele beperkingen die andere soorten codering hebben geprobeerd te vullen.

Hoewel AES fantastisch is voor de meeste moderne computers, is het niet ingebouwd in onze telefoons of tablets.

Dit is de reden waarom AES meestal wordt geïmplementeerd via software (in plaats van hardware) op mobiele apparaten.

De software-implementatie van AES neemt te veel batterijduur in beslag.

ChaCha20 gebruikt ook 256-bits sleutels. Het is ontwikkeld door verschillende ingenieurs van: Google om deze leemte op te vullen.

Voordelen van ChaCha20:

  • CPU-vriendelijker
  • Makkelijker te implementeren
  • Vereist minder stroom
  • Beter beveiligd tegen cache-timing-aanvallen
  • Het is ook een 256-bits sleutel

AES versus Twofish

Twofish was een van de finalisten in de competitie die de regering hield om DE's te vervangen.

In plaats van de blokken gebruikt Twofish een Feistel-netwerk. Dit betekent dat het een vergelijkbare maar complexere versie is van oudere standaarden zoals DES.

Tot op de dag van vandaag blijft Twofish ongebroken. Dit is de reden waarom velen zeggen dat het veiliger is dan AES, gezien de potentiële bedreigingen die we eerder noemden.

Het belangrijkste verschil is dat AES het aantal versleutelingsrondes varieert afhankelijk van de sleutellengte, terwijl Twofish het op een constante van 16 ronden.

Echter, Twofish vereist meer geheugen en kracht vergeleken met AES, wat de grootste ondergang is als het gaat om het gebruik van mobiele of goedkopere computerapparatuur.

Conclusie

Als AES-codering goed genoeg is voor de National Security Agency, zijn we meer dan bereid om te vertrouwen op de beveiliging ervan.

Ondanks de vele technologieën die tegenwoordig beschikbaar zijn, blijft AES aan de top van het peloton. Het is goed genoeg voor elk bedrijf om te gebruiken voor hun topgeheime informatie.

Referenties

Home » Cloud Storage » Wat is AES-256-codering en hoe werkt het?

Schrijf je in op onze nieuwsbrief

Abonneer u op onze wekelijkse roundup-nieuwsbrief en ontvang het laatste nieuws en trends in de branche

Door op 'abonneren' te klikken ga je akkoord met onze gebruiksvoorwaarden en privacybeleid.