Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Wat is AES-codering? Werken | Prestaties | Beveiliging

  • De Advanced Encryption Standard (AES) is momenteel het meest populaire en meest gebruikte symmetrische coderingsalgoritme.
  • Het is ontwikkeld door twee Belgische cryptografen, Vincent Rijmen en Joan Daemen.
  • Als het correct wordt geïmplementeerd, is het algoritme momenteel onbreekbaar.

Versleuteling is de meest gebruikelijke manier om gevoelige gegevens te beschermen. Het werkt door gegevens om te zetten in een vorm waarin de oorspronkelijke betekenis wordt gemaskeerd en alleen geautoriseerde gebruikers deze kunnen ontcijferen.

Dit wordt gedaan door de gegevens te versleutelen met wiskundige functies op basis van een getal dat een sleutel wordt genoemd. Om de gegevens te ontsleutelen (decoderen), wordt het proces gereserveerd met dezelfde of een andere sleutel.

Het proces wordt symmetrisch genoemd als dezelfde sleutel wordt gebruikt voor zowel codering als decodering. Het proces is asymmetrisch als er verschillende sleutels worden gebruikt.

De Advanced Encryption Standard (AES) is momenteel het meest populaire en meest gebruikte symmetrische coderingsalgoritme. Het werd in 2001 opgericht door het Amerikaanse National Institute of Standards and Technology (NIST).

In 2002 werd AES van kracht als norm van de federale overheid. Vanaf nu is het de enige openbaar toegankelijke code die is goedgekeurd door de NSA (National Security Agency) voor uiterst geheime projecten.

Wie heeft AES ontwikkeld en waarom?

Halverwege de jaren negentig plande de regering van de Verenigde Staten een project om verschillende soorten encryptietechnieken te analyseren. Eigenlijk waren ze op zoek naar een standaard die veilig en efficiënt te implementeren zou zijn.

NIST analyseerde honderden algoritmen die waren ingediend door verschillende onderzoeksteams en organisaties. Uiteindelijk maakten ze eind 2001 hun keuze. Ze kozen “Rijndael” als het nieuwe Advanced Encryption Standard-algoritme.

Het werd ingediend door twee Belgische cryptografen, Vincent Rijmen en Joan Daemen.

Rijndael is grondig getest in ANSI-, Java- en C-talen voor efficiëntie en betrouwbaarheid in het coderings-/decoderingsproces. Ze zorgden ervoor dat het nieuwe algoritme bestand is tegen grote aanvallen, zowel in software- als hardwaregerichte systemen.

Waarom waren ze op zoek naar een nieuwe encryptiemethode?

In 1976 heeft het Amerikaanse National Bureau of Standards (NBS) de Data Encryption Standard (DES) aangenomen om gevoelige overheidsgegevens te versleutelen. Het was een symmetrisch sleutelalgoritme gebouwd door IBM.

Het algoritme heeft zijn doel 20 jaar lang redelijk goed gediend, maar met de komst van krachtigere processors begonnen er enkele beveiligingsproblemen de kop op te steken.

Sommige onderzoekers waren zelfs in staat technieken te ontwikkelen die DES binnen 48 uur konden kraken, met behulp van de brute force-methode. Hoewel dergelijke aanvallen erg duur waren en extreem moeilijk op te zetten, waren ze voldoende om te bewijzen dat DES al snel onbetrouwbaar zou worden.

Als gevolg hiervan kondigde NIST aan dat er behoefte was aan een opvolger-algoritme voor DES en begon het in 1997 met de ontwikkeling van AES, dat bedoeld was om wereldwijd royaltyvrij beschikbaar te zijn.

Hoe werkt AES-codering?

In tegenstelling tot DES (dat een relatief korte 56-bits sleutelgrootte gebruikt), gebruikt AES sleutelgroottes van 128, 192 of 256-bits om gegevens te coderen/decoderen.

AES is een iteratief cijfer gebaseerd op een substitutie-permutatienetwerk. Het omvat een reeks gekoppelde bewerkingen, zoals het vervangen van invoer door bepaalde uitvoer (substitutie) of het shuffelen van bits (permutatie).

Het eerste dat het algoritme doet, is dat het de leesbare tekst (invoergegevens) opsplitst in blokken van 128 bits. Aangezien alle berekeningen worden uitgevoerd op bytes (128 bits =16 bytes), converteert het elke blokgrootte naar een 4*4-matrix voor verdere verwerking.

Er zijn vijf hoofdstappen betrokken bij het AES-algoritme:

1. Ronde sleutel toevoegen: De initiële sleutel (afgeleid van een gestructureerd proces wanneer codering daadwerkelijk wordt toegepast) wordt toegevoegd aan het blok van de leesbare tekst. Dit wordt gedaan door een additief coderingsalgoritme toe te passen dat Exclusive Or (XOR) wordt genoemd.

2. Bytes vervangen: De invoerbytes worden vervangen door een vooraf bepaalde tabel op te zoeken.

3. Rijen verschuiven: De 2e rij van de matrix is ​​één positie (byte) naar links verschoven, de 3e rij is twee posities naar links verschoven en de 4e rij is drie posities naar links verschoven. De resulterende matrix bevat dezelfde 16 bytes, maar verschoven ten opzichte van elkaar.

4. Kolommen mixen: Het algoritme gebruikt een speciale wiskundige functie om elke kolom van de matrix te transformeren. De functie vervangt de originele kolommen door volledig nieuwe bytes.

5. Ronde sleutel toevoegen: De matrix wordt nu beschouwd als 128 bits en wordt XORed naar de 128-bits ronde sleutel.

Als je dacht dat dat het was, kon je niet meer verkeerd zijn. De gegevens gaan terug naar stap 2, stap 3, stap 4 en stap 5. Met andere woorden, stap 2 tot stap 5 wordt in een lus uitgevoerd.

Maar hoe vaak loopt de lus? Dit hangt af van de grootte van de AES-coderingssleutel:wanneer een 128-bits sleutel wordt gebruikt, wordt de lus 9 keer uitgevoerd; wanneer een 192-bits sleutel wordt gebruikt, wordt de lus 11 keer uitgevoerd; en wanneer een 256-bits sleutel wordt gebruikt, wordt deze 13 keer uitgevoerd.

Elke toegevoegde ronde maakt het algoritme sterker. Na het einde van de lus wordt nog een ronde uitgevoerd, waarbij bytevervanging, rijverschuiving en toetstoevoegingsrondes betrokken zijn.

De kolommengstap is uitgesloten omdat dit op dit moment geen gegevens zou veranderen en onnodig computerbronnen zou opslokken, waardoor versleuteling minder efficiënt zou worden.

Stappen betrokken bij AES-versleuteling en -ontsleuteling 

Decoderingsgegevens

Het decoderingsproces is relatief eenvoudig. Alle bewerkingen worden in omgekeerde volgorde uitgevoerd. Het proces begint met de inverse add-round-toets, inverse rijen verschuiven en inverse byte-substitutie.

En dan worden voor elke ronde vier processen in omgekeerde volgorde uitgevoerd, d.w.z.

  • Inverse ronde sleutel
  • Inverse mixkolom
  • Inverse shift-rijen
  • Inverse bytevervanging

Ten slotte wordt de inverse add-round-sleutel (stap 1 van codering) uitgevoerd. Na voltooiing van dit proces ontvangt u uw originele bericht.

Prestaties

Omdat AES aanzienlijk sneller en exponentieel sterker is dan zijn voorganger DES, is het ideaal voor verschillende toepassingen, hardware en firmware die een hoge doorvoer of lage latentie vereisen.

Het algoritme kan uitzonderlijk goed presteren in een breed scala aan hardware, van krachtige computers tot 8-bits smartcards.

De meeste CPU-fabrikanten, waaronder AMD en Intel, integreren de AES-instructieset in hun processors. Dit verbetert de prestaties van AES op veel apparaten en verbetert hun weerstand tegen zijkanaalaanvallen.

Op AMD Ryzen- en Intel Core i7/i5/i3-CPU's kan AES-codering een doorvoer van meer dan 10 GB/s opleveren. Op oude processors, zoals Pentium M, is de doorvoer ongeveer 60 Mbit/s.

Hoe veilig AES-algoritme is?

Cryptografen analyseren AES op zwakte sinds de standaard werd voltooid in 2000. Tot dusver hebben ze theoretische en side-channel-aanvallen tegen AES-128 gepubliceerd.

In 2009 richtte een groep onderzoekers zich op een 8-sleutelronde versie van AES-128. Het was een bekende-sleutelaanval om de interne structuur van de codering te achterhalen. Maar aangezien het alleen tegen een 8-ronde-versie van AES-128 was, in plaats van de standaard 10-ronde-versie, wordt het als een relatief kleine bedreiging beschouwd.

Er was ook een reeks aanvallen met verwante sleutels in hetzelfde jaar, waarbij onderzoekers probeerden een cijfer te kraken door te analyseren hoe het onder verschillende sleutels werkt. Deze aanvallen bleken echter alleen een bedreiging te vormen voor protocollen die niet correct waren geïmplementeerd.

Groot risico:zijkanaalaanvallen

Side-channel-aanvallen zijn gebaseerd op gegevens die zijn verkregen door de implementatie van een systeem, in plaats van op de zwakte in het geïmplementeerde algoritme zelf. Stroomverbruik, timinginformatie of zelfs elektromagnetische lekken kunnen bijvoorbeeld een extra gegevensbron vormen die misbruikt kan worden.

In één geval hebben onderzoekers met succes AES-128-sleutels afgeleid door de status van de geheugencache van de processor zorgvuldig te bewaken. Dergelijke gevallen kunnen echter worden verminderd door mogelijke manieren waarop gegevens kunnen lekken te voorkomen of door ervoor te zorgen dat de gelekte informatie niet wordt geassocieerd met algoritmische processen.

Lezen: onderzoekers kraken de grootste versleutelingssleutel [RSA-240] in 35 miljoen kernuren

Ondanks mogelijke zijkanaalaanvallen en huidige theoretische aanvallen, blijven alle versies van AES zeer veilig. Het correct geïmplementeerde AES-algoritme is momenteel onbreekbaar.

In feite zou 's werelds krachtigste computer meer dan 800 biljard jaar nodig hebben om een ​​128-bits AES-sleutel bruut te forceren. Het aantal berekeningen dat nodig is om een ​​256-bits codering brute kracht te geven is 3,31 x 10 56 , wat ongeveer gelijk is aan het aantal atomen in het heelal.

Toepassing

AES is opgenomen in programma's die we altijd gebruiken. WinZip, RAR en UltraISO gebruiken bijvoorbeeld het Rijndael-algoritme om uw gegevens te versleutelen.

BitLocker, CipherShed, DiskCyptor, VeraCrypt en FileVault maken AES-gecodeerde schijfkopieën. IEEE 802.11i, een IEEE-standaard die beveiligingsmechanismen voor draadloze netwerken specificeert, gebruikt AES-128 in CCM-modus.

Lezen:8 meest voorkomende versleutelingstechnieken om privégegevens op te slaan

Enkele van de meest populaire berichten-apps zoals Facebook Messenger, Signal, WhatsApp en Google Allo gebruiken AES om berichten tussen afzender en ontvangers te versleutelen.


Industriële technologie

  1. Wat is een netwerkbeveiligingssleutel? Hoe vind je het?
  2. Wat is 3D-printen? Werkingsprincipe | Soorten | Toepassingen
  3. Wat is plasmabooglassen? - Onderdelen en werking?
  4. Wat is laserstraalbewerking? - Typen en werking
  5. Wat is Rapid Prototyping? - Typen en werken?
  6. Wat is additieve productie? - Soorten en werking?
  7. Wat is aansnijden? - Proces, werken en typen
  8. Wat is Shaper-machine? - Definitie, onderdelen, werken?
  9. Wat is plasmaboogbewerking? - Onderdelen en werking?
  10. Wat is ionenstraalbewerking? - Werken en toepassen?
  11. Wat is chemische bewerking? - Werken en verwerken?