Lohkoalgoritmeja käyttävän symmetrisen salauksen moodeja on monenlaisia. Ensinnä mainitut neljä "perinteistä" moodia on luonnosteltu esitiedossa.

  • EBC, Electronic Codebook
  • CBC, Cipher Block Chaining, CBC-MAC
  • CFB, Cipher Feedback
  • OFB, Output Feedback
  • CTR, Counter: Tämä on tavallaan OFB:n yksinkertaistus: ei tehdä takaisinkytkentää vaan joka lohkoa varten salataan vain alustusvektori ja siihen yhdistetty laskurin arvo. Tästä on tullut suosittu moodi sen jälkeen kun AES kasvatti lohkokoon 128:aan (jolloin molemmille em. arvoille on paremmin tilaa).
  • OCB, Offset Codebook. Tämä moodi toimii likimain näin: Muut paitsi viimeinen kryptolohko saadaan kryptaamalla vastaava viestilohko ikään kuin ECB:ssä mutta siten, että ennen ja jälkeen kryptauksen bitteihin XOR-lisätään erikseen kutakin lohkoa varten laskettu "offset". Se ei riipu viestistä mutta kylläkin avaimesta ja alustusvektorista. Viimeistä kryptolohkoa tehtäessä viestilohkon bitit eivät kulje kryptoalgoritmin läpi, vaan sen tekevät bitit, jotka koodaavat ao. lohkon pituuden. Sitä ennen niihin XOR-lisätään offset ja muuan toinen vastaava ennalta laskettu bittijono. Kryptaustulokseen XOR-lisätään offsetin sijasta viimeinen viestilohko. Tarkistussummana on oleellisesti kaikkien viestilohkojen XOR-summa kryptattuna.
  • CCM: CTR + CBC-MAC eli viesti salataan CTR-moodilla ja viimeisenä lohkona salataan MAC, joka on muodostettu viestistä CBC-moodin viimeisenä salatekstilohkona. CBC-salauksen alustusvektorina käytetään bittijonoa, jossa on satunnainen nonce-osa sekä viestin pituus.
  • CWC: Carter-Wegman + CTR (siis MAC-koodin ja CTR-salauksen yhdistelmä vastaavaan tapaan kuin CCM:ssä)

Kahta ensimmäistä ja OCB:tä lukuunottamatta kaikki moodit ovat tietyllä tavalla vuosalauksen kaltaisia. Niissä lohkoalgoritmi tuottaa avainvirran eli bittejä, jotka XOR-summataan selkotekstiin. Lohkoalgoritmia käytetään niissä vain yhteen suuntaan, joten säästytään implementoimasta purkualgoritmia, joka esim. AES:n (mutta ei DES:n) tapauksessa on merkittävästi erilainen kuin salausalgoritmi. Vain kolmessa ensimmäisessä ja OCB:ssä selkotekstillä on vaikutusta lohkoalgoritmin tulokseen. Kolme viimeistä tuottavat salauksen ohella autentikointidatan. Niistä vain OCB:ssä se muodostuu (lähes) samalla vaivalla kuin salauskin, mutta muissakaan kyse ei ole erillisestä salauksesta ja MAC-koodista vaan ne on nivottu yhteen.

Rinnakkaistus on mahdollista OCB:lle (ja tietenkin ECB:lle) ja salauksen osalta myös laskurityyppisille moodeille CTR, CCM ja CWC. Näissä kolmessa ja OFB:ssä voidaan avainvirta voidaan myös tuottaa etukäteen. Kaikki ovat joko standardoituja tai mukana NIST:n standardointihankkeessa , jossa on muitakin moodeja. Tämän listan moodeista vain OCB on patentoitu.

Joskus voi olla parempi olla täyttämättä selkotekstiä algoritmilohkon monikerran mittaiseksi. Tämä mutkistaa salausta ja purkua kuitenkin melko lailla: Viimeiseen, vajaaseen, selkolohkoon voidaan "varastaa" toiseksi viimeisestä kryptolohkosta täytebittejä, jolloin lohko saadaan kryptatuksi. Tulos sijoitetaan toiseksi viimeisen kryptolohkon tilalle ja kryptotekstin loppuun asetetaan se mitä toiseksi viimeisestä kryptolohkosta jäi jäljelle. Tätä menettelyä käytetään luontevimmin ECB:n ja CBC:n kanssa. Jos CBC:ssä ei tarvitse käyttää muualta määräytyvää alustusvektoria (IV), menettelyä voidaan käyttää myös alle yhden lohkon mittaiselle selkotekstille. Varastetaan siis IV:stä. Tällöin lähetykseen tulee IV:stä vain sen jäänne.

JukkaKoskinen?

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Krypto
Mitä Yksityisyys
Miltä Tahallinen uhka
Missä Useita
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r4 < r3 < r2 < r1 | 
Topic revision: r4 - 18 May 2011 - 14:52:18 - MarkoHelenius
 

TUTWiki

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