Kulcsfolyaatos rejtjelezést tekintünk, azaz a kulcsbiteket od 2 hozzáadjuk a nyílt szöveg bitekhez. A kulcsot első 5 bitjéből periódikus isétléssel nyerjük, az első 5 bitet jelölje k,,k5. A nyílt szöveg egyás utáni bitjei, x,x2, képződési szabálya, x i +x i+ = x i+2, i=,4,7 Az első 5 egfigyelt rejtett szöveg bit a következő: 0000000. Fejtsük eg a kulcsot!
x3=x+x2=y+y2+k+k2=k+k2+ x3=k3 (y3=x3+k3=0) 00 0 00 00 x6=x4+x5=k4+k5+ x6=k+ x9=x7+x8=k2+k3 x9=k4+ x2=x0+x=k5+k+ x2=k2 x5=x3+x4=k3+k4 x5=k5+ (kulcsperiódus=5) alapján k+k2+k3= k+k4+k5=0 k2+k3+k4= k+k2+k5= k3+k4+k5= K=(,0,0,,0).
SPC (Substitution Perutation Cipher) (Tk.2.fejezet bevezető) x Shannon-i elv: Erős invertálható transzforáció előállítható egyszerű, könnyen analizálható és ipleentálható, de önagában gyenge transzforációk sokszori egyás utáni alkalazásával.. 2. S réteg. 2. s. P réteg k k2 Példa: szietrikus kulcsú rejtjelezők (pl. DES, IDEA, AES). kr r. y
SPC tervezési kritériuok Invertálhatóság Balansz tulajdonság (Tk.36.o.) Teljesség (T.38.o.) Nelinearitás (T.38-39.o.) Lavinahatás (T.26.o, 40.o.) Lineáris dienzió (T.38.o.) Differenciális egyenletesség (T.38.o., 40.o) SPC Boole-függvény: f :{0,} {0,} S-box: n f :{0,} {0, } < n [ ] f () x = f (), x f (),... x f () x :{0,} {0, } 2 n f i
Invertálhatóság SPC F=F F 2...F r, Fi az i-edik rétegbeli transzforáció F - =F r - F r- -...F - Balansz tulajdonság A transzforáció ne torzítsa el egy egyenletes eloszlású beenet gyakoriság-statisztikáját. :{0,} n f {0,}, n #{ x {0,} : f( x) = y} = 2 n y {0,} n. 2. Példák f ( x) = A x + b A nx-es bináris átrix, rang=n x {0,}, b {0,} n f :{0,} {0, } n invertálható n
SPC Nelinearitás Boole-függvények távolsága: d( f, g) = #{ x {0,} : f( x) g( x)} = w( f + g) f, g:{0,} {0,} Lineáris Boole-függvény: Luv, ( x) = u x+ v ux, {0,} v {0,} Boole-függvény nelinearitása N( f ) = in d( f, L ) u {0,}, v {0,} S-box nelinearitása n w {0,}, w 0 uv, N( f) = in N( w f) f :{0,} {0,} n
SPC (Tk.2.2-9. feladatok) Legyen n=2, továbbá n, 2: 2 2 f f V V jelölje az első illetve ásodik output bitre vonatkozó transzforáció-koponenst Ha f nelinearitása N, ekkora f nelinearitása, ha.) f 2 =f 2.) f 2 =.) 0, ivel az outputok w={,} súlyú lineáris kobinációja (bináris összege) konstans 2.) 0, ivel az outputok w={0,} súlyú lineáris kobinációja (a 2. kienet) konstans.
Lavinahatás kritériu 2 x {0,} () i w( f( x) + f( x+ e )) = n 2 i f :{0,} {0, } n Szigorú lavinahatás kritériu 2 x {0,} ( f ( x) + f ( x + ( i) e )) = (,,... ) 2 2 2 i f :{0,} {0, } n
Differenciális egyenletesség DDT ( a, b) = { x {0,} : f ( x) + f ( x + a) = b} f a {0,}, b {0,} DDT (0, b) = 2 δ ( b). f n Példa: DDT ( a, b ) = 2 Ha f=ux+v lineáris, akkor, ha b=ua, egyébként 0 f
SPC (Tk. 2.. fejezet) L R L i+ = R i R i+ = L i + F(R i, K i ) Invertálható, függetlenül attól, hogy F invertálható, vagy se! L2 F R2 L i = R i+ + F(L i+, K i ) R i = L i+ F
SPC Nyílt blokk Kulcs 64 56 IP L 32 K F 48 32 R K u lc L2 32 K2 F 48 32 R2 s ü te e z õ L6 K6 F 48 32 32 R6 FP 64 Rejtett blokk
SPC X i 32 E 48 48 K i S S 2 S 3 S 4 S 5 S 6 S 7 S 8 32 P 32 Y i S box 4 4 3 2 5 8 3 0 6 2 5 9 0 7 0 5 7 4 4 2 3 0 6 2 9 5 3 8 4 4 8 3 6 2 5 2 9 7 3 0 5 0 5 2 8 2 4 9 7 5 3 4 0 0 6 3
SPC S-doboz tervezési kritériuok: DES Minden S-doboz beenete 6, kienete 4 bites legyen. (DES egyetlen chip-be integrálásához) Egyetlen S-doboz egyetlen kieneti bitje se legyen közel a beeneti bitek valaely lineáris függvényéhez. (Tehát a nelinearitás legyen nagy.) Ha rögzítjük a két szélső bit értékét, és csak a beenet középső négy bitjét változtatjuk folyaatosan, akkor a kieneten inden 4 bites vektor pontosan egyszer jelenjen eg. (Azaz az S-dobozban található 4 darab 4 bitet 4 bitbe helyettesítő tábla indegyike legyen balansz. Ekkor persze aga az S-doboz is balansz, vagyis inden 4 bites kieneti vektor pontosan négyszer jelenik eg, ha a beeneten inden lehetséges értéket végigpörgetünk.) Ha az S-doboz beenetén egyetlen bitet egváltoztatunk, akkor a kieneten legalább két bit értéke változzon eg. (lavinahatás) Ha az S-doboz beenetén a két középső bitet egváltoztatjuk, akkor a kieneten legalább két bit értéke változzon eg. Ha két beeneti vektor első két bitje különböző, utolsó két bitje azonos, akkor a egfelelő kieneti vektorok ne lehetnek azonosak. Tetszőleges, ne nulla beeneti differencia esetén, az adott differenciával rendelkező 32 beeneti vektor pár közül legfeljebb nyolchoz tartozhat azonos kieneti differencia. (nagy differenciális egyenletesség)
P-doboz tervezési kritériuok: DES A P-doboz legyen olyan, hogy inden S-doboz négy kieneti bitje közül kettőt a következő réteg S-dobozainak középső bitjeihez, kettőt pedig szélső (táblázat választó) bitekhez továbbítson. Minden S-doboz négy kieneti bitje a következő rétegben hat különböző S- dobozra legyen hatással. Ha egy S-doboz valaely kieneti bitje egy ásik S-doboz valaely középső bitjéhez van vezetve, akkor ez utóbbi S-doboz egyetlen kienete se lehet az előző S-doboz középső beeneteihez vezetve.
Tegyük fel, hogy DES rejtjelezést használunk 64 bites üzenetblokkon és belül a blokk végén 4 bites hibadetekciós ellenőrzőösszeget alkalazunk. Egy táadó ár egiserte a kulcs első két bitjét, ezután kierítő kulcskereséses táadást végez. 3 rejtjeles blokk egfigyelése elegendő-e a táadó száára a gyakorlatilag egyértelű kulcsazonosításhoz? (Tekintsük gyakorlatilag egyértelűnek a kulcsazonosítást, ha végül csak néhány kulcs közül kell a táadónak választania!) Igen: Annak a valószínűsége, hogy téves kulccsal helyes paritásúra dekódolunk egy rejtett szöveg blokkot, 2-4. Annak a valószínűsége, hogy 3 rejtjeles blokk indegyikét helyes paritásúra dekódoljuk téves kulcs ellett (2-4 ) 3 =2-52. Mivel a kulcstér érete az előzetesen kiszivárgott két kulcsbit iatt ár csak 2 54, a ne kiszűrt téves kulcsok átlagos száa a kulcstér teljes végigkeresése után 2 54 2-52 = 22 = 4 lenne. (Tk.2..feladat)
Birthday paradox Algebrailag zárt blokk rejtjelező E = { E k ; E k : X Y, k K} T={E, *}. T zárt, ha EE = E, E Ek E k = E k, k 2 3 i K Π Tétel : A T zárt algebrai struktúra csoport.
Birthday paradox ( )( ) ( ) ( ) = = = 2 r i i r pr x e x + = 3! 2! 3 2 x x x e x ( ) r r e r i i e r i i 2 ) ( = = = 2 exp( /(2 )) p r r Születésnapi paradoxon- Pl. = 365 r = /2 9, p r - exp(-0.5) 0.4.
Birthday paradox U V W Születésnapi paradoxon-2 ) / 2 3 exp( 2! )! (2 2 0) ( r r r r r W V P = Pl. r = /2, p r - exp(-3) 0.95
Birthday paradox Középen találkozás táadás zárt struktúrájú rejtjelező ellen Táadó iserete: isert nyílt szövegű táadás Q={(x, y ), (x 2, y 2 ),... (x s, y s )}, Ek y l = E k (x l ), k az iseretlen kulcs U = E V = {E, E 2,... E r } W = {D 2 E k, D 22 E k,... D 2r E k }, x E E2 Er.. v v2 vr w w2 wr.. D22 D2r D2 y ahol V,W U. D k Ha V W 0, pl. E j = D 2i E k E k = E 2i E j r E /2!
Birthday paradox Két DES transzforációt egyás után használunk: y = E k 2 ( Ek( x)) ahol k, k2 két véletlen titkos kulcs. Azt reéljük, hogy ezzel a DES 56 bites kulséretének egfelelő kulcstér kierítő keresés 2 56 nagyságrendű száításigényét 2 2 nagyságrendűre tudjuk eelni. a.) Igazunk van-e? Milyen ódszerrel táadna a táadó helyében, ilyen adatok alapján. b.) Mekkorára becsli a táadás koplexitását (száításigény, tárkapacitás). (Száításigény a kódoló/dekódoló transzforációk száában. Tárkapacitás tárolandó blokkok száában.). a.) Ne. Középen találkozás táadás, isert nyílt-rejtett szöveg párok alapján. b.) 2*2 56 a száításigény, illetve tárkapacitás nagyságrendje.
Birthday paradox A száításokat gyorsítandó k=28 kulcsbitünket ne egy biztonságos 28 bit kulcséretű E* blokk-rejtjelezőhöz használjuk, hane két félre osztjuk k kulcsot, és y = E ** ( x) = E ( x k2) k k rejtjelezést hajtunk végre, ahol E egy biztonságos 64 bites kulcséretű blokkrejtjelező, k és k2 64 bites felei a k kulcsnak, x egy 64 bites üzenetblokk. A táadó egfigyelhet (x,y) nyílt-rejtett szöveg párokat. Az E* és E rejtjelező csak kierítő kulcskereséssel táadhatók. a.) Vesztettünk-e a táadhatóság okán vagy se, hogy E* helyett E** rejtjelezést alkalazzuk? b.) Hasonlítsa össze, kulcskereső táadás száításigényét a két esetben! a.) Igen, sokat vesztettünk, ivel E** két blokk rejtjelező kaszkádja, így középen találkozás táadással táadható. b.) Száításigény érleg: (E*) 2 28, (E**) 2 2 64
ECB (Tk.5.fejezet)
CBC
CBC
CBC 28 bites nyílt szöveg blokkok sorozatát AES rejtjelezővel CBC ódban rejtjelezzük: Mennyi blokkot kell rejtjelezni ahhoz, hogy >0.5 valószínűséggel előforduljon két azonos rejtett szöveg blokk? 28 bites rejtett szöveg blokkok összes száa =2 28. CBC ódban a rejtett szöveg blokkokat odellezhetjük véletlenül választottaknak függetlenül a nyílt szöveg tulajdonságoktól. Így a születésnapi paradoxon alapján p ~ -exp(-r 2 /2) összefüggésből, p=0.5 esetén.7 2 64 eredény adódik. Ha két azonos rejtett szöveg blokkot detektáltunk, it tudunk ondani a hozzájuk tartozó nyílt szöveg blokkról? Meg tudjuk határozni a két nyílt szöveg differenciáját! xk yk= xi yi xk xi = yk yi
CFB
OFB, CTR
OFB Véletlen bithibázású csatornán rejtjelezetten továbbítjuk az üzenetünket CBC blokk rejtjelező ódban. A véletlen hibázás ellen hibajavító kódolást alkalazunk. Végezzük a hibajavító kódolást a rejtjelezést egelőzően: forrás hibajavító kódolás rejtjelezés, rejtjelfejtés hibajavító dekódolás nyelő. a.) Helyesen járunk-e el a fenti ódon a hibák javításával kapcsolatosan? b.) Mi a válasz a kérdésre, ha CBC ód helyett OFB ódban rejtjelezünk? a.) Ne. A CBC ód hibaterjedés tulajdonsága szerint egy véletlen hiba esetén, hibázás utáni első blokk bitjeinek átlagosan fele hibás lesz, s ég a rákövetkező blokk egy bitje. Ezt a nagyértékű eghibásodást csak igen költséges, koplex javító kóddal tudnánk eliinálni. A helyes egoldás a rejtjelezés utáni hibajavító kódolás alkalazása. b.) Igen. Nincs hibaterjedés a kulcsfolyaatos típusú rejtjelezés ód iatt. Ez esetben alkalazhatjuk a hibajavítást a rejtjelezést egelőzően.
Block cipher odes Ha egy csatorna 0-9 bithibaaránnyal űködik, akkor hogyan alakul a bithibaarány rejtjelezett esetben? a.)28 bites kódolás ECB rejtjelező ódban b.)28 bites kódolás CBC rejtjelező ódban c.)64 bites kódolás CFB byte alapú folyarejtjelezésnél d.)64 bites kódolás OFB byte alapú folyarejtjelezésnél a.) b.) c.) d.) 64 E-9 65 E-9 33 E-9 E-9
Block cipher odes Javasolható-e RSA blokk kódolás alkalazása.) ECB ódban? 2.) OFB ódban?.) Igen, de csak korlátozottan. Kulcs küldésre alkalazható, csak véletlen, illetve nagy inforációtartalú üzenet kódolható így. Nyílt szöveg alapú próbálgatás ellen ne véd. 2.) Sohase alkalazható. Az OFB ódban az RSA indkét oldalon kódoló üzeódban űködne, azaz a nyilvános kulcs kellene a dekódoláshoz is.
Melyiket blokk rejtjelező ódot ne tanácsolná a következő alkalazási feltételek esetén és iért?.) fennáll a kezdővektor (IV) átírásának veszélye 2.) bitkieséses szinkronhibás csatornán továbbítás 3.) nyílt szöveg 3 különböző értéket vehet csak fel.) CBC: IV átírással első üzenetblokk táadható 2.) OFB: szinkroncsúszás esetén a kulcsfolya elcsúszik és véletlen bitfolyaot dekódolunk vagy CBC: egy bit elvesztése eseten a blokkhatárok az üzenet végéig elcsúsznak 3.) eredeti forában egyiket se; üzenetteret randoizálással növelni kell (Tk. 5.-3 feladatok)