Kriptografija simetri nog tajnog klju a Mario agalj

  • Slides: 40
Download presentation
Kriptografija simetri č nog (tajnog) ključ a Mario Čagalj mario. cagalj@fesb. hr Sveučilište u

Kriptografija simetri č nog (tajnog) ključ a Mario Čagalj mario. cagalj@fesb. hr Sveučilište u Splitu Sveučilišni studijski centar za stručne studije 20/3/2012.

Kriptografski sustav Plaintext Encryption Ke Key Channel Ciphertext Message Channel Decryption Plaintext Kd Key

Kriptografski sustav Plaintext Encryption Ke Key Channel Ciphertext Message Channel Decryption Plaintext Kd Key Generation o o Kriptografija simetricnog (tajnog) kljuca: Ke = Kd Kriptografija javnog (asimetricnog) kljuca: Ke != Kd : : 2: :

Kriptografski sustav: definicija o Definicija: Kripografski sustav sastoji se od slijedecih elemenata: o o

Kriptografski sustav: definicija o Definicija: Kripografski sustav sastoji se od slijedecih elemenata: o o o Prostor “cistih” (plaintext) poruka M Prostor kriptiranih (ciphertext) poruka C Prostor enkripcijskih kljuceva K i dekripcijskih kljuceva K’ Algoritam za generiranje kljuceva G : N K x K’ o G generira par kljuceva (Ke, Kd) e K x K’ Enkripcijski algoritam E : M x K C Dekripcijski algoritam D : C x K’ M Oznaka enkripcijske transformacije: c = EKe(m), za Ke e K i m e M Oznaka dekripcijske transformacije: m = DKd (c), za Kd e K’ i c e C o Za svaku poruku m e M i sve kljuceve Ke e takav da DKd (EKe(m)) = m. K, postoji Kd e K’ : : 3: :

Kerckhoffsov aksiom (princip)* o Auguste Kerckhoffs, 19. st. o Kriptografski sustav mora biti siguran

Kerckhoffsov aksiom (princip)* o Auguste Kerckhoffs, 19. st. o Kriptografski sustav mora biti siguran cak iako su svi elementi koji cine sustav, osim tajnih kljuceva, poznati (javna informacija). o “Security through obscurity” je vrlo nepopularan i nepreporucljiv pristup dizajnu kripografskih sustava o Primjer: Probijanje A 5/1 simetricnog kriposustava koji se inicijalno koristio u GSM uredjajima: o o “A Reference Implementation of the Alleged A 5/1 Stream Cipher. ” Briceno, M. , Goldberg, I. , and Wagner, D. http: //www. scard. org/gsm/a 51. html “Real-Time Cryptanalysis of the A 5/1 Stream Cipher. ” Shamir, A. , Biryukov, B. , and Wagner, D. In Proceedings of Fast Software Encryption (FSE), 2000. *Nema veze sa Kirchoffovim zakonom. : : 4: :

Kriptografija simetri č nog (tajnog) ključ a Klasič ni kriptografski sustavi

Kriptografija simetri č nog (tajnog) ključ a Klasič ni kriptografski sustavi

Klasič ni (simetrič ni) kriposustavi o Klasični sustavi koriste dvije vrste tehnika o Supstitucijske

Klasič ni (simetrič ni) kriposustavi o Klasični sustavi koriste dvije vrste tehnika o Supstitucijske (substitution) o Kod supstitucijske tehnike, enkripcijski algoritam EKe(m) zamjenjuje svaku “čistu” poruku (plaintext) m e M sa odgovarajucim “ciphertextom” c e C. o Permutacijske (transposition) o “Čista” poruka se transformira na način da se permutiraju elementi (slova, simboli) poruke, bez mijenjanja identiteta tih elemenata. o Klasične supstitucijske sifre: o Cezarova sifra, Playfair sifra, Hillova sifra, Vigenère sifra, Vernam sifra, One-Time Pad sifra : : 6: :

Cezarova sifra o Zamjena svakog slova abecede sa slovom koji je udaljen za tri

Cezarova sifra o Zamjena svakog slova abecede sa slovom koji je udaljen za tri mjesta (prema kraju abecede) plaintext a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C sifra o o Primjer: za poruku m = sigurnost racunalnih sustava, odgovarajuci ciphertext glasi c = VLJXUQRVW UDFXQDOQLK VXVWDYD Matematicki opis Cezarovg kriposustava o o o a = 0, b = 1, . . . , z = 25 Enkripcija: svako slovo p “cistog” teksta (plaintext-a) zamjeni slovom C “ciphertext”-a, gdje C = E(3, p) = (p+3) mod 26. Dekripcija: p = D(3, C) = (C-3) mod 26. Generalno: C = E(K, p) = (p+K) mod 26 i p = D(K, C) = (C-K) mod 26 Dakle, K predstavlja enkripcijski kljuc Q: Je li Cezarova sifra sigurna? Zasto? : : 7: :

Monoalphabetic Ciphers o Cezarova sifra ima samo 26 kljuceva o o Podlozna “brute-force” napadu

Monoalphabetic Ciphers o Cezarova sifra ima samo 26 kljuceva o o Podlozna “brute-force” napadu Broj kljuceva se moze znacajno povecati na nacin da za sifru koristimo bilo koju permutaciju slova abecede plaintext a b c d e f g h i j k l m n o p q r s t u v w x y z I K F G H G W H L M N O S C A P U T V J X Y Z R B Q sifra o o Broj kljuceva raste na 26! > 280 (brute-force napad potencijalno eliminiran) Na zalost, poznavajuci prirodu plaintext-a (npr. engleski tekst), moguce je napraviti kriptoanalizu ciphertext-a na osnovu relativne frekvencije slova (npr. u engleskom tekstu) Slova ciphertext-a ne mijenjaju relativnu frekvenciju odgovarajucih slova iz plaintext-a -> posljedica koristenja “monoalphabetic chipers” “Monoalphabetic chipers”: za dani enkripcijski kljuc, svaki element plaintext-a ce biti zamjenjen sa jedinstvenim elementom iz prostora ciphertext-a : : 8: :

Monoalphabetic Ciphers: kriptoanaliza o Zelimo desifrirati slijedeci ciphertext UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZO WSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOH MQ o o Racunamo

Monoalphabetic Ciphers: kriptoanaliza o Zelimo desifrirati slijedeci ciphertext UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZO WSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOH MQ o o Racunamo relativnu frekvenciju pojavaljivanja slova o P – 13. 33%, Z – 11. 67%, S – 8. 33%, U – 8. 33%, O – 7. 5%, M – 6. 67%, . . . , C = 0%, K = 0%, L = 0%, N = 0%, R = 0% Relativna frekvencija prosjecnog engleskog teksta : : 9: :

Monoalphabetic Ciphers: kriptoanaliza o Slova ciphertext-a P i Z najvjerojatnije odgovaraju slovima e i

Monoalphabetic Ciphers: kriptoanaliza o Slova ciphertext-a P i Z najvjerojatnije odgovaraju slovima e i t o Slova ciphertext-a S, U, O, M i H imaju visoku frekvenciju pojavljivanja i najvjerojatnije odgovaraju slovima iz skupa {a, h, i, n, o, r, s} o Slova ciphertext-a A, B, G, Y, I te J imaju najmanju frekvenciju pojavljivanja te najvjerojatnije odgovaraju slovima iz skupa {b, j, k, q, v, x, z} o Na osnovu prethodnih znanja, te koristeci metodu pogreske i pokusaja desifriramo ciphertext kao: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow : : 10: :

Polyalphabetic Ciphers o Poboljsava sigurnost na nacin da koristi vise alfabeta za sifru o

Polyalphabetic Ciphers o Poboljsava sigurnost na nacin da koristi vise alfabeta za sifru o o Na ovaj nacin jedan element plaintext-a moze biti zamjenjen sa vise razlicitih elemenata iz prostora chipertext poruka (C) Kriptoanaliza je teza nego kod “monoalphabetic” sifri o o “Poravnava” distribuciju frekvencija pojavljivanja slova Primjer: Vigenère sifra o o o Pretpostavimo slijedece kodiranje slova: a = 0, b = 1, c = 2, . . . , z = 25 Neka enkripcijski kljuc bude: gold = (6, 14, 11, 3) Plaintext: m=proceed meeting as agreed = (15, 17, 14, 2, 4, 4, 3, 12, 4, 4, 19, 8, 13, 6, 0, 18, 0, 6, 17, 4, 4, 3) Vigenère-ova enkripcija se moze definirati kao sumiranje slova plaintext-a i slova kljuca (slovo po slovo) modulo 26 o 15 17 14 2 4 4 3 12 4 4 19 8 13 6 0 18 0 6 17 4 4 3 6 14 11 3 6 14 11 3 6 14 21 5 25 5 10 18 14 15 10 18 4 11 19 20 11 21 6 20 2 7 10 17 o o Dobiveni chipertext: VFZFKSO PKSELTU LV GUCHKR Matematicki: C = E(K, p) = (p+K) mod 26 i p = D(K, C) = (C-K) mod 26 o Za K=g=6, p=0=13 -> C = E(6, 13) = 19 mod 26 = 19 i p=D(6, 19)=13 mod 26 = 13 : : 11: :

Vernam i “One-Time Pad” sifre o Vernam sifra o o o Jedna od najjednostavnijih

Vernam i “One-Time Pad” sifre o Vernam sifra o o o Jedna od najjednostavnijih kriptografskih sustava Plaintext poruka m je binarni string “dug” n bitova o o k = k 1 k 2. . . kn e distribuciji) {0, 1}n (k se bira na random nacin prema uniformnoj Enkripcija: ciphertext string c = c 1 c 2. . . cn se dobiva na slijedeci nacin o o {0, 1}n Enkripcijski kljuc je takodjer n-bitni string o o m = b 1 b 2. . . bn e ci = bi ki, za sve i=1, . . . , n, je zbrajanje modulo 2 (XOR) Dekripcija je identicna enkripciji o bi = ci ki = bi, za sve i=1, . . . , n One-Time Pad o o Enkripcijski kljuc k u Vernamovom kriptosustavu koristi se samo jednom (“one-time-key”); za svaku poruku m koristi se iznova generiran kljuc Idealan kriptografski sustav, no nepraktican (Q: Zasto? ) : : 12: :

Permutacijske (Transposition) sifre o o “Cista” poruka (plaintext) se transformira na nacin da se

Permutacijske (Transposition) sifre o o “Cista” poruka (plaintext) se transformira na nacin da se permutiraju elementi (slova, simboli) poruke, bez mijenjanja identiteta tih elemenata. Primjer 1: “Rail-fence” tehnika (dubina 2) o o m = meet me after the class mematrtels etefethcas c = MEMATRTELSETEFETHCAS Moze se jednostavno ’’probiti’’ Primjer 2: Key: Plaintext: Ciphertext: o 24153 meetm e afte r thec l as sx EATATTESMERLMECXEFHS Kriptoanaliza na osnovu relativne frekvencije slova jos uvijek moguca : : 13: :

Kriptografija simetri č nog (tajnog) ključ a Moderni kriptografski sustavi

Kriptografija simetri č nog (tajnog) ključ a Moderni kriptografski sustavi

Block vs. Stream Cipher o “Stream cipher” (slijedna sifra) procesira poruku jedan po jedan

Block vs. Stream Cipher o “Stream cipher” (slijedna sifra) procesira poruku jedan po jedan bit (byte) pseudo-random bit stream generator . . . o plaintext + . . . seed ciphertext “Block cipher” (blok sifra) procesira (enkriptira i dekriptira) “cistu” poruku u blokovima plaintext padding ciphertext block cipher key : : 15: :

Data Encryption Standard (DES) o o Prvi i najznacajniji moderni simetricni kriptografski sustav o

Data Encryption Standard (DES) o o Prvi i najznacajniji moderni simetricni kriptografski sustav o o Objavio ga je National Bureau of Standards, 1977. Izmedju ostalog, koristi se i za zastitu bankovnih transakcija o U prvom redu osigurava privatnost poruka (confidentiality) DES radi sa 64 bitnim blokovima poruka (“block cipher”) o o “Block cipher” (blok sifra) procesira (enkriptira i dekriptira) “cistu” poruku u blokovima “Stream cipher” (slijedna sifra) procesira poruku jedan po jedan bit (byte) o Poruke su enkriptirane u 64 -bitne blokove koristeci 56 -bitne enkripcijske kljuceve o Matematickim rjecnikom o M = C = {0, 1}64 i K = {0, 1}56 o DES enkripcijski (E) i dekripcijski (D) algoritmi uzimaju kao ulaznu vrijednost 64 -bitni plaintext ili ciphertext i 56 -bitni kljuc, te daju 64 -bitni ciphertext ili plaintext : : 16: :

Opis rada DES-a (1/3) o Najprije se primjeni Inicijalna Permutacija (IP) na ulazni 64

Opis rada DES-a (1/3) o Najprije se primjeni Inicijalna Permutacija (IP) na ulazni 64 -bitni blok (L 0, R 0) IP(Ulazni Blok) o o L 0 i R 0 su lijevi i desni polublok (half-block), svaki je “dug” 32 bita Slijedeca operacija se iterira 16 puta, za i=1, . . . , 16 Li Ri-1 Ri Li-1 f(Ri-1, ki) o o ki je kljuc i-te iteracije, dug 48 bitova, izveden od ulaznog 56 -bitnog kljuca f(. ) je “S-box Function”, f(. ) je substitucijska sifra (S oznacava “Substitution”) Li-1 Ri-1 f ki Li o Ri Konacno, na rezultat 16. iteracije (L 16, R 16) primjenjuje se inverzna permutacija od inicijalne permutacije IP (da bi se ponistio efekt IP) Izlazni Blok IP-1 (R 16, L 16) : : 17: :

Opis rada DES-a (2/3) X (64) Initial Permutation (32) f (48) K 2 f

Opis rada DES-a (2/3) X (64) Initial Permutation (32) f (48) K 2 f (48) K 3 Key Scheduler K 1 (56) K … f (48) K 16 Initial Permutation-1 Y (64) : : 18: :

Opis rada DES-a (3/3) o “Tri” prethodna koraka su ista za enkripcijski i dekripcijski

Opis rada DES-a (3/3) o “Tri” prethodna koraka su ista za enkripcijski i dekripcijski algoritam o o Jedina razlika je u kljucevima ki (kljuc i-te iteracije) Ako su k 1, k 2, . . . , k 16 iteracijski kljucevi npr. enkripcijskog algoritma, onda su k 16, k 15, . . . , k 1 iteracijski kljucevi dekripcijskog algoritma (k 16 odgovara kljucu koji se koristi u prvoj iteraciji DES dekripcijskog algoritma) Q: Dokazite da za DES vrijedi m = DK(EK(m)). Osnovne funkcije “S-box Function” f(. ) o o o Random i nelinearna distribucija plaintext poruka preko ciphertext prostora poruka (na ovaj nacin se eliminira npr. napad koristenjem relativne frekvencije plaintext-a) Vazno je naglasiti da funkcija f(. ) ne mora biti reverzibilna Q: Pokazite da DES funkcionira cak i u slucaju da f(. ) nije reverzibilna funkcija. : : 19: :

Toy example: DES encryption (2 rounds) m (64) Initial Permutation (32) L 0 R

Toy example: DES encryption (2 rounds) m (64) Initial Permutation (32) L 0 R 0 f K 1 =g 1(K) plaintext m L 1 m R 1 f L 2 R 2 L 2 DES (2 rounds) K 2 =g 2(K) secret key K E K c = EK(m) c ciphertext c Initial Permutation-1 c (64) : : 20: :

Toy example: DES encryption (2 rounds) m (64) Initially: (L 0, R 0) <--

Toy example: DES encryption (2 rounds) m (64) Initially: (L 0, R 0) <-- IP(m) Initial Permutation (32) 1. (32) L 0 R 0 f K 1 =g 1(K) L 1 R 1 f L 2 R 2 L 2 K 2 =g 2(K) L 1 = R 0 R 1 = L 0 f(K 1, R 0) 2. L 2 = R 1 = L 0 f(K 1, R 0) R 2= L 1 f(K 2, R 1) = R 0 f(K 2, L 0 f(K 1, R 0)) End: c <-- IP-1(R 2, L 2) c <-- IP-1(R 0 f(K 2, L 0 f(K 1, R 0)) R 2 L 2 Initial Permutation-1 c (64) : : 21: :

Toy example: DES decryption (2 rounds) c (64) Initial Permutation (32) L 0 R

Toy example: DES decryption (2 rounds) c (64) Initial Permutation (32) L 0 R 0 f K 2 =g 2(K) ciphertext c L 1 c R 1 f L 2 R 2 L 2 DES-1 (2 rounds) K 1 =g 1(K) secret key K D K m = DK(c) m plaintext m Initial Permutation-1 m (64) : : 22: :

Toy example: DES decryption (2 rounds) c (64) Initially: (L 0, R 0) <--

Toy example: DES decryption (2 rounds) c (64) Initially: (L 0, R 0) <-- IP(c) (L 0, R 0) <-- IP(IP-1(R 2, L 2))=(R 2, L 2) Initial Permutation (32) L 0 1. R 0 f K 2 =g 2(K) L 1 R 1 f K 1 =g 1(K) L 1 = R 0 = L 2 = R 1 = L 0 f(K 2, R 0) = R 2 f(K 2, L 2) = L 1 f(K 2, R 1) = L 1 2. L 2 = R 1 = L 1 = R 0 R 2 = L 1 f(K 1, R 1) = R 1 f(K 1, L 1) = L 0 f(K 1, R 0) f(K 1, L 1) = L 0 L 2 R 2 End: m <-- IP-1(R 2, L 2) R 2 L 2 m <-- IP-1(L 0, R 0)=IP-1(IP(m))=m Initial Permutation-1 m (64) o DES satisfies: m=DK(E K(m)) : : 23: :

Sigurnost DES-a o o DES je otporan na nekoliko znacajnih kriptoanalitickih napada o o

Sigurnost DES-a o o DES je otporan na nekoliko znacajnih kriptoanalitickih napada o o o Najveca kritika DES-a vezana je uz duzinu enkripcijskog kljuca (samo 56 bitova) o o o Linear cryptanalysis Differential cryptanalysis Zahvaljujuci nelinearnosti “S-box Function” f(. ) 1993. – VLSI DES key search machine (US$1, 000) pronalazi DES kljuc za 3. 5 sata (teoretska analiza) 1998. – DES Cracker (US$250, 000) pronasao DES kljuc nakon 56 sati! Jedan od nacina za rjesavanje problema (pre)kratkog kljuca je tzv. “encryption-decryption-encryption-triple DES” o o o Enkripcija: c EK 1(DK 2(EK 1(m))) Dekripcija: m DK 1(EK 2(DK 1(c))) Povecava se prostor kljuca K Kompatibilnost sa single key DES-om (K 1=K 2) Mogucnost koristenja tri razlicita kljuca (npr. PGP) : : 24: :

Advanced Encryption Standard (AES) o 1997. US National Institute of Standards and Tehnology (NIST)

Advanced Encryption Standard (AES) o 1997. US National Institute of Standards and Tehnology (NIST) objavio je natjecaj za novi enkripcijski standard koji bi zamjenio DES o o o Novi algoritam bi se zvao (se zove) AES 1998. odabrana grupa od 15 algoritama kandidata za AES 2000. NIST objavljuje da je izabrao Rijndael za AES o Rijndael su dizajnirala dva belgijska kriptografera: Daemen i Rijmen Rijndael o o Blok sifra koja podrzava kljuceve od 128, 192 i 256 bitova Nedavno otkriven napad zasnovan na Differential Power Analyisis (DPA) AES se koristi npr. kod poboljsane zastite lokalnih bezicnih mreza (IEEE 802. 11 e standard) : : 25: :

Kriptografija simetri č nog (tajnog) ključ a Osnovni modovi rada blok sifri

Kriptografija simetri č nog (tajnog) ključ a Osnovni modovi rada blok sifri

Osnovni modovi rada blok sifri o o Blok sifra procesira (enkriptira ili dekriptira) poruku

Osnovni modovi rada blok sifri o o Blok sifra procesira (enkriptira ili dekriptira) poruku u blokovima fiksne duzine U praksi je duzina skupa poruka koju treba procesirati puno duza od fiksnog bloka sa kojim radi sifra (npr. , DES radi sa blokovima od 64 bita) Blok sifra “razbije” ulaznu poruku u seriju sekvencijalnih blokova odgovarajuce duzine (npr. 64 bita), te procesira ove blokove po principu “jedan po jedan” Ovisno o tome kako blok sifra procesira sekvencu blokova, razlikujemo slijedece osnovne modove rada blok sifri: o o o Electronic Codebook (ECB) Cipher Block Chaining (CBC) Cipher Feedback (CFB) Output Feedback (OFB) Counter (CTR) mode : : 27: :

Electronic Codebook (ECB) Mode o Notacija: o o o P 1 P 2. .

Electronic Codebook (ECB) Mode o Notacija: o o o P 1 P 2. . . Pm: m uzastopnih segmenata plaintext poruke na ulazu promatranog operacijskog moda Velicina svakog segmenta poruke Pi je n, gdje je n duzina bloka sa kojim radi promatrana sifra C 1 C 2. . . Cm: m uzastopnih segmenata ciphertexta na izlazu promatranog operacijskog moda EK(. ) i DK(. ) su enkripcijski i dekripcijski algoritmi promatrane sifre ECB o o Enkripcija: Ci EK (Pi), i = 1, 2, . . . , m Dekripcija: Pi DK (Ci), i = 1, 2, . . . , m. P 1 K E C 1 P 2 K E C 2 Pm … K E Cm : : 28: :

Svojstva ECB moda o Isti plaintext blok rezultira istim ciphertext blokom (koristeci isti enkripcijski

Svojstva ECB moda o Isti plaintext blok rezultira istim ciphertext blokom (koristeci isti enkripcijski kljuc) o o o Poruke koje se enkriptiraju obicno imaju regularan format Specijalna zaglavlja, string 00. . . 0, itd. Segmenti poruke su enkriptirani neovisno o drugim segmentima o o Zamjenom ciphertext blokova, zamjenjuju se odgovarajuci plaintext blokovi Ciphertext blokovi se mogu “korpirati” iz jedne enkriptirane poruke u drugu o Propagacija greske: greska u jednom bitu ciphertext bloka ne utjece na ostale ciphertext blokove o Generalno: ne preporuca se za poruke koje su duze od jednog bloka, ili ako se enkripcijski kljucevi koriste za enkripciju vise od jednog bloka : : 29: :

Cipher Block Chaining (CBC) Mode o o Enkripcija P 1 P 2 P 3

Cipher Block Chaining (CBC) Mode o o Enkripcija P 1 P 2 P 3 IV + + + K E K C 1 E K C 2 E Pm … Cm-1 + K E C 3 Cm Dekripcija C 1 K D IV + P 1 C 2 K D C 3 Cm D K D + + Cm-1 + P 2 P 3 K Pm : : 30: :

Svojstva CBC moda o o Enkripcija dva ista plaintexta istim kljucem, ali sa razlicitim

Svojstva CBC moda o o Enkripcija dva ista plaintexta istim kljucem, ali sa razlicitim vrijednostima Inicijalizacijskog Vektora (IV) daje razlicite ciphertext-ove Ciphertext blok Cj ovisi o Pj i svim prethodnim plaintext blokovima o o Ako napadac pokusa zamjeniti ciphertext blokove, utjecati ce na dekripciju Medjutim, ovisnost o prethodnim plaintext blokovima je isljucivo preko prethodnog ciphertext bloka Cj-1 Stoga za ispravnu dekripciju ciphertext bloka potreban je samo ispravan prethodni ciphertext blok Propagacija greske: o Greska u jednom bitu u bloku Cj ima utjecaj samo na Pj i Pj+1 plaintext blok o o Napadac moze izazvati kontorliranu promjenu bitova u Pj+1 plaintext block (Pj ne moze kontrolirati) Self-synchronizing o Oporavak od greski u bitovima : : 31: :

Integritet IV u CBC modu o Inicijalizacijski vektor (IV) ne mora biti tajan, ali

Integritet IV u CBC modu o Inicijalizacijski vektor (IV) ne mora biti tajan, ali njegov integritet mora biti zasticen o o Maliciozne promjene IV-a dozvoljavaju napadacu da uzrokuje kontrolirane promjene u prvom plaintext bloku Potencijalno rjesenje o Enkriptirati IV (koristeci npr. ECB) i poslati gan na pocetku CBC enkriptirane poruke : : 32: :

Cipher Feedback (CFB) Mode o o Enkripcija: initialized with IV (s) shift register (n)

Cipher Feedback (CFB) Mode o o Enkripcija: initialized with IV (s) shift register (n) Dekripcija initialized with IV shift register (n) (n) E K (n) select s bits (s) Pi (s) + (s) Ci Ci (s) + (s) Pi : : 33: :

Cipher Feedback (CFB) Mode (s) initialized with IV I 1 I 2 shift register

Cipher Feedback (CFB) Mode (s) initialized with IV I 1 I 2 shift register (n) (n) select s bits (s) + E K (n) select s bits (s) (n) E K (n) P 1 shift register (n) E K I 3 select s bits (s) P 2 (s) + (s) P 3 (s) + (s) C 1 C 2 C 3 : : 34: :

Svojstva CFB moda o o o Enkripcijom istih plaintext-ova istim kljucem, ali razlicitim IVovima

Svojstva CFB moda o o o Enkripcijom istih plaintext-ova istim kljucem, ali razlicitim IVovima daje razlicite ciphertext-ove IV moze biti poslan neenkriptiran (kao plaintext) Ciphertext blok Cj ovisi o Pj i svim prethodnim plaintext blokovima o o o Stoga, zamjena ciphertext blokova utjece na dekripciju Ispravna dekripcija ciphertext bloka zahtjeva da su svi prethodni n/s ciphertext blokovi ispravni Propagacija greske: o Greska u jednom bitu ciphertext bloka Cj utjece na dekripciju tog bloka kao i sljedecih n/s ciphertext blokova o o o Pj’ ce imati greske gdje i Cj, dok svi ostali plaintext-ovi ce biti random Stoga, napadac moze uzrokovati kontrolirane promjene u j-tom plaintext bloku Self-synchronizing o Ali zahtjeva n/s blokova ciphertexta da ispravi greske u bitovima : : 35: :

Output Feedback (OFB) Mode o o Enkripcija: initialized with IV (s) shift register (n)

Output Feedback (OFB) Mode o o Enkripcija: initialized with IV (s) shift register (n) Dekripcija (n) E K (n) select s bits (s) Pi (s) + (s) shift register (n) (s) Ci Ci (s) + (s) Pi : : 36: :

Output Feedback (OFB) Mode (s) initialized with IV I 1 I 2 shift register

Output Feedback (OFB) Mode (s) initialized with IV I 1 I 2 shift register (n) (s) C 1 (n) select s bits (s) + E K (n) select s bits (s) (n) E K (n) P 1 shift register (n) E K I 3 shift register (n) select s bits (s) P 2 (s) + (s) C 2 (s) P 3 (s) + (s) C 3 : : 37: :

Svojstva OFB moda o o o Enkripcijom istih plaintext-ova istim kljucem, ali razlicitim IVovima

Svojstva OFB moda o o o Enkripcijom istih plaintext-ova istim kljucem, ali razlicitim IVovima daje razlicite ciphertext-ove IV moze biti poslan neenkriptiran (kao plaintext) o Medjutim, ako napadac promijeni IV, sifra se ne moze oporaviti (CFB mod moze!) Ciphertext blok Cj ovisi samo o Pj o Ali za raziliku od ECB, zamjena ciphertext blokova ima utjecaj na dekripciju Propagacija greske: o Greska u jednom bitu ciphertext bloka Cj utjece samo na dekripciju bloka Cj o o Pj’ ima greske gdje i Cj Stoga, napadac moze uzrokovati kontrolirane promjene u j-tom plaintext bloku Oporavak od greski: o o Moze se oporaviti od greski na bitovima Ali ne moze ako je IV modificiran : : 38: :

Counter (CTR) mode o o Enkripcija: Dekripcija counter + i (n) K (n) E

Counter (CTR) mode o o Enkripcija: Dekripcija counter + i (n) K (n) E K (n) Pi (n) + E (n) Ci Ci (n) + (n) Pi : : 39: :

Svojstva CTR moda o o “counter” mora biti razlicit za svaki blok j-ti blok

Svojstva CTR moda o o “counter” mora biti razlicit za svaki blok j-ti blok moze biti dekriptiran neovisno o drugim blokovima o o Moze se paralelizirati Random access (dekriptiramo bilo koji blok) Vrijednosti koje se XOR-aju sa plaintext-om mogu biti izracunate unaprijed (preprocessing) Jako efikasan za implementaciju (software-sku i hardware-sku) : : 40: :