120 likes | 316 Views
REŽIMI RADA BLOKOVSKIH ŠIFARA. VIŠESTRUKI BLOKOVI. Kako šifrovati višestruke blokove ? Da li je potreban novi ključ za svaki blok ? slično kao kod one-time pad Da li šifrovati svaki blok nezavisno ?
E N D
VIŠESTRUKI BLOKOVI • Kako šifrovati višestruke blokove? • Da li je potreban novi ključ za svaki blok? • slično kao kod one-time pad • Da li šifrovati svaki blok nezavisno? • Da li učiniti šifrovanje zavisnm od prethodnih blokova, tj da li “ulančati” blokove zajedno? • Kako postupati sa parcijalnim blokovima?
REŽIMI RADA • Postoji više mogućih režima radami ćemo diskutovati samo tri • Režim elektronske knjige (Electronic Codebook - ECB mode) • Svaki blok se šifruje nezavisno • Postoje ozbiljne slabosti • Režim ulančavanja blokova šifrata (Cipher Block Chaining CBC mode) • Ulančavanje blokova zajedno • Sigurnije od ECB • Režim brojača (Counter Mode CTR mode) • Ponaša se kao sekvencijalna šifra • Popularna u primenama kontrole pristupa
ECB režim • Notacija: C=E(P,K) • Dat je otvoreni tekst P0,P1,…,Pm,… • Prirodan način korišćenja blokovske šifre je ŠifrovanjeDešifrovanje C0 = E(P0, K), P0 = D(C0, K), C1 = E(P1, K), P1 = D(C1, K), C2 = E(P2, K),… P2 = D(C2, K),… • Za fiksiran ključ K, ovo je elektronska verzija šifre tipa kodnih knjiga • Ima se nova kodna knjiga za svaki novi ključ
ECB “Cut and Paste”napad • Neka je otvoreni tekst: Alice digs Bob. Trudy digs Tom. • Neka su blokovi dužine 64-bita i 8-bit ASCII: P0 = “Alice di”, P1 = “gs Bob. ”, P2 = “Trudy di”, P3 = “gs Tom. ” • Šifrat: C0,C1,C2,C3 • Trudy seče i kopira: C0,C3,C2,C1 • Dekriptira se Alice digs Tom. Trudy digs Bob.
ECB slabosti • Pretpostavimo Pi = Pj • Tada je Ci = Cji Trudy zna Pi = Pj • Ovo daje Trudy neke informacije, čak i ako ne zna Piili Pj • Trudy možda zna Pi • Da li je ovo ozbiljno pitanje?
Alice mrzi ECB režim • Alisina nekomprimovana slika, Alisa ECB šifrovana (TEA) • Zašto se ovo dogadja? • Isti blok otvorenog tekstaisti šifrat!
CBC režim • Blokovi se medjusobno “ulančavaju” • Slučajni inicijalizacioni vektor, ili IV, je neophodan za inicijalizaciju CBC režima • IV je slučajan, ali nije neophodno da bude tajan ŠifrovanjeDešifrovanje C0 = E(IV P0, K), P0 = IV D(C0, K), C1 = E(C0 P1, K), P1 = C0 D(C1, K), C2 = E(C1 P2, K),… P2 = C1 D(C2, K),…
CBC režim • Identični blokovi otvorenog teksta daju različite blokove šifrata • “Cut and paste” napad je još uvek moguć, ali je značajno kompleksniji (i dovodi do grešaka) • Ako je C1deformisano u recimo, G tada je P1 C0 D(G, K), P2 G D(C2, K) • Ali P3 = C2 D(C3, K), P4 = C3 D(C4, K),… • Automatski se oslobadja grešaka!
Alisa voli CBC režim • Alisina nekomprimovana slika, Alica šifrovanau CBC režimu • Zašto se ovo dogadja? • Isti otvoreni tekst daje različite šifrate!
Brojački režim (CTR) • CTR je popularan režim rada • Koristi se blokovska šifra, kao da je u pitanju sekvencijalna šifra ŠifrovanjeDešifrovanje C0 = P0 E(IV, K), P0 = C0 E(IV, K), C1 = P1 E(IV+1, K), P1 = C1 E(IV+1, K), C2 = P2 E(IV+2, K),… P2 = C2 E(IV+2, K),… • CBC se može koristiti za slučajan pristup!!