kriptografija zasnovana na simetri č nom klju č u (eng. symmetric key cryptography )
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 PresentationTRANSCRIPT
Kriptografija zasnovana na simetričnom ključu (eng. symmetric key cryptography)
Mario Č[email protected]
FESB
11/3/2014.
::2::
Kriptografski sustav
Encryption Decryption
Key Generation
Plaintext Ciphertext Plaintext
ke kd
MessageChannelKey
Channel
kk :kljuca ogasimetricn ijaKriprograf
kk :kljuca gsimetricno ijaKriptograf
de
de
::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
::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.
Klasični kriptografski sustavi
Kriptografija simetričnog (tajnog) ključa
::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
::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
::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
::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
::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
::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
::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?)
::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
Moderni kriptografski sustavi
Kriptografija simetričnog (tajnog) ključa
::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
::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
::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
::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
::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.
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
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
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
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
::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
::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
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
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
Osnovni modovi rada blok sifri
Kriptografija simetričnog (tajnog) ključa
::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
::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…
::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)
::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?
::33::
Cipher Block Chaining (CBC) Mode
o Najpoznatiji i najcesce koristeni enkripcijski mod
::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
…
…
::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
::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
::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)
::38::
Svojstva CBC moda
o Isti plaintext blok rezultira razlicitim ciphertext blokom (cak i ako se koristi isti enkripcijski kljuc)
::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)
::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
::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
::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
::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
::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
::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
::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
::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)