Difference: TärkeitäSymmetrisiäSalausmenetelmiä (r2 vs. r1)

r2 - 18 Mar 2010 - 20:49 - MaijuLehtonen? r1 - 07 Mar 2010 - 20:42 - MaijuLehtonen?

Tärkeitä symmetrisiä salausmenetelmiä

Tärkeitä symmetrisiä salausmenetelmiä

Salausalgoritmeja on olemassa sadoittain, ja kymmeniä on yleisesti käytössäkin. Jokainen voi kehitellä niitä itsekin, mutta se ei kannata. Asiaan perehtyneet tutkijatkin ovat usein saaneet huomata, että joku toinen on murtanut heidän luomuksensa.

Salausalgoritmeja on olemassa sadoittain, ja kymmeniä on yleisesti käytössäkin. Jokainen voi kehitellä niitä itsekin, mutta se ei kannata. Asiaan perehtyneet tutkijatkin ovat usein saaneet huomata, että joku toinen on murtanut heidän luomuksensa.

Diffuusion ja konfuusion yhteydessä esitetty lohkoalgoritmi tarjoaa esimerkin siitä, miten monet algoritmit on tehty. Siinähän tehdään kirjainten korvauksia ja sekoituksia ja sitten toistetaan tätä. Myöhempiä kierroksia varten kannattaisi modifioida avainta jotenkin ja kunkin kierroksen korvausten ja sekoitusten tuloksia voisi yhdistellä jotenkin mutkikkaammin. Tähän tapaan toimii 1900-luvun viimeisen neljänneksen tunnetuin salausalgoritmi DES, Data Encryption Standard. Se käsittelee 64 bitin lohkoa biteittäin. Se ei ole enää turvallinen, koska sen avaimen pituus on vain 56 bittiä. Käyttämällä DESiä kolmesti peräkkäin kahdella tai kolmella avaimella saadaan nykyäänkin vielä riitävän turvallisuus. Avaimen todellinen pituus on tällöin 112 tai 168 bittiä.

Diffuusion ja konfuusion yhteydessä esitetty lohkoalgoritmi tarjoaa esimerkin siitä, miten monet algoritmit on tehty. Siinähän tehdään kirjainten korvauksia ja sekoituksia ja sitten toistetaan tätä. Myöhempiä kierroksia varten kannattaisi modifioida avainta jotenkin ja kunkin kierroksen korvausten ja sekoitusten tuloksia voisi yhdistellä jotenkin mutkikkaammin. Tähän tapaan toimii 1900-luvun viimeisen neljänneksen tunnetuin salausalgoritmi DES, Data Encryption Standard. Se käsittelee 64 bitin lohkoa biteittäin. Se ei ole enää turvallinen, koska sen avaimen pituus on vain 56 bittiä. Käyttämällä DESiä kolmesti peräkkäin kahdella tai kolmella avaimella saadaan nykyäänkin vielä riitävän turvallisuus. Avaimen todellinen pituus on tällöin 112 tai 168 bittiä.

Korvaajaksi DES:lle kehitettiin vuosituhannen vaihteessa AES, Advanced Encryption Standard. Siinä jonka algoritmin alkuperäinen nimi on Rijndael. Lohkokoko on AESissa 128 bittiä ja avain on vähintään 128 bittiä. AES on siis lohkoalgoritmi ja senkin sisällä tehdään useita kierroksia (vähintään 10), mutta se ei noudata enää em. yksinkertaista korvausten ja sekoitusten periaatetta. Se on erittäin nopea toteuttaa sekä ohjelmallisesti että kovolla. Avaimen pituuden puolesta AESilla salattujen tietojen arvellaan pysyvän turvassa ohi vuoden 2030.

Korvaajaksi DES:lle kehitettiin vuosituhannen vaihteessa AES, Advanced Encryption Standard. Siinä jonka algoritmin alkuperäinen nimi on Rijndael. Lohkokoko on AESissa 128 bittiä ja avain on vähintään 128 bittiä. AES on siis lohkoalgoritmi ja senkin sisällä tehdään useita kierroksia (vähintään 10), mutta se ei noudata enää em. yksinkertaista korvausten ja sekoitusten periaatetta. Se on erittäin nopea toteuttaa sekä ohjelmallisesti että kovolla. Avaimen pituuden puolesta AESilla salattujen tietojen arvellaan pysyvän turvassa ohi vuoden 2030.

  

Kaikkein yleisin symmetrinen salausalgoritmi ei ole lohkotyyppinen vaan vuosalaaja A5, jota lähes jokainen tämän lukija käyttää päivittäin matkapuhelimessaan (vaikka se onkin murrettu? ). Sekin kyllä salaa aina vain melko lyhyen purskeen kerrallaan, mutta siinä generoidaan salaisesta avaimesta alkaen avainvirtaa, jota XOR-summataan selkotekstin bitteihin. Avainvirran generointiin käytetään kovolla toteutettuja siirtorekistereitä. Se on tyypillistä monille vuosalaajille ja tekee niistä erittäin nopeita.

Kaikkein yleisin symmetrinen salausalgoritmi ei ole lohkotyyppinen vaan vuosalaaja A5, jota lähes jokainen tämän lukija käyttää päivittäin matkapuhelimessaan (vaikka se onkin murrettu? ). Sekin kyllä salaa aina vain melko lyhyen purskeen kerrallaan, mutta siinä generoidaan salaisesta avaimesta alkaen avainvirtaa, jota XOR-summataan selkotekstin bitteihin. Avainvirran generointiin käytetään kovolla toteutettuja siirtorekistereitä. Se on tyypillistä monille vuosalaajille ja tekee niistä erittäin nopeita.

Kaikki vuoalgoritmit voi toteuttaa myös ohjelmallisesti. Erityisen yksinkertaisesti ohjelmoitava mutta silti turvallisena pidetty algoritmi on RC4, jota käytetään langattoman lähiverkon protokollissa WEP (vanhempi ja turvaton) ja WPA (uudempi jossa myös AES; RC4:n tai paremminkin sen käyttötavan nimenä WPA:ssa on TKIP).

Kaikki vuoalgoritmit voi toteuttaa myös ohjelmallisesti. Erityisen yksinkertaisesti ohjelmoitava mutta silti turvallisena pidetty algoritmi on RC4, jota käytetään langattoman lähiverkon protokollissa WEP (vanhempi ja turvaton) ja WPA (uudempi jossa myös AES; RC4:n tai paremminkin sen käyttötavan nimenä WPA:ssa on TKIP).

Vuosalauksen tarvitsemaa avainvirtaa voidaan generoida myös lohkoalgoritmilla: Syötetään aina sen edellinen ulostulo siihen takaisin (ja aloitetaan jollain sovitulla alkusyötteellä). Tällaista käyttötapaa sanotaa OFB-moodiksi (output feedback mode). Lohkoalgoritmeilla on useita muitakin moodeja. Se, että selkotekstiä salattaisiin suoraviivaisesti vain lohko kerrallaan, on tietysti moodi sinänsä, nimeltään ECB (electronic code book), mutta sitä ei kannata turvasyistä käyttää, jos lohkoja on useita. Tavallisin moodi on CBC (cipher block chaining). Siinä nimen mukaisesti ketjutetaan kryptolohko. Tämä tarkoittaa, että edellisen lohkosalauksen tuloslohko XOR-summataan biteittäin seuraavaan selkotekstilohkoon juuri ennen kuin se menee lohkosalauksen syötteeksi. Purkaminen tapahtuu vastaavalla tavalla ketjuttamalla.

Vuosalauksen tarvitsemaa avainvirtaa voidaan generoida myös lohkoalgoritmilla: Syötetään aina sen edellinen ulostulo siihen takaisin (ja aloitetaan jollain sovitulla alkusyötteellä). Tällaista käyttötapaa sanotaa OFB-moodiksi (output feedback mode). Lohkoalgoritmeilla on useita muitakin moodeja. Se, että selkotekstiä salattaisiin suoraviivaisesti vain lohko kerrallaan, on tietysti moodi sinänsä, nimeltään ECB (electronic code book), mutta sitä ei kannata turvasyistä käyttää, jos lohkoja on useita. Tavallisin moodi on CBC (cipher block chaining). Siinä nimen mukaisesti ketjutetaan kryptolohko. Tämä tarkoittaa, että edellisen lohkosalauksen tuloslohko XOR-summataan biteittäin seuraavaan selkotekstilohkoon juuri ennen kuin se menee lohkosalauksen syötteeksi. Purkaminen tapahtuu vastaavalla tavalla ketjuttamalla.

Lohkoalgoritmien mooditkin ovat tietyssä mielessä kryptoalgoritmeja ja niillä on vaikutus turvallisuuteen. Moodeja ei silti pidä kutsua salausalgoritmeiksi.

Lohkoalgoritmien mooditkin ovat tietyssä mielessä kryptoalgoritmeja ja niillä on vaikutus turvallisuuteen. Moodeja ei silti pidä kutsua salausalgoritmeiksi.

--Main.JukkaKoskinen

--Main.JukkaKoskinen

SivuTiedotLaajennettu edit
Vaativuus Perus
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Uhkat
Mitä Luottamuksellisuus
Miltä Ihmisetön uhka
Missä Organisaatio
Kuka Tite-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
SivuTiedotLaajennettu edit
Vaativuus Perus
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Uhkat
Mitä Luottamuksellisuus
Miltä Ihmisetön uhka
Missä Organisaatio
Kuka Tite-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
r2 - 18 Mar 2010 - 20:49 - MaijuLehtonen? r1 - 07 Mar 2010 - 20:42 - MaijuLehtonen?

View topic | View difference interwoven | History: r3 < r2 < r1 | More topic actions
 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback