Advanced Encryption Standard (tidigare känd som Rijndael) är ett av sätten att kryptera information. Det är så säkert att inte ens brutalt våld kunde bryta det. Denna avancerade krypteringsstandard används av National Security Agency (NSA) tillsammans med flera branscher, inklusive onlinebank. Så, vad är AES -kryptering och hur fungerar det? Låt oss ta reda på!
Kort sammanfattning: Vad är AES-256-kryptering? AES-256-kryptering är ett sätt att skydda hemliga meddelanden eller information från människor som inte borde kunna se den. AES-256-kryptering är som att ha ett superstarkt lås på din box som bara kan öppnas med en mycket specifik nyckel. Låset är så starkt att det skulle vara väldigt svårt för någon att bryta det och öppna lådan utan rätt nyckel.
Vad är AES -kryptering?
AES är dagens datakrypteringsstandard. Det är oöverträffat i mängden säkerhet och skydd det erbjuder.
Låt oss bryta ner vad det är. AES är en
- Symmetrisk nyckelkryptering
- Blockchiffer
Symmetrisk kontra asymmetrisk kryptering
AES är en symmetrisk typ av kryptering.
"Symmetrisk" betyder att den använder samma nyckel för både kryptering och dekryptering information Dessutom båda d avsändare och mottagare av uppgifterna behöver en kopia av den för att dekryptera krypteringen.
Å andra sidan, asymmetrisk nyckelsystem använder a olika nycklar för varje av de två processerna: kryptering och dekryptering.
Advantage av symmetriska system som AES är de mycket snabbare än asymmetrisk sådana. Detta beror på att symmetriska nyckelalgoritmer kräver mindre datorkraft.
Det är därför asymmetriska nycklar används bäst för externa filöverföringar. Symmetriska tangenter är bättre för intern kryptering.
Vad är blockchiffer?
Därefter är AES också vad teknikvärlden kallar a "Blockchiffer."
Det kallas "block" eftersom denna typ av chiffer delar informationen som ska krypteras (känd som klartext) i sektioner som kallas block.
För att vara mer specifik använder AES en 128-bitars blockstorlek.
Det betyder att data är indelade i a fyra-fyra-matris som innehåller 16 byte. Varje byte innehåller åtta bitar.
Därför ger 16 byte multiplicerat med 8 bitar a totalt 128 bitar i varje block.
Oavsett denna uppdelning, storleken på den krypterade datan förblir densamma. Med andra ord ger 128 bitar av klartext 128 bitar av chiffertext.
Hemligheten till AES -algoritmen
Håll nu i hattarna för det är här det blir intressant.
Joan Daemen och Vincent Rijmen tog det lysande beslutet att använda Substitution Permutation Network (SPN) algoritm.
SPN fungerar genom att ansöka flera omgångar med nyckelutvidgning för att kryptera data.
Den initiala nyckeln används för att skapa en serie nya nycklar kallas "runda nycklar".
Vi kommer att komma in mer på hur dessa runda nycklar genereras senare. Det räcker med att säga att flera omgångar av modifiering genererar en ny rund nyckel varje gång.
För varje passering blir data mer och mer säkra och det blir svårare att bryta krypteringen.
Varför?
Eftersom dessa krypteringsrundor gör AES ogenomtränglig! Det finns bara alldeles för många omgångar som hackare behöver slå igenom för att dekryptera det.
Säg det så här: En superdator skulle ta fler år än universums antagna ålder att knäcka en AES -kod.
Hittills är AES praktiskt taget hotfritt.
De olika nyckellängderna
Det finns tre längder av AES -krypteringsnycklar.
Varje tangentlängd har olika antal möjliga tangentkombinationer:
- 128-bitars nyckellängd: 3.4 x 1038
- 192-bitars nyckellängd: 6.2 x 1057
- 256-bitars nyckellängd: 1.1 x 1077
Medan nyckellängden för denna krypteringsmetod varierar, är dess blockstorlek - 128-bitar (eller 16 byte) - förblir densamma.
Varför skillnaden i nyckelstorlek? Allt handlar om det praktiska.
Låt oss ta en app till exempel. Om den använder 256-bitars AES istället för AES 128 kommer den att göra det kräver mer datorkraft.
Den praktiska effekten är att det kommer kräver mer råkraft från ditt batteri, så din telefon dör snabbare.
Så medan du använder AES 256-bitars kryptering är guldmyntfoten, det är helt enkelt inte genomförbart för dagligt bruk.
Var används Advanced Encryption Standard (AES)?
AES är ett av de mest pålitliga systemen i världen. Det har blivit allmänt använt i flera branscher som behöver extremt höga säkerhetsnivåer.
Idag har AES -bibliotek skapats för många programmeringsspråk inklusive C, C ++, Java, Javascript och Python.
AES -krypteringsstandarden används också av olika program för filkomprimering inklusive 7 Zip, WinZip och RAR och disk krypteringssystem som BitLocker och FileVault; och filsystem som NTFS.
Du kanske redan har använt det i ditt dagliga liv utan att du märker det!
AES är ett viktigt verktyg i databaskryptering och VPN system.
Om du litar på att lösenordshanterare kommer ihåg dina inloggningsuppgifter för dina flera konton, har du troligen redan stött på AES!
Dessa meddelandeprogram som du använder, som WhatsApp och Facebook Messenger? Ja, de använder det här också.
Även videospel tycka om Grand Theft Auto IV använd AES för att skydda dig mot hackare.
En AES -instruktionsuppsättning är integrerad i alla Intel- och AMD -processorer, så din dator eller bärbara dator har den redan inbyggd utan att du behöver göra något.
Och naturligtvis, låt oss inte glömma dina appar bank skapad för att låta dig hantera din ekonomi online.
När du har tagit reda på hur AES-kryptering fungerar kommer du andas mycket lättare med vetskap om att din information är i trygga händer!
AES -krypteringens historia
AES började som ett svar USA:s regering behov.
Tillbaka 1977, skulle federala myndigheter förlita sig på Data Encryption Standard (DES) som deras primära krypteringsalgoritm.
Men på 1990 -talet var DES inte längre tillräckligt säkert eftersom det bara kunde brytas in 22 timmar.
Så meddelade regeringen a offentlig konkurrens att hitta ett nytt system som varade över 5 år.
Smakämnen nytta av denna öppna process var att var och en av de inlämnade krypteringsalgoritmerna kunde utsättas för allmän säkerhet. Detta innebar att regeringen kunde vara det 100% säkert att deras vinnande system inte hade någon bakdörr.
Dessutom, eftersom flera sinnen och ögon var inblandade, maximerade regeringen sina chanser till identifiera och åtgärda brister.
ÄNTLIGEN, den Rijndael chiffer (alias dagens Advanced Encryption Standard) kröntes till mästare.
Rijndael fick sitt namn efter de två belgiska kryptograferna som skapade den, Vincent Rijmen och Joan Daemen.
År 2002 var det bytte namn till Advanced Encryption Standard och publicerad av US National Institute of Standards and Technology (NIST).
NSA godkände AES -algoritmen för dess förmåga och säkerhet att hantera topphemlig information. DETTA satte AES på kartan.
Sedan dess har AES blivit industry standard för kryptering.
Dess öppna natur innebär att AES -programvaran kan vara det används för både offentliga och privata, kommersiella och icke -kommersiella tillämpningar.
Hur fungerar AES 256?
Kryptering och dekryptering är de grundläggande byggstenarna i modern datasäkerhet.
Kryptering innebär att omvandla klartext till chiffertext, medan dekryptering är den omvända processen att omvandla chiffertext tillbaka till klartext.
För att uppnå detta använder krypteringsalgoritmer en kombination av bearbetningssteg, inklusive substitutions- och permutationsoperationer, som arbetar på en tillståndsmatris.
Tillståndsmatrisen modifieras av en serie runda versioner, där antalet rundor bestäms av krypteringsnyckelns storlek och algoritmens bitblockstorlek.
Krypteringsnyckeln och dekrypteringsnyckeln krävs för att transformera data, med krypteringsnyckeln som används för att generera chiffertexten och dekrypteringsnyckeln som används för att generera den ursprungliga klartexten.
Den avancerade krypteringsstandarden (AES) använder en expansionsprocess för att generera ett nyckelschema och en nätverksstruktur som inkluderar bytesubstitution och permutationsoperationer för att uppnå dataskydd.
Än så länge vet vi att dessa krypteringsalgoritmer förvränger informationen som den skyddar och förvandlar den till en slumpmässig röra.
Jag menar, grundprincipen för all kryptering is varje dataenhet kommer att ersättas med en annan, beroende på säkerhetsnyckeln.
Men vad exakt gör AES -kryptering tillräckligt säker för att betraktas som industristandard?
En översikt över processen
I dagens digitala tidsålder har internetsäkerhet och datasäkerhet blivit en högsta prioritet för både individer och organisationer.
Regeringar runt om i världen lägger också stor vikt vid att skydda sin känsliga information och använder olika säkerhetsåtgärder för att göra det.
En sådan åtgärd är användningen av avancerad krypteringsteknik för att skydda användardata.
Kryptering hjälper till att skydda data i vila och under överföring genom att konvertera den till oläsbar chiffertext som bara kan dekrypteras med en nyckel.
Genom att använda kryptering för att skydda data kan regeringar och andra organisationer säkerställa att känslig information förblir säker och konfidentiell, även om den hamnar i fel händer.
Krypteringens styrka beror på olika faktorer som längden på chiffernyckeln, antalet rundor och chiffersäkerheten.
Oavsett om det är bytedata eller bitdata, spelar kryptering en avgörande roll för att upprätthålla datasäkerhet och konfidentialitet.
AES -krypteringsalgoritmen går igenom flera omgångar av kryptering. Det kan till och med gå igenom 9, 11 eller 13 omgångar av detta.
Varje omgång innefattar samma steg nedan.
- Dela upp data i block.
- Nyckelutvidgning.
- Lägg till den runda nyckeln.
- Ersättare/byte av byte.
- Flytta raderna.
- Blanda kolumnerna.
- Lägg till en rund nyckel igen.
- Gör det igen.
Efter den sista omgången kommer algoritmen att gå igenom ytterligare en omgång. I denna uppsättning kommer algoritmen att utföra steg 1 till 7 utom steg 6.
Det ändrar det sjätte steget eftersom det inte skulle göra mycket vid denna tidpunkt. Kom ihåg att det redan har gått igenom den här processen flera gånger.
Så en upprepning av steg 6 skulle vara överflödig. Mängden processorkraft det skulle ta för att blanda kolumnerna igen är helt enkelt inte värt det som det kommer att göra inte längre signifikant ändra data.
Vid denna tidpunkt har data redan gått igenom följande omgångar:
- 128-bitars nyckel: 10 omgångar
- 192-bitars nyckel: 12 omgångar
- 256-bitars nyckel: 14 omgångar
Utgången?
till random uppsättning blandade karaktärer det är inte vettigt för alla som inte har AES-nyckeln.
En djupgående titt
Du har nu en uppfattning om hur detta symmetriska blockchiffer är gjort. Låt oss gå in på mer detaljer.
Först lägger dessa krypteringsalgoritmer till den initiala nyckeln till blocket med en XOR ("exklusiv eller") chiffer.
Denna chiffer är en drift inbyggd processorhårdvara.
Sedan är varje byte av data substituerad med en annan.
Denna AVGÖRANDE steg följer en förutbestämd tabell som kallas Rijndaels nyckelschema för att avgöra hur varje ersättning görs.
Nu har du en uppsättning nya 128-bitars runda nycklar som redan är en röra av blandade bokstäver.
För det tredje är det dags att gå igenom första omgången av AES -kryptering. Algoritmen lägger till den initiala nyckeln till de nya runda nycklarna.
Nu har du din 2:a slumpmässig chiffer.
För det fjärde algoritmen ersätter varje byte med en kod enligt Rijndael S-box.
Nu är det dags att flytta raderna av 4 × 4 -arrayen.
- Första raden stannar där den är.
- Den andra raden flyttas ett mellanslag till vänster.
- Den tredje raden flyttas till två mellanslag.
- Slutligen flyttas den fjärde tre mellanslag.
För det sjätte multipliceras varje kolumn med en fördefinierad matris som återigen ger dig en nytt kodblock.
Vi kommer inte att gå in på detaljer eftersom detta är en extremt komplicerad process som kräver massor av avancerad matematik.
Vet bara att kolumnerna i krypteringen blandas och kombineras för att komma fram till ett annat block.
Slutligen kommer den att lägga till den runda nyckeln till blocket (ungefär som den första nyckeln var i det tredje steget).
Skölj sedan och upprepa baserat på antalet varv du behöver göra.
Processen fortsätter flera gånger, vilket ger dig chiffertext radikalt annorlunda från klartext.
För att dekryptera det, gör det hela omvänt!
Varje steg i AES -krypteringsalgoritmen tjänar en viktig funktion.
Varför alla steg?
Att använda en annan nyckel för varje omgång ger dig ett mycket mer komplext resultat, och skyddar dina data från alla brute-force-attacker oavsett nyckelstorleken du använder.
Bytebytesprocessen modifierar data på ett olinjärt sätt. Detta döljer förhållandet mellan original och krypterat innehåll.
Att flytta raderna och blanda kolumnerna kommer sprida data. Shifting sprider data horisontellt, medan blandning gör det vertikalt.
Genom att transponera bytes får du mycket mer komplicerad kryptering.
Resultatet är en otroligt sofistikerad form av kryptering som inte kan hackas om du inte har den hemliga nyckeln.
Är AES -kryptering säker?
Om vår beskrivning av processen inte räcker för att få dig att tro på kraften i AES-nyckeln, låt oss dyka in i hur säker AES är.
Som vi sa i början valde National Institute of Standards and Technology (NIST) tre typer av AES: 128-bitars AES, 192-bitars och 256-bitars nycklar.
Varje typ använder fortfarande samma 128-bitars block, men de skiljer sig åt i två saker.
Nyckellängd
Smakämnen första skillnaden ligger i längden på var och en av bitnycklarna.
Som längst, AES 256-bitars kryptering ger den starkaste krypteringsnivå.
Detta beror på att en 256-bitars AES-kryptering kräver att en hackare försöker 2256 XNUMX olika kombinationer för att säkerställa att den rätta ingår.
Vi måste betona detta antal är astronomiskt stort. Det är en totalt 78 siffror!
Om du fortfarande inte förstår hur stor den är, låt oss uttrycka det så här. Det är så stort att det är det exponentiellt större än antalet atomer i det observerbara universum.
Uppenbarligen, för att skydda nationell säkerhet och andra uppgifter, den amerikanska regeringen kräver en 128- eller 256-bitars krypteringsprocess för känsliga uppgifter.
AES-256, som har en nyckellängd på 256 bitar, stöder den största bitstorleken och är praktiskt taget oförstörbar med brute force baserat på nuvarande datorkraftstandarder, vilket gör den från och med idag den starkaste krypteringsstandarden som finns.
Nyckelstorlek | Möjliga kombinationer |
1 bitars | 2 |
2 bitar | 4 |
4 bitar | 16 |
8 bitar | 256 |
16 bitar | 65536 |
32 bitar | X 4.2 109 |
56 bitar (DES) | X 7.2 1016 |
64 bitar | X 1.8 1019 |
128 bitar (AES) | X 3.4 1038 |
192 bitar (AES) | X 6.2 1057 |
256 bitar (AES) | X 1.1 1077 |
Krypteringsrundor
Smakämnen andra skillnaden mellan dessa tre AES -sorter är i antalet krypteringsomgångar det går igenom.
128-bitars AES-kryptering använder 10 rundor, AES 192 använder 12 rundoroch AES 256 användningsområden 14 rundor.
Som du säkert har gissat, ju fler rundor du använder, desto mer komplex blir krypteringen. Det är främst detta som gör AES 256 till den säkraste AES-implementeringen.
Catch
En längre nyckel och fler omgångar kommer att kräva högre prestanda och mer resurser/kraft.
AES 256 användningsområden 40% fler systemresurser än AES 192.
Det är därför 256-bitars avancerad krypteringsstandard är bäst för miljöer med hög känslighet, som regeringen när den behandlar känslig data.
Detta är de fall där säkerhet är viktigare än hastighet eller kraft.
Kan hackare knäcka AES 256?
Smakämnen gamla 56-bitars DES-nyckel kan krackas på mindre än ett dygn. Men för AES? Det skulle ta miljarder år att bryta med den datorteknik vi har idag.
Hackare skulle vara dumt att ens försöka denna typ av attack.
Med detta sagt måste vi erkänna inget krypteringssystem är helt säkert.
Forskare som har undersökt AES har hittat några potentiella sätt att komma in.
Hot #1: Relaterade nyckelattacker
Under 2009 upptäckte de en möjlig relaterad nyckelattack. Istället för brutal kraft kommer dessa attacker rikta in sig på själva krypteringsnyckeln.
Denna typ av kryptoanalys kommer att försöka knäcka en chiffer genom att observera hur den fungerar med olika nycklar.
Lyckligtvis är den relaterade nyckelattacken bara ett hot till AES -system. Det enda sättet det kan fungera är om hackaren känner (eller misstänker) förhållandet mellan två uppsättningar nycklar.
Var säker, kryptografer var snabba med att förbättra komplexiteten i AES -nyckelschemat efter dessa attacker för att förhindra dem.
Hot #2: Känd nyckelattack
Till skillnad från brutal kraft använde denna attack en känd nyckel för att dechiffrera krypteringens struktur.
Hacket riktade sig dock bara till en åtta-rundad version av AES 128, inte standardversionen med 10 rundor. I alla fall, detta är inte ett stort hot.
Hot #3: Sidokanalangrepp
Detta är den största risken för AES. Det fungerar genom att försöka plocka upp all information systemet läcker.
Hackare kan lyssna på ljud, elektromagnetiska signaler, tidsinformation eller strömförbrukning för att försöka ta reda på hur säkerhetsalgoritmerna fungerar.
Det bästa sättet att förhindra sidokanalangrepp är genom ta bort informationsläckor eller maskera läckt data (genom att generera extra elektromagnetiska signaler eller ljud).
Hot #4: Avslöjar nyckeln
Detta är lätt nog att bevisa genom att göra följande:
- Starka lösenord
- Multifaktorautentisering
- brandväggar
- Antivirus mjukvara
Dessutom, utbilda dina anställda mot social engineering och nätfiskeattacker.
Fördelarna med AES -kryptering
När det kommer till kryptering är nyckelhantering avgörande. AES, till exempel, använder olika nyckelstorlekar, där de vanligaste är 128, 192 och 256 bitar.
Nyckelvalsprocessen innebär att skapa en säker nyckel baserad på en uppsättning regler, såsom slumpmässighet och oförutsägbarhet.
Dessutom används krypteringsnycklar, även kända som chiffernycklar, för att kryptera och dekryptera data. Den avancerade krypteringsprocessen inkluderar också en rund nyckel, som genereras från den ursprungliga nyckeln under krypteringsprocessen.
En nyckelåterställningsattack eller en sidokanalattack kan dock äventyra krypteringssystemets säkerhet.
Det är därför som säkerhetssystem ofta använder kryptering av militär kvalitet och multifaktorautentisering för att säkerställa högsta skyddsnivå.
Krypteringsprocessen för AES är relativt lätt att förstå. Detta möjliggör enkel implementering, liksom verkligen snabb kryptering och dekrypteringstider.
Dessutom AES kräver mindre minne än andra typer av kryptering (som DES).
Slutligen, när du behöver ett extra lager av säkerhet kan du t.ex.kombinera AES med olika säkerhetsprotokoll som WPA2 eller till och med andra typer av kryptering som SSL.
AES vs ChaCha20
AES har vissa begränsningar som andra typer av kryptering har försökt fylla.
Även om AES är fantastiskt för de flesta moderna datorer, är det det inte inbyggt i våra telefoner eller surfplattor.
Det är därför AES normalt implementeras via programvara (i stället för hårdvara) på mobila enheter.
Men programvaruimplementeringen av AES tar för mycket batteritid.
ChaCha20 använder också 256-bitars nycklar. Det utvecklades av flera ingenjörer från Google för att fylla denna lucka.
Fördelar med ChaCha20:
- Mer CPU -vänlig
- Lättare att genomföra
- Kräver mindre ström
- Säkrare mot cachetimingattacker
- Det är också en 256-bitars nyckel
AES vs Twofish
Twofish var en av finalisterna i tävlingen som regeringen höll för att ersätta DE: er.
Istället för blocken använder Twofish ett Feistel-nätverk. Det betyder att det är en liknande men mer komplex version av äldre standarder som DES.
Tills idag förblir Twofish obruten. Det är därför många säger att det är säkrare än AES, med tanke på de potentiella hoten vi nämnde tidigare.
Den största skillnaden är att AES varierar antalet krypteringsomgångar beroende på nyckellängden, medan Twofish håller den på en konstant på 16 omgångar.
Dock Twofish kräver mer minne och kraft jämfört med AES, vilket är dess största undergång när det gäller att använda mobila eller lägre datorer.
FAQ
Slutsats
Om AES 256-bitars kryptering är tillräckligt bra för National Security Agency, är vi mer än villiga att lita på dess säkerhet.
Trots de många tekniker som finns tillgängliga idag är AES fortfarande högst upp i packningen. Det är tillräckligt bra för alla företag att använda för sin topphemliga information.
Referensprojekt
- https://www.atpinc.com/blog/what-is-aes-256-encryption
- https://www.samiam.org/key-schedule.html
- https://www.youtube.com/watch?v=vFXgbEL7DhI
- https://digitalguardian.com/blog/social-engineering-attacks-common-techniques-how-prevent-attack
- https://www.consumer.ftc.gov/articles/how-recognize-and-avoid-phishing-scams