Uporaba kriptografije v internetu
Kazalo   
 

Načini za spreminjanje ključa pri šifriranju sporočila

Če šifriramo vsak blok z istim ključem (to imenujemo način ECB - Electronic Code Book), potem se enak blok preslika v enak šifriran blok, kar pa kriptoanalitikom olajša dešifriranje. Bolj varni so naslednji trije načini:

  • CBC (Cipher Block Chaining): Začetni blok teksta seštejemo z XOR z naključnim številom, ki mu rečemo inicializacijski vektor in ga postavimo na začetek šifriranega teksta. Vsak naslednji blok teksta seštejemo s šifriranim prejšnjim blokom in to potem zašifriramo.
  • CFB (Cipher Feedback, včasih mu pravijo tudi CTAK - ciphertext auto key): Inicializacijski vektor zašifriramo s ključem in rezultat seštejemo s prvim blokom teksta in tako dobimo prvi šifrirani blok. To vsoto zašifriramo s ključem in tako dobimo začasni ključ. Temu prištejemo drugi blok teksta ... Vidimo, da pri tem načinu s šifriranjem pravzaprav spreminjamo ključ.
  • OFB (Output Feedback) Inicializacijski vektor zašifriramo s ključem. Ta rezultat (recimo mu R1) z XOR seštejemo s prvim blokom teksta in to je prvi šifrirani blok teksta. Potem dobimo ključ za šifriranje naslednjega bloka tako, da R1 zašifriramo s prvotnim ključem... Od prejšnjega načina se razlikuje v tem, da začasni ključ tvorimo s šifriranjem predhodnega ključa, ni odvisen od teksta.

Pri ECB in OFB zašifrirani bloki niso odvisni od predhodnih blokov - če se spremeni en blok, se spremeni samo njemu ustrezni zašifrirani blok. Ta lastnost pride prav pri nezanesljivih povezavah, saj se vseeno da dešifrirati večino sporočila tudi v primeru, da je nekaj blokov pokvarjenih ali izgubljenih.

Pri načinih CBC in CFB pa se ob spremembi enega vhodnega bloka spremenijo tudi vsi zašifrirani bloki za njim. Če nam en blok sporočila manjka ali je spremenjen, ne moremo dešifrirati nobenega od blokov za njim. Zato zagotavljata celovitost (nespremenjenost) zašifriranega sporočila.

April 1998, dopolnjeno oktobra 2000