kriptografija zasnovana na simetri č nom klju č u (eng. symmetric key cryptography )

47
Kriptografija zasnovana na simetričnom ključu (eng. symmetric key cryptography) Mario Čagalj [email protected] FESB 11/3/2014.

Upload: walter

Post on 21-Jan-2016

53 views

Category:

Documents


1 download

DESCRIPTION

Kriptografija zasnovana na simetri č nom klju č u (eng. symmetric key cryptography ). Mario Č agalj [email protected] FESB 11 / 3 /20 1 4. Kriptografski sustav. Ciphertext. Plaintext. Plaintext. Encryption. Decryption. Message Channel. Key Channel. k e. k d. Key Generation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Kriptografija zasnovana na simetričnom ključu (eng. symmetric key cryptography)

Mario Č[email protected]

FESB

11/3/2014.

Page 2: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::2::

Kriptografski sustav

Encryption Decryption

Key Generation

Plaintext Ciphertext Plaintext

ke kd

MessageChannelKey

Channel

kk :kljuca ogasimetricn ijaKriprograf

kk :kljuca gsimetricno ijaKriptograf

de

de

Page 3: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::3::

Kriptografski sustav: definicija

p.(p))(ED vrijedi da takav

Kk kljuc postoji Kk kljuceve sve i Pp plaintext svaki Za

)KkC,c P,p za (c),Dp (npr., PKC:D algoritam kiDekripcijs

)KkC,c P,p za (p),Ec (npr., CKP:E algoritam kihEnkripcijs

KK N:G kljuceva egeneriranj za Algoritam

kljuceva kihdekripcijs skup -K

kljuceva kihenkripcijs skup -K

poruka t)(ciphertex sifriranih skup - C

poruka )(plaintext cistih"" skup - P

ed

d

e

kk

ddee

ddkd

eeke

de

d

e

Page 4: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::4::

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 A5/1 simetricnog kriposustava koji se inicijalno koristio u GSM uredjajima:o “A Reference Implementation of the Alleged A5/1 Stream Cipher.” Briceno,

M., Goldberg, I., and Wagner, D. http://www.scard.org/gsm/a51.html

o “Real-Time Cryptanalysis of the A5/1 Stream Cipher.” Shamir, A., Biryukov, B., and Wagner, D. In Proceedings of Fast Software Encryption (FSE), 2000.

*Nema veze sa Kirchoffovim zakonom.

Page 5: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Klasični kriptografski sustavi

Kriptografija simetričnog (tajnog) ključa

Page 6: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::6::

Klasični (simetrični) kriposustavi

o Koriste se dvije vrste tehnikao Supstitucijske

o Kod supstitucijske tehnike, enkripcijski algoritam Eke(p) zamjenjuje svaku “cistu” poruku (plaintext) p P sa odgovarajucim “ciphertextom” c C .

o Permutacijskeo Plaintext poruka se transformira na način da se permutiraju

elementi (slova, simboli) poruke, bez mijenjanja identiteta tih elemenata.

o Neke klasične supstitucijske sifreo Cezarova sifra o Playfair sifra o Hillova sifra o Vigenère sifra o Vernam sifra, One-Time Pad sifra

Page 7: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::7::

Cezarova (shift) sifra

o Zamjena svakog slova abecede sa slovom koji je udaljen za tri mjesta (udesno)

o Primjer: plaintext p = sigurnost racunalnih sustava ciphertext c = VLJXUQRVW UDFXQDOQLK VXVWDYD

o Matematicki opis Cezarove (shift) sifre (modularna aritmetika)o

o Q: Je li Cezarova sifra sigurna? Zasto?

ciphertext

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

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

z

C

26 mod k)(c p

26 mod k)(p c

Z k c, p,

25z2,...,c 1,b 0,a

26

3)k sifru Cezarovu (za kljuc kienkripcijs - k

ciphertext - c

plaintext - p

Page 8: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::8::

Monoalphabetic Ciphers

o Cezarova sifra ima samo 26 kljuceva (moguc je brute-force napad)

o Broj kljuceva se moze znacajno povecati na nacin da za sifru koristimo bilo koju permutaciju slova abecede/alfabeta

o Broj kljuceva raste na 26! > 280 (brute-force napad eliminiran), ali...

o ..., poznavajuci prirodu plaintext-a (npr. engleski tekst), moguce je napraviti kriptoanalizu ciphertexta na osnovu relativne frekvencije pojavljivanja slova (npr. u engleskom tekstu). Q. Zašto i kako?

o Svojstvo monoalphabetic chipers: elementi/slova ciphertexta ne mijenjaju relativnu frekvenciju odgovarajucih slova iz plaintexta. Q. Zašto?

ciphertext

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

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

z

Q

Page 9: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::9::

Monoalphabetic Ciphers: kriptoanaliza

o Zelimo desifrirati sljedeci ciphertext

UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ

o Racunamo relativnu frekvenciju pojavaljivanja slovao 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%

o Relativna frekvencija prosjecnog engleskog teksta

Page 10: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::10::

Monoalphabetic Ciphers: kriptoanaliza

o Slova ciphertext-a P i Z najvjerojatnije odgovaraju slovima e,t ili a

o Slova ciphertext-a S, U, O, M i H imaju visoku frekvenciju pojavljivanja i najvjerojatnije odgovaraju slovima iz skupa {a, t, 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

Page 11: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::11::

Polyalphabetic Ciphers

o Kod polialfabetskih sifri jedan element plaintexta moze se mapirati u vise razlicitih elemenata iz skupa ciphertext elemenatao Kriptoanaliza je teza nego kod monoalfabetskih sifrio Poravnava distribuciju frekvencije pojavljivanja pojedinih elemenata/slova

o Primjer: Vigenère sifrao Kodiranje slova alfabeta: a = 0, b = 1, c = 2, ..., z = 25o Enkripcijski kljuc: “gold” = (6, 14, 11, 3)o Plaintext: “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)o Vigenère-ova enkripcija moze se definirati kao sumiranje

slova plaintext-a i slova kljuca (slovo po slovo) modulo 26

o Chipertext: “VFZFKSO PKSELTU LV GUCHKR”o Q1. Dajte matematički opis Vigenère-ove sifre.o Q2. Opisite bar jedan napad na Vigenère-ove sifru.

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 11 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

Page 12: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::12::

Vernam i “One-Time Pad” sifre

o Vernam sifrao Jedan od najjednostavnijih kriptografskih sustava

o Plaintext poruka p je binarni string: p = p1 p2 ... pn {0,1}n

o Enkripcijski kljuc (po uniformnoj distribuciji): k = k1 k2 ... kn

{0,1}n

o Isti kljuc se koristi za enkripciju vise plaintext poruka

o Enkripcija: c = p ko ci = pi ki, za svaki bit i=1,2,...,n ( je zbrajanje po modulu 2)

o Dekripcija je identicna enkripciji: p = c ko pi = ci ki, za svaki bit i=1,2,...,n

o One-Time Pado Sličan Vernamovom kriptosustavu s važnom razlikom da se

enkripcijski ključ koristi se samo jednom (“one-time-key”); za svaku poruku m koristi se novi slucajno generiran kljuc

o Idealan kriptografski sustav, no nepraktican (Q: Zasto?)

Page 13: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::13::

Permutacijske sifre

o Plaintext poruka se transformira na nacin da se permutiraju elementi (slova, simboli) poruke, bez mijenjanja identiteta tih elemenata

o Primjer 1: “Rail-fence” tehnika (dubina 2)o p = “meet me after the class”

m e m a t r t e l se t e f e t h c a s

o c = “MEMATRTELSETEFETHCAS”

o Primjer 2:Key: 2 4 1 5 3

Plaintext: m e e t m

e a f t e

r t h e c

l a s s x

Ciphertext: EATATTESMERLMECXEFHS

o Kriptoanaliza na osnovu relativne frekvencije slova jos uvijek moguca

Page 14: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Moderni kriptografski sustavi

Kriptografija simetričnog (tajnog) ključa

Page 15: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::15::

Block vs. Stream Cipher

o “Stream cipher” (slijedna sifra) procesira poruku jedan po jedan bit (byte)

o “Block cipher” (blok sifra) procesira (enkriptira i dekriptira) plaintext poruku u blokovima

pseudo-randombit stream generator

pseudo-randombit stream generator

... ...plaintext ciphertext

seed/key

blockcipher

blockcipher

plaintext ciphertext

keypadding

Page 16: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::16::

Data Encryption Standard (DES)

o Prvi/najznacajniji moderni simetricni kriptografski sustavo Razvio ga je IBM 1974. a standardizirao National Bureau of Standards,

1977.o Primarno osigurava/o privatnost poruka (confidentiality)

o Blok-sifra i radi sa 64 bitnim plaintext i ciphertext blokovima

o Koristi 56-bitne enkripcijske kljuceveo Originalan dizajn koristio 128 bitova, no US NSA inzistirala na 56 bitovao Prekratki kljucevi prema danasnjim mjerilima (brute-force napad)o 56-bitni DES nesiguran, ali 3DES vrlo siguran i jos uvijek u sirokoj uporabi

o Matematickim rjecnikom

o P = C = {0,1}64 i K = {0,1}56

o DES enkripcijski (E)/dekripcijski (D) algoritam uzima kao ulaznu vrijednost

64-bitni plaintext/ciphertext i 56-bitni kljuc, te daje 64-bitni ciphertext/ plaintext

Page 17: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::17::

Opis rada DES-a (1/3)

o Inicijalna Permutacija (IP) ulaznog 64-bitnog bloka

o L0 i R0 su lijevi i desni polublok (half-block), svaki je “dug” 32 bita

o Sljedeca operacija ponavlja se 16 puta, za i=1,...,16

o ki je kljuc i-te iteracije, dug 48 bitova, izveden od ulaznog 56-bitnog kljuca k

o f(.) je slozena supstitucijska funkcija

o Konacno, na rezultat 16. iteracije (L16, R16) primjenjuje se inverzna permutacija od inicijalne permutacije IP

blok) IP(ulazni)R,(L 00

)k,f(RL R

R L

i1-i1-ii

1-ii

)L,(RIPblok Izlazni 16161-

(32)(32)

Li-1 Ri-1

f

k i =g i(k)

Li+1 Ri+1

Page 18: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::18::

Opis rada DES-a (2/3)

Initial PermutationInitial Permutation

ff

ff

ff

ff

Initial Permutation-1Initial Permutation-1

(64)

(64)

(32)(32)

(48)

(48)

(48)

(48)

Key S

chedule

r

(56)

k

k1

k2

k16

k3

P

C

Page 19: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::19::

Opis rada DES-a (3/3)

o Opisani iterativni postupak identičan je za enkripciju i dekripcijuo Jedina razlika je u kljucevima ki (kljuc i-te iteracije)

o Raspored iteracijskih ključeva kod enkripcije: k1, k2, ..., k16

o Raspored iteracijskih ključeva kod dekripcije: k16, k15, ..., k1

(k16 odgovara kljucu koji se koristi u prvoj iteraciji prilikom DES dekripcije)

o Q: Dokazite da za DES vrijedi m = DK(EK(m)).

o Osnovna uloga slozene supstitucijske funkcije f(.)o Random i nelinearna distribucija plaintext poruka preko skupa ciphertext

poruka (na ovaj nacin se eliminira npr. napad koristenjem relativne frekvencije plaintext-a)

o Vazno je naglasiti da funkcija f(.) ne mora biti reverzibilnao Q: Pokazite da DES funkcionira cak i u slucaju da f(.) nije reverzibilna

funkcija.

Page 20: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Toy example: DES encryption (2 rounds)

::20::

Initial PermutationInitial Permutation

Initial Permutation-1Initial Permutation-1

(64)

(64)

(32)(32)

p

c

L0 R0

f

k 1 =g 1(k)

L1 R1

f

L2 R2

k 2 =g 2(k)

R2 L2

DES(2 rounds)

DES(2 rounds)

plaintext p

ciphertext c

secret key k c = Ek(p)EE

p

c

k

Page 21: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Toy example: DES encryption (2 rounds)

::21::

Initially: (L0, R0) <-- IP(p)

1. L1 = R0

R1 = L0 f(k1, R0)

2. L2 = R1 = L0 f(k1, R0) R2= L1 f(k2, R1) = R0 f(k2, R1) = R0 f(k2, L0 f(k1, R0))

End: c <-- IP-1(R2, L2)

c <-- IP-1(R0 f(k2, L0 f(k1, R0)), L0 f(k1, R0))

R2 L2

Initial PermutationInitial Permutation

Initial Permutation-1Initial Permutation-1

(64)

(64)

(32)(32)

p

c

L0 R0

f

k 1 =g 1(k)

L1 R1

f

L2 R2

k 2 =g 2(k)

R2 L2

Page 22: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Toy example: DES decryption (2 rounds)

::22::

Initial PermutationInitial Permutation

Initial Permutation-1Initial Permutation-1

(64)

(64)

(32)(32)

c

p

L0 R0

f

k 2 =g 2(k)

L1 R1

f

L2 R2

k 1 =g 1(k)

R2 L2

DES-1

(2 rounds)

DES-1

(2 rounds)

ciphertext c

plaintextp

secret key k p = Dk(c)DD

c

p

k

Page 23: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Toy example: DES decryption (2 rounds)

::23::

Initially: (L0, R0) <-- IP(c)

(L0, R0) <-- IP(IP-1(R2, L2))=(R2, L2)

1. L1 = R0 = L2 = R1

R1 = L0 f(k2, R0) = R2 f(k2, L2) = L1 f(k2, R1) f(k2, L2) = L1 f(k2, R1) f(k2, R1) = L1

2. L2 = R1 = L1 = R0

R2 = L1 f(k1, R1) = R1 f(k1, L1) = L0 f(k1, R0) f(k1, L1) = L0

End: p <-- IP-1(R2, L2)

p <-- IP-1(L0, R0)=IP-1(IP(p))=p

o DES satisfies: DK(EK(p))=p

Initial PermutationInitial Permutation

Initial Permutation-1Initial Permutation-1

(64)

(64)

(32)(32)

c

p

L0 R0

f

k 2 =g 2(k)

L1 R1

f

L2 R2

k 1 =g 1(k)

R2 L2

Page 24: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::24::

Sigurnost DES-a

o DES je otporan na nekoliko znacajnih kriptoanalitickih napadao Linear cryptanalysiso Differential cryptanalysiso Zahvaljujuci nelinearnosti funkcije f(.)

o Najveca kritika DES-a vezana je uz duzinu enkripcijskog kljucao 1993. – DES key search machine ($1,000,000) pronalazi kljuc za 36h

(theory)o 1998. – DES Cracker ($250,000) pronasao DES kljuc nakon 56h!

o Jedan od nacina za rjesavanje problema (pre)kratkog kljuca je tzv. “encryption-decryption-encryption-triple DES”o Enkripcija:

o Dekripcija:

o Povecava se prostor kljuceva K

o Kompatibilnost sa single key DES-om (k1=k2)

o Mogucnost koristenja tri razlicita kljuca (npr. PGP)

(p)))(E(DEc121 kkk

(c)))(D(EDp121 kkk

DESE

1k

DESD

2k

DESE

1k

p c

3DES

Page 25: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::25::

Advanced Encryption Standard (AES)

o 1997. US National Institute of Standards and Tehnology objavio je natjecaj za novi enkripcijski standard koji bi zamjenio DESo Novi algoritam bi se zvao AES

o 1998. odabrana grupa od 15 algoritama kandidata za AES

o 2001. NIST objavljuje da je izabrao Rijndael za AESo Rijndael su dizajnirala dva belgijska kriptografera: Daemen i Rijmen

o Rijndaelo Blok sifra koja podrzava kljuceve od 128, 192 i 256 bitovao Nedavno otkriven napad zasnovan na Differential Power Analyisis (DPA)

o U praksi bi trebali koristiti AES kad god je to moguce

Page 26: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Comparison of DES, 3DES and AES

26

DES 3DES AES

Plaintext block size (bits)

64 64 128

Ciphertext block size (bits)

64 64 128

Key size (bits) 56112 or 168 (true security

around 80 bits)128, 192, or 256

Encryption algorithm

Decryption algorithm

Plaintext pCiphertext

c=Ek(p)Plaintextp=Ek(c)

Secret key k Secret key k

Page 27: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Brute-Force Attack

o Bins and urn model

o Average time to break (computational security)

27

Secret key spaceSought secret key

Candidate keys

Key Size (bits)

Key SpaceTime Required at 1

Decryption/μs

Time Required at 106

Decryption/μs

32 232 = 4.3 x 109 231 μs = 35.8 min 2.15 miliseconds

56 256 =7.2 x 1016 255 μs = 1142 years 10 hours

128 2128 =3.4 x 1038

2127 μs = 5.4 x 1024

years5.4 x 1018 years

168 2168 =3.7 x 1050

2167 μs = 5.9 x 1036

years5.9 x 1030 years

Page 28: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

Osnovni modovi rada blok sifri

Kriptografija simetričnog (tajnog) ključa

Page 29: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::29::

Osnovni modovi rada blok sifri

o Blok sifra procesira (enkriptira ili dekriptira) poruku u blokovima fiksne duzine

o U praksi je duzina skupa poruka koju treba procesirati puno duza od fiksnog bloka sa kojim radi sifra (npr., DES blok ima 64 bita)

o Blok sifra “razbije” ulaznu poruku u seriju sekvencijalnih blokova odgovarajuce duzine (npr. 64 bita), te procesira ove blokove po principu “jedan po jedan”

o Ovisno o tome kako blok sifra procesira sekvencu blokova, razlikujemo slijedece osnovne modove rada blok sifri:o Electronic Codebook (ECB)

o Cipher Block Chaining (CBC)

o Cipher Feedback (CFB)

o Output Feedback (OFB)

o Counter (CTR) mode

Stream ciphers built on top of a block cipher

Page 30: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::30::

Electronic Codebook (ECB) Mode

o Notacija:o P1 P2 ... Pm: m uzastopnih ulaznih segmenata/blokova plaintext poruke

o Velicina svakog segmenta poruke Pi je n, gdje je n duzina bloka

koristene sifre (npr. za DES n=64, za AES n=128)

o C1 C2 ... Cm: m odgovarajucih izlaznih ciphertext blokova

o EK(.) i DK(.) enkripcijski i dekripcijski algoritmi dane blok sifre (npr. DES,

AES)

o ECB enkripcija i dekripcijao Enkripcija: Ci EK (Pi), i = 1,2,...,m

o Dekripcija: Pi DK (Ci), i = 1,2,...,m

EE

P1

C1

K EE

P2

C2

K EE

Pm

Cm

K…

Page 31: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::31::

Svojstva ECB moda

o Isti plaintext blok rezultira istim ciphertext blokom (koristeci isti enkripcijski kljuc)o Poruke koje se enkriptiraju obicno imaju regularan i poznat

formato Specijalna zaglavlja, string 00...0, itd.

o Segmenti poruke su enkriptirani neovisno o drugim segmentimao Zamjenom ciphertext blokova, narusava se integritet plaintext-ao Ciphertext blokovi razlicitih poruka mogu se jednostavno

“mijesati”

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 (vidi primjer u nastavku)

Page 32: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::32::

Nedostaci ECB moda

o Isti plaintext blok rezultira istim ciphertext blokom (ako se koristi isti enkripcijski kljuc)o Primjer: AES sa 128 bitnim enkripcijskim kljucem u ECB modu.

o Q: Objasnite zasto se ovo dogodilo. Je li AES nesigurna sifra?

Page 33: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::33::

Cipher Block Chaining (CBC) Mode

o Najpoznatiji i najcesce koristeni enkripcijski mod

Page 34: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::34::

Cipher Block Chaining (CBC) Mode

o Enkripcija

o Dekripcija

EE

P1

C1

K EE

P2

C2

K EE

P3

C3

K EE

Pm

Cm

K

IV Cm-1

DD

C1

P1

K

IV

DD

C2

P2

K DD

C3

P3

K DD

Cm

Pm

K

Cm-1

Page 35: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::35::

Cipher Block Chaining (CBC) Mode

o Enkripcija

EE

P1

C1

K EE

P2

C2

K EE

P3

C3

K EE

Pm

Cm

K

IV Cm-1

m2,...,i ),C(PE C

IV)(PE C

1iiKi

1K1

Page 36: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::36::

Cipher Block Chaining (CBC) Mode

o Dekripcija

DD

C1

P1

K

IV

DD

C2

P2

K DD

C3

P3

K DD

Cm

Pm

K

Cm-1

m2,...,i ,C)(CE P

IV)(CD P

1iiKi

1K1

Page 37: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::37::

Svojstva CBC moda

o Enkripcija dva ista plaintexta istim kljucem, ali sa razlicitim vrijednostima Inicijalizacijskog Vektora (IV) daje razlicite ciphertext-ove

o Ciphertext blok Cj ovisi o Pj i svim prethodnim plaintext blokovimao Ako napadac pokusa zamjeniti ciphertext blokove, utjecati ce na

dekripciju

o Medjutim, ovisnost o prethodnim plaintext blokovima je isljucivo preko prethodnog ciphertext bloka Cj-1

o Stoga za ispravnu dekripciju ciphertext bloka potreban je samo ispravan prethodni ciphertext blok

o Propagacija greske (npr. zbog smetnji na kanalu)o Greska u jednom bitu u bloku Cj ima utjecaj samo na blokove Pj i Pj+1

o Napadac moze izazvati kontorliranu promjenu bitova u Pj+1 plaintext block (ali Pj ne moze kontrolirati)

o Self-synchronizing (brz oporavak od greski)

Page 38: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::38::

Svojstva CBC moda

o Isti plaintext blok rezultira razlicitim ciphertext blokom (cak i ako se koristi isti enkripcijski kljuc)

Page 39: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::39::

Integritet IV u CBC modu

o Inicijalizacijski vektor (IV) ne mora biti tajan, ali njegov integritet mora biti zasticen

o Maliciozne promjene IV-a dozvoljavaju napadacu da uzrokuje kontrolirane promjene u prvom plaintext bloku

o Postoje napredni napadi na CBC mod ukoliko je IV predvidivo Preporuka: koristiti slucajno generiran IV za svaku enkriptiranu poruku

o Q*(za odlikase): Kako iskoristiti predvidivost IV da bi narusili privatnost enkriptirane poruke?

o Q**(za odlikase): Padding oracle attack on CBC mode (Task 2.5, LAB2).

o Q***(za odlikase): Vaznost velicine bloka enkripcijskog algoritma.

o Razmislite o potencijalnim posljedicama situacije u kojoj bilo koja dva ciphertext bloka imaju iste vrijednosti, ako su ti ciphertext blokovi rezultat enkripcije istim enkripcijskim kljucem (ali proizvoljnih poruka)

o Procjenite vjerojatnost takvog dogadjaja za DES (64 b) i AES (128 b)

Page 40: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::40::

Cipher Feedback (CFB) Mode

EE

Pi Ci

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s) (s)

(s)

initialized with IV

EE

Ci

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s) (s)

(s)initialized with IV

o Enkripcija: o Dekripcija

Pi

Page 41: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::41::

Cipher Feedback (CFB) Mode

EE

P1

C1

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s)

(s)

(s)

initialized with IV

EE

P2

C2

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s)

(s)

EE

P3

C3

K

(n)

select s bitsselect s bits

(n)

(s)

(s)

(s)

shift register (n)I1 I2 I3

(s)

m1,...,i))(I(EmsbCP

m1,...,i))(I(EmsbPC

m2,...,iC||)(IlsbI

IVI

iKsii

iKsii

1-i1-is-ni

1

Page 42: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::42::

Svojstva CFB moda

o Enkripcijom istih plaintext-ova istim kljucem, ali razlicitim IV-ovima daje razlicite ciphertext-ove

o IV moze biti poslan neenkriptiran (kao plaintext)

o Ciphertext blok Cj ovisi o Pj i svim prethodnim plaintext blokovimao Stoga, zamjena ciphertext blokova utjece na dekripciju

o Ispravna dekripcija ciphertext bloka zahtjeva da su svi prethodni n/s ciphertext blokovi ispravni

o Propagacija greske:o Greska u jednom bitu ciphertext bloka Cj utjece na dekripciju tog

bloka kao i sljedecih n/s ciphertext blokovao Pj ce imati greske gdje i Cj, dok ce svi ostali plaintext-ovi biti random

o Napadac moze uzrokovati kontrolirane promjene u j-tom plaintext bloku

o Self-synchronizing o Ali zahtjeva n/s blokova ciphertexta da ispravi greske u bitovima

Page 43: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::43::

Output Feedback (OFB) Mode

o Enkripcija:

EE

Pi Ci

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s) (s)

(s)

initialized with IV

EE

Ci Pi

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s) (s)

(s)

initialized with IV

o Dekripcija

Page 44: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::44::

Output Feedback (OFB) Mode

EE

P1

C1

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

(s)

(s)

initialized with IV

EE

P2

C2

K

shift register (n)

(n)

select s bitsselect s bits

(n)

(s)

EE

P3

C3

K

(n)

select s bitsselect s bits

(n)

(s)

(s)

(s)

shift register (n)I1 I2 I3

(s)

(s) (s) (s)

m1,...,i))(I(EmsbCP

m1,...,i))(I(EmsbPC

m2,...,i))(I(Emsb||)(IlsbI

IVI

1-iKsii

1-iKsii

1-iKs1-is-ni

1

Page 45: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::45::

Svojstva OFB moda

o Enkripcijom istih plaintext-ova istim kljucem, ali razlicitim IV-ovima daje razlicite ciphertext-ove

o IV moze biti poslan neenkriptiran (kao plaintext)o Medjutim, ako napadac promijeni IV, sifra se ne moze oporaviti (CFB mod

moze!)

o Ciphertext blok Cj ovisi samo o Pj

o Ali za raziliku od ECB, zamjena ciphertext blokova ima utjecaj na dekripciju

o Propagacija greske:o Greska u jednom bitu ciphertext bloka Cj utjece samo na dekripciju bloka

Cj

o Pj ima greske gdje i Cj

o Napadac moze uzrokovati kontrolirane promjene u j-tom plaintext bloku

o Oporavak od greski:o Moze se oporaviti od greski na bitovimao Ali ne moze ako je IV modificiran

Page 46: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::46::

Counter (CTR) mode

EE

Pi Ci

K

(n)

(n)

(n)

counter + i

(n)

EE

Ci Pi

K

(n)

(n)

(n)

counter + i

(n)

o Enkripcija: o Dekripcija

Page 47: Kriptografija zasnovana na  simetri č nom klju č u  (eng.  symmetric key cryptography )

::47::

Svojstva CTR moda

o “counter” mora biti razlicit za svaki blok (Q: Zasto?)

o j-ti blok moze biti dekriptiran neovisno o drugim blokovimao Moze se paralelizirati

o Random access (dekriptiramo bilo koji blok)

o Vrijednosti koje se XOR-aju sa plaintext-om mogu biti izracunate unaprijed (preprocessing)

o Jako efikasan za implementaciju (software-sku i hardware-sku)

o Primjer primjene: IEEE 802.11i odnosno vase WLAN/WiFi mreze

o Counter Mode CBC–MAC Protocol (CCMP)