Što je AES enkripcija i kako funkcionira?

Što je AES enkripcija i kako funkcionira_

Kada je u pitanju kibernetička sigurnost, AES je jedan od tih akronima koje vidite svugdje. To je zato što je postalo globalni standard šifriranja i koristi se za održavanje znatne količine naše komunikacije.

Napredni standard šifriranja (AES) brz je i siguran oblik šifriranja koji znatiželjne oči drži dalje od naših podataka. To vidimo u takvim aplikacijama za razmjenu poruka Što ima i Signal, programi poput VeraCrypt i WinZip, u raznovrsnom hardveru i raznim drugim tehnologijama koje koristimo cijelo vrijeme.

Zašto je razvijen AES?

Najstarije vrste šifriranja bile su jednostavne, koristeći tehnike poput promjene svakog slova u rečenici onog koji dolazi nakon njega u abecedi. Pod ovom vrstom koda prethodna rečenica postaje:

šifrirani tekst

Kao što vidite, ovaj jednostavan kod čini ga potpuno nečitljivim. Unatoč početnoj nečitljivosti, da ste imali vremena i znali da je to kôd, a ne samo gomila znakova ispisanih na stranici, na kraju ne bi bilo previše teško shvatiti.

Kako su ljudi postajali bolji u pucanju koda, šifriranje je moralo postati sofisticiranije tako da je poruke bi mogle biti čuvao u tajnosti. Ova trka u naoružanju osmišljavanja sve sofisticiranijih metoda dok su drugi ulagali svoje napore u razbijanje dovela ih je do sve složenijih tehnika, poput stroja Enigma kojeg su Nijemci izmislili u Prvom svjetskom ratu.

Uspon elektroničke komunikacije također je povod za šifriranje. U 1970-ima Američki nacionalni biro za standarde (NBS) počeo je tražiti standardna sredstva koja bi se mogla koristiti za šifriranje osjetljivih vladinih podataka. Rezultat njihove pretrage bio je usvajanje algoritma simetričnog ključa razvijenog u IBM-u, koji se danas naziva Standard šifriranja podataka (DES). DES je služio svojoj svrsi relativno dobro tijekom sljedećih nekoliko desetljeća, ali u devedesetima su se neke sigurnosne brige počele pojavljivati.

DES ima samo a 56-bitni ključ (u usporedbi s maksimalno 256-bitni u AES-u, ali na to ćemo doći kasnije), kako su tehnologija i metode pucanja poboljšali napadi protiv nje počeli su postajati sve praktičniji. Prva DES šifrirana poruka koju treba razbiti otvorena je 1997. godine u projektu DESCHALL u Natjecanje pod pokroviteljstvom sigurnosti RSA.

Sljedeće je godine Electronic Frontier Foundation (EFF) sagradio DES kreker koji bi mogao pritisnuti tipku za nešto više od dva dana. 1999. godine EFF i internetski prvi računski kolektiv, distributed.net, surađivao da bi se to vrijeme svelo na manje od 24 sata.

Iako su ovi napadi bili skupi i nepraktični za montiranje, počeli su pokazivati ​​da je DES vladao kao standard šifriranja kojim se vodi prema kraju. S računarskom snagom eksponencijalno raste prema Mooreov zakon, bilo je samo pitanje vremena dok se DES više nije mogao osloniti na njega.

Američka vlada odlučila se na petogodišnju misiju da procijeni različite metode šifriranja kako bi pronašla novi standard koji bi bio siguran. Nacionalni institut za standarde i tehnologiju (NIST) objavio je da je konačno izvršio izbor krajem 2001. godine.

Njihov izbor bio je specifična podskupina Rijndaelove blok šifre, s fiksnom veličinom bloka od 128 bita i veličinom ključa od 128, 192 i 256 bita. Razvili su ga Joan Daemen i Vincent Rijmen, dva kriptografa iz Belgije. U svibnju 2002, AES je odobren za članstvo u Američki savezni standard i brzo je postao standardni algoritam šifriranja i za ostatak svijeta.

Povezano: Vodič za kriptografiju za početnike

Zašto je odabrana ova šifra za AES?

Uz bilo koju vrstu šifriranja, uvijek postoje kompromisi. Jednostavno biste mogli imati standard koji je bio eksponencijalno sigurniji od AES-a, ali bi trajalo predugo da bi se šifriralo i dešifriralo da bi bilo korisno. Na kraju NIST je izabrao Rijndael blok šifru za njegove sveobuhvatne sposobnosti, uključujući njegove performanse na hardveru i softveru, jednostavnost implementacije i razinu sigurnosti.

Kako djeluje AES?

Imajte na umu da je sljedeći primjer pojednostavljenje, ali daje vam opću predodžbu o tome kako AES djeluje. Nažalost, na svijetu nema dovoljno kave da većina ljudi želi proći kroz složenije aspekte AES-a. Normalno da se proces izvodi u binarnom obliku i da postoji puno više matematike.

Prvo, podaci su podijeljeni u blokove.

Kod ove metode šifriranja, prva stvar koja se dogodi je da vaš otvoren tekst (koji su podaci koje želite da se kodiraju) odvoji u blokove. Veličina bloka AES je 128-bitna, tako da podatke razdvaja u četiri-po četiri stupca od šesnaest bajtova (postoji osam bita u bajtu i 16 x 8 = 128).

Ako je vaša poruka bila “kupi mi čips od krumpira”, prvi blok izgleda ovako:

            b             m             o             p
            u             e             m             o
            y             e             t
            a            

Preskočit ćemo ostatak poruke za ovaj primjer i usredotočiti se na ono što se događa s prvim blokom dok je šifriran. Oznaka “… za čipove molim” obično bi se dodala sljedećem bloku.

Proširenje ključa

Proširenje ključa uključuje uzimanje početnog ključa i njegovo korištenje za stvaranje niza drugih ključeva za svaki krug postupka šifriranja. Ovi novi 128-bitni okrugli ključevi izvedeni su s Rijndaelovim rasporedom ključeva, što je u osnovi jednostavan i brz način izrade novih ključnih šifri. Ako je početni ključ bio “tipke su dosadne1”:

            k             ja
            e                         b             n
            y             r             o             g
            a             e             r             1

Tada bi svaki novi ključ mogao izgledati ovako nekako nakon što se upotrijebi Rijndaelov raspored ključeva:

            14             29             1h             S5
            H9             9 i d             st             9 i d
            gt             2h             HQ             73
            ks             dj             df             polupansion

Iako izgledaju kao slučajni znakovi (a gornji je primjer upravo sastavljen), svaki od ovih ključeva izveden je iz strukturiranog procesa kada se zapravo primjenjuje AES enkripcija. Vratit ćemo se onome za što se koriste ovi okrugli ključevi za kasnije.

Dodajte okrugli ključ

U ovom koraku, budući da je riječ o prvom krugu, početni se ključ dodaje bloku naše poruke:

            b             m             o             p
            u             e             m             o
            y             e             t
            a            

+

            k             ja
            e                         b             n
            y             r             o             g
            a             e             r             1

To se postiže XOR šifrom, što je algoritam aditivnog šifriranja. Iako izgleda kao da te stvari zapravo ne možete kombinirati, budite svjesni da se to zapravo radi u binarnom obliku. Likovi su samo pomoć u pokušaju i olakšavanju razumijevanja stvari. Recimo da nam ova matematička operacija daje rezultat:

            H3             j d             zu             7s
            S8             7d             26             2n
            dj             4b             9d             9c
            74             el             2h             Hg

Zamjena bajtova

U ovom se koraku svaki bajt zamjenjuje prema unaprijed određenoj tablici. To je poput primjera s početka članka, gdje je rečenica kodirana promjenom svakog slova u ono koje dolazi nakon njega u abecedi (zdravo postaje ifmmp).

Ovaj je sustav malo složeniji i nema ga. Umjesto toga, postoji uspostavljena tablica koju algoritam može potražiti, što kaže, na primjer, to H3 postaje JB, S8 postaje 9 i d, dj postaje 62 i tako dalje. Nakon ovog koraka recimo da nam unaprijed određena tablica daje:

            JB             n3             KF            n2
            9 i d             JJ             1h             js
            74             wH             0d             18
            hs             17             d6             px

Pomaknite redove

Shift redovi je izravno ime, a ovaj je korak u osnovi ono što biste očekivali. Drugi red pomiče se za jedan prostor lijevo, treći red pomiče dva razmaka s lijeve strane, a četvrti red pomiče tri razmaka s lijeve strane. To nam daje:

            JB             n3             KF             n2
            JJ             1h             js             9 i d
            0d             18             74             wH
            px             hs             17             d6

Pomiješajte stupce

Ovaj korak je malo škakljivo objasniti. Da biste izrezali većinu matematike i pojednostavili stvari, recimo samo da svaki stupac na nju primjenjuje matematičku jednadžbu kako bi ga dodatno proširio. Recimo da nam operacija daje ovaj rezultat:

            ls             J4             2n             majka
            83             28             ke             9 i d
            9W             XM             3l             m4
            5b             A9             CJ             p.s

Dodajte okrugli ključ (ponovo)

Sjećate se onih okruglih tipki koje smo napravili na početku koristeći naš početni ključ i Rijndaelov raspored ključeva? Eto, tu ih počinjemo koristiti. Uzimamo rezultat naših miješanih stupaca i dodamo ključ prvog kruga koji smo dobili:

            ls             J4             2n             majka
            83             28             ke             9 i d
            9W             XM             3l             m4
            5b             A9             CJ             p.s

+

            14             29             1h             S5
            H9             9 i d             st             9 i d
            gt             2h             HQ             73
            ks             dj             df             polupansion

Recimo da nam ova operacija daje sljedeći rezultat:

            9d             5b             28             SF
            ls             df             HF             3b
            9t             28             KS             8f
            62             7d             15             Ah

Mnogo više rundi …

Ako ste mislili da je to to, nismo ni blizu. Nakon dodavanja posljednjeg kruga, vraća se u fazu zamjene bajta, gdje se svaka vrijednost mijenja prema unaprijed određenoj tablici. Nakon što je to učinjeno, vratit ćete se na pomicanje redaka i pomicanje svakog retka ulijevo za jedan, dva ili tri razmaka. Zatim ponovo prolazi kroz jednadžbu stupca miksa. Nakon toga dodaje se još jedan okrugli ključ.

I tu se ne zaustavlja. Na početku je spomenuto da AES ima ključne veličine od 128, 192 ili 256 bita. Kada se koristi 128-bitni ključ, devet je krugova tih. Kada se koristi 192-bitni ključ, postoji 11. Kada se koristi 256-bitni ključ, postoji 13. Dakle, podaci prolaze kroz zamjenu bajta, retke pomaka, stupce miješanja i korake okrugle tipke do trinaest puta svaki, mijenjati se u svakoj fazi.

Nakon ovih devet, 11 ili 13 krugova, slijedi još jedan krug u kojem se podaci obrađuju samo zamjenom bajta, pomicanjem redaka i dodavanjem zaokruženih ključnih koraka, ali ne korak stupaca miksa. Korak miješanja stupaca je izveden, jer u ovoj fazi samo bi bilo pojesti moć obrade bez izmjene podataka, što bi način šifriranja učinilo manje učinkovitim.

Da bi stvar bila jasnija, ide čitav proces AES enkripcije:

Proširenje ključa

Dodajte okrugli ključ

Zamjena bajtova

Pomaknite redove

Pomiješajte stupce

Dodajte okrugli ključ          

x 9, 11 ili 13 puta, ovisno o tome je li ključ 128, 192 ili 256-bitni

Zamjena bajtova

Pomaknite redove

Dodajte okrugli ključ

Jednom kada su podaci prošli kroz ovaj složeni postupak, vaš izvornik “Kupi mi malo krompirovog čipsa molim te” izlazi izgledajući poput “Ok23b8a0i3j 293uivnfqf98vs87a”. Čini se kao potpuno slučajni niz znakova, ali kao što vidite iz ovih primjera, zapravo je rezultat mnogih različitih matematičkih operacija koje se na njega primjenjuju iznova i iznova.

U čemu je smisao svakog od ovih koraka?

Puno se stvari događa kada su naši podaci šifrirani i važno je razumjeti zašto. Ključ ekspanzija je kritična korak, jer nam daje svoje ključeve za kasnije runde. Inače bi se u svakom krugu dodavao isti ključ, što bi AES-u olakšalo pucanje. U prvom krugu dodaje se početni ključ kako bi se započela izmjena običnog teksta.

korak zamjene bajta, gdje se svaka od podatkovnih točaka mijenja prema unaprijed određenoj tablici, također igra bitnu ulogu. Ona mijenja podatke na nelinearni način kako bi se informacije dodale zbunjujuće. Konfuzija je postupak koji pomaže u sakrivanju odnosa šifriranih podataka i izvorne poruke.

Pomakni redovi također su kritični, izvođenje onoga što je poznato kao difuzija. U kriptografiji difuzija u osnovi znači prenošenje podataka radi dodavanja komplikacija. Pomicanjem redaka podaci se premještaju iz izvornog položaja što dodatno pomaže u prikrivanju. Pomiješajte stupce djeluje na sličan način mijenjajući podatke okomito, a ne vodoravno.

Na kraju kruga dodaje se novi okrugli ključ koji je izveden iz inicijalnog ključa. To dodaje veću zbrku u podatke.

Zašto postoji toliko rundi?

Procesi od dodavanjem okruglih tipki, zamjena bajtova, pomicanje redova i miješanje stupaca mijenja podatke, ali ih i dalje može probiti kriptanaliza, što je način proučavanja kriptografskog algoritma kako bi se razbio.

Napadi prečaca su jedan od ključne prijetnje. To su napadi koji mogu srušiti šifriranje uz manje napora nego sile prisiljavanja. Prilikom dizajniranja AES-a pronađeni su napadi prečaca do šest rundi njegovog procesa. Zbog toga su dodana dodatna četiri kruga za najmanje 128-bitni AES kao sigurnosna marža. Rezultirajućih 10 krugova daju dovoljno načina šifriranja prostora da se spriječe napadi prečaca prema današnjim tehnikama i tehnologiji.

Zašto ne dodamo još rundi kako bismo pojačali sigurnost?

Uz većinu sigurnosnih stvari, treba postojati kompromis između čiste obrambene snage, upotrebljivosti i performansi. Ako postavite deset čeličnih vrata sa sigurnosnim svornjacima na svakom od ulaznih mjesta u svoju kuću, to bi sigurno učinilo sigurnijim. Također bi bilo potrebno nerazumno puno vremena za ulazak i izlazak, zbog čega nikad ne vidimo da to iko radi.

Isto je kod šifriranja. Mogli bismo ga učiniti sigurnijim dodavanjem više krugova, ali to bi bilo i sporije i mnogo manje učinkovito. 10, 12 i 14 krugova AES-a je riješeno jer pružaju dobar kompromis između ovih konkurentskih aspekata, barem u trenutnom tehnološkom krajoliku.

Dešifriranje AES-a

Ako ste uspjeli zaobići gore opisani postupak šifriranja, dešifriranje je relativno jednostavno. Da biste se iz šifričnog teksta vratili u vidik originalne poruke, sve se vrši obrnuto.

Ako počnemo s našim šifriranim rezultatom od “Ok23b8a0i3j 293uivnfqf98vs87a” i primijenite inverziju svakog koraka šifriranja, započinje s inverznim okruglim ključem, zatim obrnutim redovima pomicanja i zamjenom obrnutim bajtova, prije nego što prijeđete u inverziju od 9, 11 ili 13 krugova. To izgleda ovako:

“Ok23b8a0i3j 293uivnfqf98vs87a”

Inverzno dodajte okrugli ključ

Obrnuti redovi pomicanja

Inverzna zamjena bajta

Inverzno dodajte okrugli ključ

Obrnuti stupci miješanja

Obrnuti redovi pomicanja

Inverzna zamjena bajta         

x 9, 11 ili 13 puta, ovisno o tome je li ključ 128,192 ili 256-bitni

Inverzno dodajte okrugli ključ

Nakon ovog postupka dešifriranja, na kraju smo ponovno s originalnom porukom: “Kupi mi malo krompirovog čipsa molim te”

128 prema 192 prema 256-bitnom AES-u

AES ima tri različite duljine ključeva. Glavna razlika je broj krugova kroz koje prolaze podaci u procesu šifriranja, 10, 12 i 14. U suštini, 192-bitni i 256-bitni pružiti a veća marža sigurnosti od 128-bitni.

U trenutnom tehnološkom krajoliku, 128-bitni AES dovoljno je za većinu praktičnih svrha. Vrlo osjetljivi podaci obrađuju osobe s ekstremnim stupnjem prijetnje, kao što su TOP SECRET dokumenata koju kontrolira vojska, vjerojatno bi se trebali obraditi s bilo kojim od njih 192 ili 256-bitni AES.

Ako ste paranoični, možda biste radije koristili 192 ili 256-bitni enkripcija kad god je to moguće. Ovo je u redu ako vam lakše spava noću, ali u većini situacija to zaista nije potrebno. Bez dodatnih troškova, osim četiri dodatna kruga 256-bitna enkripcija što ga čini za oko 40 posto manje učinkovitim.

Pitanja sigurnosti AES-a

Kriptografi stalno istražuju AES za slabosti, pokušavajući smisliti nove tehnike i iskoristiti tehnologiju koja im dolazi na put. To je neophodno jer ako to akademici nisu temeljito ispitali, zločinci ili nacionalne države na kraju bi mogli pronaći način da se razbiju bez ostatka svijeta. Do sada su istraživači otkrili samo teoretske lomove i napade bočnih kanala.

Napad s povezanim ključem

U 2009. godini otkriven je niz povezanih s ključnim napadima. Ovo su vrsta kriptoanalize koja uključuje promatranje načina rada šifre pod različitim tipkama. Napadi povezanih ključeva koje su otkrili istraživači ne izazivaju veliku zabrinutost; mogući su samo protiv protokola koji nisu pravilno implementirani.

Poznati ključ razlikovanja napada

Ponovo se 2009. dogodio poznati ključni razlikovni napad na osmostruku verziju AES-128. U tim se napadima koristi ključ koji je već poznat kako bi se utvrdila svojstvena struktura šifre. Budući da je ovaj napad bio samo protiv verzije od osam kola, to nije previše briga za svakodnevne korisnike AES-128.

Napad na bočni kanal

Bilo je i nekoliko drugih teorijskih napada, ali prema sadašnjoj tehnologiji, još uvijek će im trebati milijarde godina da se razbiju. Ovo znači to Sam AES je u osnovi neraskidiv. Unatoč tome, AES i dalje može biti ranjiv ako se ne provodi pravilno, u onome što je poznato kao napad bočnih kanala.

Napadi bočnih kanala nastaju kada sustav propušta informacije. Napadač sluša zvuk, informacije o vremenu, elektromagnetske informacije ili potrošnju energije kako bi prikupio zaključke iz algoritma koji se potom može upotrijebiti za razbijanje.

Ako se AES pažljivo provede, ti se napadi mogu spriječiti uklanjanjem izvora curenja podataka ili osiguravanjem da ne postoji očigledan odnos između procurjelih podataka i algoritamskih procesa.

Zadnja slabost je općenitija od specifične za AES, ali korisnici moraju biti svjesni da AES ne čini automatski svoje podatke sigurnim. Čak je i AES-256 ranjiv ako napadač može pristupiti korisničkom ključu. Zbog toga je AES samo jedan vid zaštite podataka. Učinkovito upravljanje lozinkom, zaštitni zidovi, otkrivanje virusa i edukacija o napadima društvenog inženjerstva jednako su kritični na svoj način.

Je li dovoljno AES-a?

U sadašnjem dobu svi prenosimo toliko naših osjetljivih podataka putem interneta, AES je postao bitan dio naše sigurnosti. Iako je to od 2001., ponavljajući postupak dodavanja ključeva, zamjene bajtova, pomicanja redaka i miješanja stupaca pokazao se da stoji test vremena.

Unatoč trenutnim teoretskim napadima i svim potencijalnim napadima bočnih kanala, AES sam ostaje siguran. Odličan je standard za osiguranje naše elektroničke komunikacije i može se primijeniti u mnogim situacijama kada je osjetljive informacije potrebno zaštititi. Sudeći prema trenutnoj razini tehnologije i tehnika napada, trebali biste se osjećati samouvjereno koristeći ga dobro u doglednu budućnost.

Zašto nam treba enkripcija?

Sada kada smo prošli kroz tehničke detalje AES-a, važno je razgovarati o tome zašto je šifriranje važno. Na svojoj osnovnoj razini, enkripcija nam omogućava kodiranje podataka tako da samo oni koji imaju pristup ključu mogu dešifrirati podatke. Bez ključa, izgleda kao kreten. Ključem se gomila naizgled nasumičnih likova vraća u izvornu poruku.

Šifriranje tisućama godina koriste vlade i milicije kako bi osjetljivi podaci mogli pasti u pogrešne ruke. Tijekom godina sve se više probijao u svakodnevni život, pogotovo zato što je tako velik dio naših osobnih, društvenih i radnih odnosa sada prešao u internetski svijet.

Samo razmisli o svemu tome podaci koje unosite u svoje uređaje: lozinke, bankovni podaci, vaš privatne poruke i mnogo više. Bez ikakvog šifriranja, ove bi podatke bilo puno lakše da ih netko presreće, bilo da su kriminalci, ludi stalci ili vlada.

Toliko toga naše su informacije vrijedne ili osjetljive, tako da je jasno da ga treba zaštititi na način da mu mogu pristupiti samo mi i oni koje odobrimo. Zbog toga nam treba šifriranje. Bez njega internetski svijet jednostavno ne bi mogao funkcionirati. Bili bismo potpuno lišeni svake privatnosti i sigurnosti, šaljući naš internetski život u apsolutni kaos.

Vidi također:
Alat za generiranje lozinki
Resursi za šifriranje: Veliki popis alata i vodiča
Poznati kodovi i šifre kroz povijest
Statistika cyber sigurnosti & činjenicama

“Hakanje, kibernetički kriminal” od jaydeep_ pod licencom pod CC0

About the author

Comments

  1. globalnoj zajednici kao novi standard šifriranja.

    AES je odabran zbog svoje sigurnosti i brzine. Kao što je spomenuto, DES je imao samo 56-bitni ključ, što je postalo nedovoljno za sigurnost u modernom dobu. AES, s ključevima od 128, 192 i 256 bita, pruža mnogo veću razinu sigurnosti. Također je brz i učinkovit, što ga čini idealnim za korištenje u različitim aplikacijama i tehnologijama koje koristimo svakodnevno.

    Kako AES djeluje? AES koristi niz koraka za šifriranje podataka, uključujući podjelu podataka u blokove, proširenje ključa, dodavanje okruglog ključa, zamjenu bajtova, pomak redova, miješanje stupaca i mnogo više rundi. Svaki korak ima svoj smisao i doprinosi ukupnoj sigurnosti šifriranja.

    Iako AES pruža visoku razinu sigurnosti, postoje i neki napadi na koje treba obratiti pažnju, poput napada s povezanim ključem i napada na bočni kanal. Međutim, AES se i dalje smatra jednim od najsigurnijih oblika šifriranja koji se koriste danas.

    Ukratko, AES je postao globalni standard šifriranja zbog svoje sigurnosti i brzine. Koristi se u različitim aplikacijama i tehnologijama koje koristimo svakodnevno, a njegovi koraci za šifriranje podataka pružaju visoku razinu sigurnosti.

Comments are closed.