Mikä on AES (Advanced Encryption Standard)? Symmetrinen lohkosalaus ja käyttö
AES (Advanced Encryption Standard) on symmetrisen avaimen lohkosalausalgoritmi, jonka National Institute of Standards and Technology (NIST) valitsi vuonna 2001. Se valittiin tietojen salaamiseen. Sitä käytetään yleisesti kaikkialla maailmassa. Advanced Encryption Standard on korvannut Data Encryption Standardin (DES).
Vuodesta 2008 lähtien AES on yksi suosituimmista symmetrisen avaimen salausalgoritmeista. Se on ohjelmoijien ja suuren yleisön saatavilla useissa ohjelmistopaketeissa.
Miten AES toimii
AES on lohkosalaus: se käsittelee dataa kiinteän kokoisina lohkoina. AES:n lohkokoko on 128 bittiä. Algoritmi määrittelee kolme sallitua avainpituutta: 128, 192 ja 256 bittiä. Avainpituudesta riippuen myös salauskierrosten määrä muuttuu:
- AES-128: 10 kierrosta
- AES-192: 12 kierrosta
- AES-256: 14 kierrosta
Yksi AES:n perusrakenteen ominaisuuksista on niin sanottu Substitution–Permutation Network (SPN). Yksi kierros sisältää yleensä seuraavat vaiheet:
- SubBytes – paikalliset korvausoperaatiot (S-laatikko)
- ShiftRows – rivien kierto tietyllä tavalla
- MixColumns – sarakkeiden lineaarinen sekoitus (ei viimeisessä kierroksessa)
- AddRoundKey – kierrosavain x-orataan tilaan
Kierrosavaimet johdetaan alkuperäisestä salausavaimesta avainajurilla (key schedule). Purkamisessa (decryption) suoritetaan näiden vaiheiden käänteiset toimet.
Käyttötavat ja toimintatilat
AES by itself on lohkosalaus; sitä käytetään aina yhdessä jonkin toimintatilan (mode of operation) kanssa, jotta voidaan salata pidempiä datavirtoja tai tarjota suojausta tietynlaisia hyökkäyksiä vastaan. Yleisimpiä toimintatiloja ovat:
- ECB – yksinkertainen mutta turvaton: identtiset lohkot antavat identtiset salauslohkoja; ei suositella käytettäväksi.
- CBC – blokit kytketään ketjuun ja tarvitsee satunnaisen alustusvektorin (IV).
- CTR – virta-simulaatio, hyödynnettävissä rinnakkaiseen käsittelyyn.
- GCM – tarjoilee sekä salauksen että autentikoinnin (authenticated encryption), yleisesti suositeltu nykyaikaisissa sovelluksissa.
Nykykäytännössä suositaan aina autentikoivaa salausta (esim. AES-GCM tai yhdistetty algoritmi kuten AES-CCM), koska pelkkä salaus ei estä muun muassa viestien manipulointia.
Turvallisuus
Kun AES:iä käytetään oikein (pitkät avaimet tarpeen mukaan, turvallinen avainten hallinta, uniikit IV:t, autentikoiva toimintatila), se on osoittautunut turvalliseksi monenlaisia käytännön hyökkäyksiä vastaan. AES:n matemaattisia heikkouksia ei ole löytynyt käytännöllisellä monimutkaisuudella murtamiskelpoisessa muodossa: paras tunnettu tapa murtaa AES on kokeellinen avaimenmurtaminen (brute force), joka on käytännössä mahdotonta riittävän pitkillä avaimilla.
Kuitenkin toteutuksiin liittyvät sivukanava-hyökkäykset (esim. aika- tai virta-analyyseihin perustuvat hyökkäykset) voivat vaarantaa järjestelmän, jos laitteissa ei oteta suojaavia vastatoimia. Myös avainten hallinta ja satunnaisuuden laatu ovat kriittisiä tekijöitä.
Toteutus ja suorituskyky
AES on suunniteltu tehokkaaksi sekä ohjelmisto- että laiteratkaisuissa. Monet modernit suorittimet sisältävät AES-NI -käskynkokoelman, joka nopeuttaa AES-operaatioita laitteistotason tuella. Ohjelmistoissa käytetään yleisesti hyväksi optimoituja kirjastoja (esim. OpenSSL, libsodium), jotka tarjoavat turvallisen ja nopean toteutuksen.
Hyvät käytännöt
- Käytä riittävän pitkää avainta (vähintään AES-128, mutta AES-256 tarjoaa enemmän varmuutta tulevaisuuden uhkia vastaan).
- Käytä autentikoivia toimintatiloja (esim. AES-GCM) tai yhdistä salaus ja MAC oikein.
- Varmista IV:ien/noncejen oikea käsittely — usein ne on oltava uniikkeja ja joskus satunnaisia.
- Älä käytä ECB-tilaa tuotantokäytössä.
- Älä “tee omaa” kryptografiaa: käytä hyväksi todettuja kirjastoja ja standardeja.
- Huolehdi avainten elinkaaresta ja suojauksesta (avainhallinta, vaihtaminen, varmuuskopiointi turvallisesti).
Käyttökohteet
AES:ää käytetään laajalti esimerkiksi HTTPS/TLS-yhteyksissä, VPN-yhteyksissä, levynsalauksessa (kuten BitLocker ja LUKS), tiedostojen salaamisessa ja monissa sulautetuissa järjestelmissä. Sen leviäminen perustuu yhdistettyyn turvallisuuteen ja tehokkuuteen.
Yhteenvetona: AES on nykystandardi symmetriselle lohkosalaukselle, joka tarjoaa vahvan suojan oikein käytettynä. Oikea toimintatila, avainhallinta ja toteutuksen turvallisuus ovat kuitenkin yhtä tärkeitä kuin itse algoritmin valinta.


VeraCrypt on ohjelma, joka antaa mahdollisuuden käyttää AES:ää salaukseen.
Historia
AES on belgialaisten ohjelmoijien Vincent Rijmenin ja Joan Daemenin kehittämä Rijndael-lohkosalaus (lausutaan [rɛindaːl]).
Kansallinen standardointi- ja teknologiainstituutti (National Institute of Standards and Technology) järjesti kilpailun julkisesti saatavilla olevasta symmetrisen avaimen salausalgoritmista ja alkoi ottaa vastaan ehdotuksia vuonna 1997.
Vuonna 1998 ensimmäisessä AES-konferenssissa valittiin viisitoista algoritmia ensimmäiselle kierrokselle. Kommentteja pyydettyään NIST järjesti toisen AES-konferenssin, jossa viisi parasta algoritmia olivat MARS, RC6, Rijndael, Serpent ja Twofish.
Vuonna 2000 ja kolmannen AES-konferenssin päättyessä NIST valitsi Rijndaelin AES-ehdotukseksi. NIST valitsi AES:ää varten kolme Rijndael-perheen jäsentä, joista jokaisen lohkokoko on 128 bittiä, mutta avainten pituudet ovat 128, 192 ja 256 bittiä.
AES (Advanced Encryption Standard) julkaistiin liittovaltion tietojenkäsittelystandardina 26. marraskuuta 2001.
Yksityiskohdat
AES:n kiinteä lohkokoko on 128 bittiä ja avainkoko on 128, 192 tai 256 bittiä.
"AES-algoritmin kaikkien avainten pituuksien (eli 128, 192 ja 256) rakenne ja vahvuus riittävät suojaamaan turvaluokiteltua tietoa aina SECRET-tasolle asti. TOP SECRET -turvaluokan tiedot edellyttävät joko 192 tai 256 avaimen pituuden käyttöä. NSA:n on tarkistettava ja sertifioitava AES:n käyttö tuotteissa, joiden tarkoituksena on suojata kansallisia turvallisuusjärjestelmiä ja/tai -tietoja, ennen niiden hankintaa ja käyttöä."
AES on nopea sekä ohjelmistossa että laitteistossa, se on suhteellisen helppo toteuttaa ja vaatii vain vähän muistia.
Standard
AES (Advanced Encryption Standard) on määritelty asiakirjassa:
- FIPS PUB 197: Kehittynyt salausstandardi (AES)
- ISO/IEC 18033-3: Lohkosalakirjoitukset
Aiheeseen liittyvät sivut
- DES-X
- Tietojen salausstandardi (DES)
- Triple DES (TDES)
Kysymyksiä ja vastauksia
K: Mikä on kehittynyt salausstandardi (AES)?
V: Advanced Encryption Standard on symmetrisen avaimen lohkosalausalgoritmi, jota käytetään tietojen salaamiseen.
K: Milloin ja kuka valitsi AES:n?
V: Kansallinen standardointi- ja teknologiainstituutti (NIST) valitsi AES:n vuonna 2001.
K: Mitä AES on korvannut?
V: AES on korvannut DES-standardin (Data Encryption Standard).
Kysymys: Milloin AES:stä tuli yksi suosituimmista symmetrisen avaimen salausalgoritmeista?
V: Vuodesta 2008 lähtien AES:stä tuli yksi suosituimmista symmetrisen avaimen salauksessa käytettävistä algoritmeista.
K: Kenellä on pääsy AES:ään?
V: AES on ohjelmoijien ja suuren yleisön saatavilla eri ohjelmistopaketeissa.
K: Minkä tyyppinen salausalgoritmi AES on?
V: AES on symmetrisen avaimen lohkosalausalgoritmi.
K: Mikä on AES:n ensisijainen tarkoitus?
V: AES:n ensisijainen tarkoitus on salata tietoja.