Locked History Actions

Cipher Block Chaining

Žodis angliškai

Cipher Block Chaining

Santrumpa

CBC

Žodis Lietuviškai

Šifruojamo bloko prirakinimas


Apibrėžimas

Šifruojamo bloko prirakinimas (CBC), naudoja grįžtamąjį ryšį, kad perduotų užšifravimo rezultatą atgal į kito bloko užšifravimą. Paprastas tekstas yra sudėtas moduliu 2 (XOR) su ankstesniu šifrogramos bloku prieš tai, kai bus užšifruotas.


Paaiškinimai

Šifruojamo bloko prirakinimas (CBC), naudoja grįžtamąjį ryšį, kad perduotų užšifravimo rezultatą atgal į kito bloko užšifravimą. Paprastas tekstas yra sudėtas moduliu 2 (XOR) su ankstesniu šifrogramos bloku prieš tai, kai bus užšifruotas. Kiekvieno bloko užšifravimas priklauso nuo visų ankstesnių blokų. Tai reikalinga, kad dekodacijos pusė apdorotų visus užšifruotus blokus iš eilės. Šis būdas reikalauja atsitiktinio inicijavimo vektoriaus, kuris yra XOR'intas su pirmu duomenų bloku anksčiau, negu jis bus užšifruotas. Inicijavimo vektoriaus neturi būti laikomas slaptu. Inicijavimo vektorius turi būti atsitiktiniu skaičiumi (ar serijos numeriu), tam, kad garantuotų, jog kiekviena žinutė yra užšifruota unikaliai. Klaida užšifruotam bloke (sukelta pavyzdžiui perdavimo nesėkmės) priverčia bloką su klaida būti visiškai iškraipytu. Einantis po to blokas turės bitų klaidas tose pačiose vietose kaip originalus klaidingas blokas. Blokai po antro bloko nebus paveikti klaidos. Vadinasi, CBC savipasveiksta, atsistato. Tuo metu, kai CBC skubiai atsistato nuo bitų klaidų, jis neatsistato nuo sinchronizacijos klaidų apskritai. Jei bitas yra pridėtas ar prarastas nuo šifrogramos eilės, tai visi einantys po blokai yra iškraipyti. Sistema, kuri naudoja CBC turi garantuoti, kad blokų struktūra lieka nesugadinta. Kaip ECB būdas, CBC taip pat reikalingas užbaigtas blokas įvestyje anksčiau, negu užšifravimas galės įvykti. CBC būde 1 pav. kiekvienas paprasto teksto blokas yra XOR‘intas su ankstesniu šifrogramos bloku ir paskui užšifruotas. Inicijavimo vektorius c0 yra panaudotas kaip "sėkla" procesui.

CBC.jpg

ci = Ek(ci-1+mi) mi = ci-1+Dk(ci)

  1. pav. Šifro Bloko Prirakinimo būdas.

CBC būdas yra taip saugus kaip pagrindinis bloko šifras prieš standartines atakas. Be to, bet kokia struktūra paprastame tekste yra paslėpta XOR‘nant ankstesnį šifrogramos bloką su paprasto teksto bloku. Pažymėkite taip pat, kad paprastas tekstas negali būti tiesiogiai valdytomas išskyrus blokų pašalinimą nuo šifrogramos pradžios ar galo. Inicijavimo vektorius turi būti skirtingas bet kokioms dviem žinutėms užšifruotoms su tuo pačiu raktu, geriusia kai jis yra atsitiktinai pasirinktas. Raktas neturi būti užšiftuotas, ir tai gali būti perduodama su šifrograma Užšifravimo greitis yra identiškas to bloko šifrui, bet užšifravimo procesas negali būti lengvai sulygiagretintas, nors dekodacijos procesas gali būti. PCBC (Šifro Bloko Prirakinimą Skleidimo) būdas yra pakeistas CBC darbo režimas ir yra suprojektuotas, kad išplėstų ar skleistų vieno bito klaidą šifrogramoje. Tai leidžia klaidoms perdavime būti sugautoms ir rezultate paprastas tekstas, kuris bus atmestas. Užšifravimo metodas:

ci = Ek(ci-1 + mi-1 + mi) [+ = suma moduliu 2]

dekodacija yra gaunama skaičiuojant:

mi = ci-1 + mi-1 + Dk(ci).

Yra trūkumas PCBC]. Jei du šifrogramos blokai ci-2 ir ci-, yra apkeisti, tai rezultatas i-tojo žingsnio dekodacijoje vis dar duoda teisingą paprasto teksto bloką.

mi = Dk(ci) + (ci-1 + Dk(ci-1)) + (ci-2 + Dk(ci-2)) + ci-3 + mi-3.

Kaip padarinys, dviejų nuoseklių šifrogramos blokų keitimas visai nepaveikė atitinkamų paprasto teksto blokų dekodacijos. Nors praktinės šio trūkumo pasekmės nėra akivaizdžios, PCBC buvo pakeistas CBC būdo Kerberos 5 versija. Iš tikrųjų, būdas nebuvo formaliai publikuotas kaip federalinis ar nacionalinis standartas.


Naudota literatūra

1. http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci344945,00.html

2. http://www.pvv.org/~asgaut/crypto/thesis/node15.html

3. http://france.rsa.com/rsalabs/node.asp?id=2171