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

in Cloud Storage

Advanced Encryption Standard (voorheen bekend als Rijndael) is een van de manieren om informatie te versleutelen. Het is zo veilig dat zelfs bruut geweld het onmogelijk kan breken. Deze geavanceerde encryptiestandaard wordt door de National Security Agency (NSA) samen met meerdere sectoren, waaronder online bankieren, gebruikt. Dus, wat is AES-codering? en hoe werkt het? Laten wij het uitzoeken!

Korte samenvatting: Wat is AES-256-codering? AES-256-codering is een manier om geheime berichten of informatie te beschermen tegen mensen die deze niet zouden moeten kunnen zien. AES-256-codering is als het hebben van een supersterk slot op uw doos dat alleen kan worden geopend met een zeer specifieke sleutel. Het slot is zo sterk dat het voor iemand heel moeilijk zou zijn om het te breken en de doos te openen zonder de juiste sleutel.

Wat is AES-codering?

AES is de gegevenscoderingsstandaard van vandaag. Het is ongeëvenaard in de hoeveelheid veiligheid en bescherming die het biedt.

Laten we uitsplitsen 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, zowel de 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 dat ze zijn 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 "blok" genoemd vanwege 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 te zeggen dat meerdere wijzigingsrondes elke keer een nieuwe ronde sleutel 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 dat doen 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 vertrouwt op wachtwoordbeheerders om uw inloggegevens voor uw meerdere accounts te 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 bank gemaakt om u uw financiën online te laten beheren.

Nadat u erachter bent gekomen hoe AES-codering werkt, zult u veel gemakkelijker ademen met de wetenschap dat uw informatie in veilige handen is!

Geschiedenis van AES-codering

AES begon als een reactie van de 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.

De 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 huidige Advanced Encryption Standard) 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?

Versleuteling en ontsleuteling zijn de fundamentele bouwstenen van moderne gegevensbeveiliging.

Versleuteling omvat het omzetten van leesbare tekst in cijfertekst, terwijl decodering het omgekeerde proces is waarbij cijfertekst weer in leesbare tekst wordt omgezet.

Om dit te bereiken, gebruiken versleutelingsalgoritmen een combinatie van verwerkingsstappen, waaronder substitutie- en permutatiebewerkingen, die werken op een statusarray.

De statusarray wordt gewijzigd door een reeks rondeversies, waarbij het aantal rondes wordt bepaald door de grootte van de coderingssleutel en de bitblokgrootte van het algoritme.

De coderingssleutel en de decoderingssleutel zijn vereist om de gegevens te transformeren, waarbij de coderingssleutel wordt gebruikt om de cijfertekst te genereren en de decoderingssleutel wordt gebruikt om de oorspronkelijke leesbare tekst te genereren.

De geavanceerde coderingsstandaard (AES) gebruikt een uitbreidingsproces om een ​​sleutelschema te genereren, en een netwerkstructuur die bytevervanging en permutatiebewerkingen omvat om gegevensbescherming te bereiken.

Tot nu toe weten we dat deze versleutelingsalgoritmen de informatie die ze beschermen door elkaar halen 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

In het huidige digitale tijdperk zijn internetbeveiliging en gegevensbeveiliging een topprioriteit geworden voor zowel individuen als organisaties.

Overheden over de hele wereld leggen ook sterk de nadruk op het beschermen van hun gevoelige informatie en gebruiken hiervoor verschillende beveiligingsmaatregelen.

Een van die maatregelen is het gebruik van geavanceerde versleutelingstechnieken om gebruikersgegevens te beschermen.

Versleuteling helpt gegevens in rust en onderweg te beschermen door deze om te zetten in onleesbare gecodeerde tekst die alleen met een sleutel kan worden ontsleuteld.

Door encryptie te gebruiken om gegevens te beschermen, kunnen overheden en andere organisaties ervoor zorgen dat gevoelige informatie veilig en vertrouwelijk blijft, zelfs als deze in verkeerde handen valt.

De kracht van codering hangt af van verschillende factoren, zoals de lengte van de cijfersleutel, het aantal ronden en de cijferbeveiliging.

Of het nu gaat om bytedata of bitdata, encryptie speelt een cruciale rol bij het handhaven van gegevensbeveiliging en vertrouwelijkheid.

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 moment 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 mixen, is het gewoon niet waard, zoals het zal zijn 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 iemand die de AES-sleutel niet heeft.

Een diepgaande blik

Je hebt nu een idee hoe dit symmetrische blokcijfer is gemaakt. Laten we meer in 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 Het sleutelschema 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 uiterst ingewikkeld proces is dat heel 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 paar keer door, waardoor je cijfertekst krijgt 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 brute force-aanvallen, 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 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

De 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

De 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?

De 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

Als het om encryptie gaat, is sleutelbeheer cruciaal. AES gebruikt bijvoorbeeld verschillende sleutelgroottes, waarvan de meest gebruikte 128, 192 en 256 bits zijn.

Het sleutelselectieproces omvat het genereren van een veilige sleutel op basis van een reeks regels, zoals willekeur en onvoorspelbaarheid.

Bovendien worden coderingssleutels, ook wel coderingssleutels genoemd, gebruikt om gegevens te coderen en te decoderen. Het geavanceerde coderingsproces bevat ook een ronde sleutel, die tijdens het coderingsproces wordt gegenereerd op basis van de originele sleutel.

Een sleutelherstelaanval of een zijkanaalaanval kan echter de beveiliging van het versleutelingssysteem in gevaar brengen.

Dit is de reden waarom beveiligingssystemen vaak codering van militaire kwaliteit en meervoudige authenticatie gebruiken om het hoogste niveau van bescherming te garanderen.

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 dat ook 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 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.

FAQ

Conclusie

Als AES 256-bit-encryptie goed genoeg is voor de National Security Agency, zijn we meer dan bereid om op de veiligheid ervan te vertrouwen.

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 uiterst geheime informatie.

Referenties

Blijf geïnformeerd! Schrijf je in op onze nieuwsbrief
Abonneer u nu en krijg gratis toegang tot handleidingen, tools en bronnen die alleen voor abonnees zijn bedoeld.
U kunt zich op elk moment afmelden. Uw gegevens zijn veilig.
Blijf geïnformeerd! Schrijf je in op onze nieuwsbrief
Abonneer u nu en krijg gratis toegang tot handleidingen, tools en bronnen die alleen voor abonnees zijn bedoeld.
U kunt zich op elk moment afmelden. Uw gegevens zijn veilig.
Delen naar...