Salausteksti on salattua tekstiä, joka muunnetaan selkotekstistä salausalgoritmin avulla. Salaustekstiä ei voi lukea ennen kuin se on muunnettu selvätekstiksi (purettu) avaimella. Salakirjoituksen purku on algoritmi, joka muuttaa salaustekstin takaisin selkotekstiksi.
Käsitettä salakirjoitus käytetään joskus salakirjoituksen synonyymina. Se viittaa kuitenkin pikemminkin salausmenetelmään kuin lopputulokseen.
Salakirjoitustyypit
Salakirjoitustyyppejä on monenlaisia, muun muassa:
- Substituutiosalakirjoitukset. Korvaa tavallisen tekstin bitit, merkit tai merkkilohkot vaihtoehtoisilla biteillä, merkeillä tai merkkilohkoilla salatun tekstin tuottamiseksi. Korvaussalaus voi olla monoalfaattinen tai polyalfaattinen:
- Koko selkotekstin salaus tehdään yhdellä aakkosella. Jos esimerkiksi kirjain A salakirjoitetaan kirjaimeksi K, tämä koskee koko viestiä.
- Kompleksisempi substituutio, jossa käytetään sekalaista aakkostoa selkotekstiviestin jokaisen bitin, merkin tai merkkilohkon salaamiseen. Esimerkiksi kirjain A voidaan salata kirjaimena K osan viestistä, mutta myöhemmin se voidaan salata kirjaimena W.
- Transpositiosalaukset. Toisin kuin korvaussalakirjoituksissa, joissa kirjaimet korvataan toisilla kirjaimilla, transpositiosalakirjoituksissa kirjaimet säilyvät samoina, mutta niiden järjestys muuttuu tietyn algoritmin mukaisesti. Esimerkiksi yksinkertaisessa sarakkeellisessa transpositiosalauksessa viesti saatetaan lukea vaakasuoraan, mutta kirjoitetaan pystysuoraan salaustekstin tuottamiseksi.
- Polygrafiset salaukset. Polygrafinen salakirjoitus korvaa yhden kirjaimen toisella kirjaimella, ja se suorittaa korvauksia kahdella tai useammalla kirjainryhmällä. Tämä peittää kirjainten taajuusjakauman, mikä tekee taajuusanalyysihyökkäyksistä paljon vaikeampia.
- Permutaatiosalakirjoitukset. Tässä salakirjoituksessa selkotekstin hallussa olevat asemat siirretään säännölliseen järjestelmään siten, että salakirjoitusteksti muodostaa selkotekstin permutaation.
- Yksityisen avaimen salakirjoitus. Tässä salakirjoituksessa lähettäjällä ja vastaanottajalla on oltava ennalta jaettu avain. Jaettu avain pidetään salassa kaikilta muilta osapuolilta, ja sitä käytetään sekä salaukseen että salauksen purkamiseen. Tämä salaus tunnetaan myös nimellä ”symmetrinen avainalgoritmi.”
- Julkisen avaimen salaus. Tässä salakirjoituksessa käytetään kahta eri avainta — julkista avainta ja yksityistä avainta — salaukseen ja salauksen purkamiseen. Lähettäjä käyttää julkista avainta salauksen suorittamiseen, mutta yksityinen avain pidetään salassa vastaanottajalta. Tämä tunnetaan myös nimellä ”epäsymmetrisen avaimen algoritmi.”
Salakirjoituksen käyttötarkoitukset
Symmetriset salakirjoitukset, joita käytetään tyypillisesti verkkoviestinnän suojaamiseen, sisällytetään moniin erilaisiin verkkoprotokolliin, joita käytetään tietojenvaihdon salaamiseen. Esimerkiksi Transport Layer Security käyttää salakirjoituksia sovelluskerroksen tietojen salaamiseen.
Virtuaaliset yksityisverkot, jotka yhdistävät etätyöntekijöitä tai etähaaroja yritysverkkoihin, käyttävät symmetrisiä salakirjoituksia sisältäviä protokollia tietoliikenteen suojaamiseen. Symmetriset salakirjoitukset suojaavat tietosuojaa useimmissa Wi-Fi-verkoissa, verkkopankkipalveluissa, sähköisen kaupankäynnin palveluissa ja matkapuhelimissa.
Muut protokollat, kuten Secure Shell, OpenPGP ja Secure/Multipurpose Internet Mail Extensions, käyttävät epäsymmetristä salausta päätepisteiden salaamiseen ja todentamiseen, mutta myös istuntotietojen salaamiseen tarvittavien symmetristen avainten turvalliseen vaihtoon. Suorituskykysyistä protokollat tukeutuvat usein salakirjoituksiin istuntotietojen salaamisessa.
Salaustekstihyökkäykset
Tunnettu salaustekstihyökkäys tai vain salaustekstiä koskeva hyökkäys (COA, ciphertext-only attack) on hyökkäysmenetelmä, jota käytetään kryptoanalyysissä silloin, kun hyökkääjällä on käytössään tietty joukko salaustekstejä. Tässä menetelmässä hyökkääjällä ei kuitenkaan ole pääsyä vastaavaan selvätekstiin eli dataan, joka lähetetään tai tallennetaan salaamattomana. COA onnistuu, kun vastaava selväteksti voidaan määrittää tietystä salatekstijoukosta. Joskus salakirjoitustekstin salaamiseen käytetty avain voidaan määrittää tämän hyökkäyksen avulla.
Valitussa salakirjoitustekstihyökkäyksessä (selected ciphertext attack, CCA) hyökkääjä voi saada uhrin (joka tietää salaisen avaimen) purkamaan minkä tahansa salakirjoitustekstin ja lähettämään tuloksen takaisin. Analysoimalla valittua salaustekstiä ja vastaavaa vastaanotettua selkotekstiä hyökkääjä yrittää arvata uhrin käyttämän salaisen avaimen. CCA:n tavoitteena on saada tietoa, joka heikentää salausjärjestelmän turvallisuutta.
Related-key-hyökkäys on mikä tahansa kryptoanalyysin muoto, jossa hyökkääjä voi tarkkailla salauksen toimintaa useilla eri avaimilla, joiden arvoja hyökkääjä ei alun perin tiedä. Avaimia yhdistää kuitenkin jokin matemaattinen suhde, jonka hyökkääjä tietää.
Salausteksti esimerkki
Yksi varhaisimmista ja yksinkertaisimmista salakirjoituksista on Caesar-salakirjoitus, joka käyttää symmetrisen avaimen algoritmia. Avain toimii kahden (tai useamman) osapuolen välisenä jaettuna salaisuutena, jota voidaan käyttää salaisen tiedon lähettämiseen, jota kukaan ei voi lukea ilman kopiota avaimesta.
Caesar-salakirjoitus on substituutiosalakirjoitus, jossa jokainen selkotekstin kirjain ”siirretään” tietty määrä paikkoja aakkosissa alaspäin. Esimerkiksi, kun siirto on 1, A olisi B, B korvattaisiin C:llä jne. Menetelmä on nimetty Julius Caesarin mukaan, jonka sanotaan käyttäneen sitä kommunikoidessaan kenraaliensa kanssa.
Tässä on esimerkki Caesarin salakirjoitukseen liittyvistä salaus- ja purkuvaiheista. Salattava teksti on ”puolusta linnan itäistä muuria”, ja siirto (avain) on 1.
- Salausteksti: puolusta linnan itäistä muuria
- Salausteksti: efgfoe uif fbtu xbmm pg uif dbtumf