logo

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) on Yhdysvaltain kansallisen standardointi- ja teknologiainstituutin (NIST) vuonna 2001 vahvistama spesifikaatio elektronisten tietojen salaukselle. AES on nykyään laajalti käytössä, koska se on paljon vahvempi kuin DES ja kolminkertainen DES, vaikka se on vaikeampi. toteuttaa.

Muistettavat kohdat



  • AES on lohkosalaus.
  • Avaimen koko voi olla 128/192/256 bittiä.
  • Salaa tiedot 128-bittisinä lohkoina.

Tämä tarkoittaa, että se ottaa 128 bittiä syötteenä ja tulostaa 128 bittiä salattua salatekstiä ulostulona. AES perustuu korvaus-permutaatioverkkoperiaatteeseen, mikä tarkoittaa, että se suoritetaan käyttämällä sarjaa linkitettyjä operaatioita, joihin sisältyy syöttötietojen korvaaminen ja sekoittaminen.

viitetietotyyppejä javassa

Salauksen toiminta:
AES suorittaa operaatioita datatavuilla bittien sijaan. Koska lohkon koko on 128 bittiä, salaus käsittelee 128 bittiä (tai 16 tavua) tulodataa kerrallaan.

Kierrosten määrä riippuu avaimen pituudesta seuraavasti:



  • 128-bittinen avain – 10 kierrosta
  • 192-bittinen avain – 12 kierrosta
  • 256-bittinen avain – 14 kierrosta

Pyöreiden avainten luominen:
Key Schedule -algoritmia käytetään laskemaan kaikki pyöreät näppäimet avaimesta. Alkuavainta käytetään siis luomaan monia erilaisia ​​kierrosavaimia, joita käytetään vastaavalla salauskierroksella.

Salaus:
AES pitää jokaista lohkoa 16-tavuisena (4 tavua x 4 tavua = 128) ruudukkona sarakkeen pääjärjestelyssä.



 [ b0 | b4 | b8 | b12 | | b1 | b5 | b9 | b13 | | b2 | b6 | b10| b14 | | b3 | b7 | b11| b15 ]>

Jokainen kierros koostuu 4 vaiheesta:

  • Subtavut
  • ShiftRows
  • MixColumns
  • Lisää pyöreä avain

Viimeisellä kierroksella ei ole MixColumns-kierrosta.

Subtavut tekevät korvauksen ja ShiftRows ja MixColumns suorittavat permutoinnin algoritmissa.

Subtavut:
Tämä vaihe toteuttaa korvauksen.

Tässä vaiheessa jokainen tavu korvataan toisella tavulla. Se suoritetaan käyttämällä hakutaulukkoa, jota kutsutaan myös S-boxiksi. Tämä korvaaminen tehdään siten, että tavua ei koskaan korvata itsestään eikä myöskään toisella tavulla, joka on nykyisen tavun täydennys. Tämän vaiheen tuloksena on 16-tavuinen (4 x 4) matriisi kuten aiemmin.

Seuraavat kaksi vaihetta toteuttavat permutaation.

ShiftRows:
Tämä vaihe on juuri sitä miltä se kuulostaa. Jokaista riviä siirretään tietyn määrän kertoja.

mikä on käyttöliittymä
  • Ensimmäinen rivi ei ole siirretty
  • Toinen rivi siirretään kerran vasemmalle.
  • Kolmas rivi siirretään kahdesti vasemmalle.
  • Neljäs rivi siirretään kolmesti vasemmalle.

(Suoritetaan pyöreä siirto vasemmalle.)

 [ b0 | b1 | b2 | b3 ] [ b0 | b1 | b2 | b3 ] | b4 | b5 | b6 | b7 | ->| b5 | b6 | b7 | b4 | | b8 | b9 | b10 | b11 | | b10 | b11 | b8 | b9 | [ b12 | b13 | b14 | b15 ] [ b15 | b12 | b13 | b14 ]>> 

MixColumns:
Tämä vaihe on pohjimmiltaan matriisikerto. Jokainen sarake kerrotaan tietyllä matriisilla ja siten jokaisen tavun sijainti sarakkeessa muuttuu seurauksena.

Tämä vaihe ohitetaan viimeisellä kierroksella.

Kaikkien näiden kierrosten jälkeen 128 bittiä salattua dataa palautetaan ulostulona. Tätä prosessia toistetaan, kunnes kaikki salattavat tiedot käyvät läpi tämän prosessin.

Salauksen purku:
Kierroksen vaiheet voidaan helposti perua, koska näillä vaiheilla on vastakohta, joka suoritettuna palauttaa muutokset. Jokainen 128 lohkoa käy läpi 10, 12 tai 14 kierrosta riippuen avaimen koosta.

Kunkin kierroksen vaiheet salauksenpurkussa ovat seuraavat:

  • Lisää pyöreä avain
  • Käänteiset MixColumns
  • ShiftRows
  • Käänteinen alitavu

Salauksen purkuprosessi on salausprosessi, joka tehdään käänteisesti, joten selitän vaiheet merkittävillä eroilla.

Käänteiset sekoitussarakkeet:
Tämä vaihe on samanlainen kuin MixColumns-vaihe salauksessa, mutta eroaa toiminnon suorittamiseen käytetystä matriisista.

 [ b0 ] [ 14 11 13 9 ] [ c0 ] | b1 | = | 9 14 11 13 | | c1 | | b2 | | 13 9 14 11 | | c2 | [ b3 ] [ 11 13 9 14 ] [ c3 ]>

Käänteiset alitavut:
Käänteistä S-laatikkoa käytetään hakutaulukkona ja jolla tavut korvataan salauksen purkamisen aikana.

Sovellukset:

AES on laajalti käytössä monissa sovelluksissa, jotka vaativat suojattua tiedon tallennusta ja siirtoa. Joitakin yleisiä käyttötapauksia ovat:

    Langaton suojaus: AES:tä käytetään langattomien verkkojen, kuten Wi-Fi-verkkojen, suojaamiseen tietojen luottamuksellisuuden varmistamiseksi ja luvattoman käytön estämiseksi. Tietokannan salaus: AES:tä voidaan käyttää tietokantoihin tallennettujen arkaluonteisten tietojen salaamiseen. Tämä auttaa suojaamaan henkilökohtaisia ​​tietoja, taloustietoja ja muita luottamuksellisia tietoja luvattomalta käytöltä tietoturvaloukkauksen sattuessa. Suojattu viestintä: AES:tä käytetään laajalti protokollissa, kuten Internet-viestinnässä, sähköpostissa, pikaviesteissä ja ääni-/videopuheluissa. Se varmistaa, että tiedot pysyvät luottamuksellisina. Tietojen tallennus: AES:ää käytetään kiintolevyille, USB-asemille ja muille tallennusvälineille tallennettujen arkaluontoisten tietojen salaamiseen ja suojaa niitä luvattomalta käytöltä katoamisen tai varkauden sattuessa. Virtuaaliset yksityisverkot (VPN:t): AES:tä käytetään yleisesti VPN-protokollassa suojaamaan käyttäjän laitteen ja etäpalvelimen välistä viestintää. Se varmistaa, että VPN:n kautta lähetetyt ja vastaanotetut tiedot pysyvät yksityisinä, eivätkä salakuuntelijat pysty tulkitsemaan niitä. Salasanojen turvallinen säilytys: AES-salausta käytetään yleisesti salasanojen turvalliseen tallentamiseen. Selkotekstisalasanojen tallentamisen sijaan salattu versio tallennetaan. Tämä lisää ylimääräistä suojaustasoa ja suojaa käyttäjän tunnistetietoja, jos tallennustilaan pääsee luvatta. Tiedostojen ja levyjen salaus: AES:tä käytetään tiedostojen ja kansioiden salaamiseen tietokoneissa, ulkoisissa tallennuslaitteissa ja pilvitallennustilassa. Se suojaa laitteille tallennettuja arkaluontoisia tietoja tai tiedonsiirron aikana estääkseen luvattoman käytön.

Yhteenveto:
AES-käskysarja on nyt integroitu suorittimeen (tarjoaa useiden Gt/s suorituskyvyn) parantaakseen AES-salaukseen ja salauksen purkamiseen käyttävien sovellusten nopeutta ja turvallisuutta. Vaikka sen käyttöönotosta on kulunut 20 vuotta, emme ole onnistuneet rikkomaan AES-algoritmia, koska se on mahdoton edes nykytekniikalla. Toistaiseksi ainoa haavoittuvuus on jäljellä algoritmin toteutuksessa.