Advanced Encryption System

Slides:



Advertisements
Hasonló előadás
Integritási tartományok
Advertisements

Lineáris egyenletrendszerek
Összetett kísérleti tervek és kiértékelésük:
Készítette: Nagy Mihály tanár Perecsen, 2006.
A polinomalgebra elemei
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
Algebrai struktúrák.
A normalizálás az adatbázis-tervezés egyik módszere
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Racionális számok számítógépi ábrázolása
Titkosítás Digitális aláírás Szabványosított tanúsítványok
Kalman-féle rendszer definíció
Műveletek mátrixokkal
Digitális Domborzat Modellek (DTM)
INFOÉRA Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
Euklidészi gyűrűk Definíció.
Egy f  R[x] polinom cS -beli helyettesítési értéke
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Segédanyag a Fizikai Kémia III. tárgyhoz dr. Berkesi Ottó
Informatikai biztonság alapjai 4. Algoritmikus adatvédelem Pethő Attila 2008/9 II. félév.
Informatikai biztonság alapjai 4. Algoritmikus adatvédelem
Csernoch Mária Adatábrázolás Csernoch Mária
Prototípus készítés Verilog nyelven VGA – PROM számláló Készítette: Fazekas Gergő,
Optimalizálás nemklasszikus architektúrákon
Készítette: Pető László
Transzformációk kucg.korea.ac.kr.
A digitális számítás elmélete
A digitális számítás elmélete
Adaptív jelfeldolgozás Rádiócsatorna kiegyenlítése
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
Táblázatkezelés Az Excel.
Hasonlóságelemzés COCO használatával a MY-X elemzőben
Nem-paraméteres eljárások, több csoport összehasonlítása
Készítette: Kosztyán Zsolt Tibor
Az RSA algoritmus Fóti Marcell.
Gráf szélességi bejárása
Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel
Lénárt Szabolcs Páll Boglárka
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Rendszerek stabilitása
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Lineáris algebra.
Adatbázis alapfogalmak
1 Vektorok, mátrixok.
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Nagy Szilvia 13. Konvolúciós kódolás
Többdimenziós valószínűségi eloszlások
Nagy Szilvia 7. Lineáris blokk-kódok
Nagy Szilvia 9. Ciklikus kódolás
2005. Információelmélet Nagy Szilvia 12. A hibacsomók elleni védekezés.
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 3. Előadás.
T.5. tétel (minimálpolinom egyértelmű létezése)
Az alhálózatok számítása
Nagy Szilvia 2. Lineáris blokk-kódok II.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Szimmetrikus titkosítás: DES és társai. DES  Digital Encryption Standard  Alapja az IBM által kifejlesztett titkosítási eljárás (Lucifer, 1974 – 128.
Nyilvános kulcsú titkosítás Digitális aláírás Üzenet pecsétek.
Informatikai biztonság alapjai 4. Algoritmikus adatvédelem
Grosz Imre f. doc. Sorrendi áramkörök
TITKOSÍTÓ ALGORITMUSOK
IT hálózat biztonság Összeállította: Huszár István
IT hálózat biztonság Összeállította: Huszár István
Cache példák 2019 (IMSC).
Előadás másolata:

Advanced Encryption System AES Advanced Encryption System

1997-ben az NIST (National Institute of standards) pályázatot írt ki az AES-re Határidő: 1998. június 15. 15 pályázat érkezett Az első kört 5 javaslat élte túl: MARS, RC6, Rijndael, Serpent, Twofish 2000. október 2.: A 128 bites Rijndael lesz az AES.

Az AES a kiírás szerint egy nyilvánosan közzétett díjmentes világszerte terjesztett a következő évszázadban a kormányzati dokumentumok védelmére alkalmas titkosító algoritmus kell legyen

Minimális kritériumok: Szimmetrikus kriptorendszert valósítson meg Blokkódoló legyen Kezelje a 128-128, 128-192 és a 128-256 bites blokkhossz-kulcshossz kombinációt

További elvárások: Legyen legalább olyan biztonságos mint a TDES Legyen sokkal gyorsabb mint a TDES A tervezőnek le kell mondania a szerzői jogokról

Matematikai előismeretek A Rijndael erősen kihasználja a test tulajdonságait A test elemeit 7-ed fokú {0,1} együtthatós polinomokként ábrázoljuk, az összeadás a polinomok összeadásának felel meg, míg a szorzás a polinomok szorzásának modulo egy irreducibilis polinom. A kiválasztott polinom az

Összeadás:

Szorzás

Inverz számítása Mivel Ezért azaz

feletti polinomok Négy byte tekinthető mint feletti harmadfokú polinom. Az és polinomok szorzata ahol

Sajnos ez már nem ábrázolható 4 byte-on ezért az eredményt vesszük modulo Így a szorzásunk eredménye a alakban adható meg, ahol mivel

Ez írható mátrixos alakban Mivel az polinom reducibilis felett, ezért egy rögzített polinommal való szorzás modulo nem feltétlenül invertálható művelet, de a Rijndael-ben olyan polinomot választottak, melynek van inverze.

Szorzás x-szel A polinom alakú lesz, amit modulo véve adódik, azaz

A Rijndael leírása Tervezők: Joan Daemen Vincent Rijmen A tervezés során figyelembe vett fő szempontok: Ellenállás az ismert támadásokkal szemben Gyorsaság és tömör kódolhatóság a platformok minél szélesebb körén Egyszerű kivitel

A Rijndael blokkhossza: 128, 192, 256 bit A Rijndael kulcshossza: 128, 192, 256 bit Mindegyik blokkhossz mindegyik kulcshosszal használható A Rijdael nem Feistel struktúrájú blokktitkosító, mivel azokban az egyes menetek során a bitek legnagyobbrészt csak összekeverednek, de nem változnak meg a bitek.

A Rijndael menet-transzformációja ezzel szemben három invertálható rétegből áll lineáris keverő réteg (ez teríti szét az információt a blokk teljes hosszában) nem-lineáris réteg (egy S-boksz, azaz a lineáristól minél távolabb álló transzformáció) kulcshozzáadó réteg (a menetkulcsot egyszerű XOR-ozása az aktuális állapothoz)

Részletes leírás Az állapot (state) a titkosítás köztes eredménye Legyen Nb a blokkhossz 32-ed része Legyen Nk a kulcshossz 32-ed része Ekkor az állapotot ábrázolhatjuk egy 4 sorból és Nb oszlopból álló táblázatként, ahol a táblázat minden eleme egy byte

Az állapot Nb=6 esetén és a kulcs Nk=4 esetén

A kezdeti állapot feltöltése a nyílt szöveggel Az inputot 8 bites byte-ok alkotják, melyek 0-tól (4*Nb-1)-ig vannak sorszámozva Ha ebben a számozásban a byte sorszáma n akkor a táblázatbeli kétdimenziós (i,j) indexe:

A menetek száma a blokk- és kulcshossz függvényében

A menet-transzformáció Az utolsó menet kicsit különbözik a többitől

A ByteSub transzformáció A ByteSub transzformáció egy S-box, ami az állapot egy-egy byte-ján külön-külön hat. Ez egy invertálható transzformáció, mely két részből áll: Először vesszük az inverzet -ban Aztán alkalmazzuk az alábbi affin transzformációt:

Az S-box kimenete minden byte esetén előre kiszámítható, és táblázatba foglalható A ByteSub inverze is egy ByteSub és ugyanannyi időbe telik elvégezni. A ByteSub és a ShiftRow sorrendje felcserélhető

A ShiftRow transzformáció A ShiftRow transzformáció az állapot sorait ciklikusan eltolja. Az i-edik sort Ci-vel eltoljuk, ahol Ci függ a blokkhossztól. Ci = 0.

Az alábbi ábra mutatja a ShiftRow hatását az állapot sorain A ShiftRow inverze az (Nb- Ci)-vel való ciklikus bal-eltolás.

A MixColumn transzformáció A MixColumn során az állapot oszlopait feletti polinomoknak tekintjük és modulo a polinommal szorozzuk, azaz a művelet alakba írható.

Az alábbi ábra mutatja a MixColumn hatását az állapot sorain A MixColumn inverze polinomszorzás, egy d(x) polinommal, melyre Ez a d(x) az alábbi polinom:

Az AddRoundKey transzformáció Ebben a részben adjuk hozzá a menetkulcsot az állapothoz

Menetkulcs-generálás A szükséges menetkulcsok bitjeinek száma 32*Nb*(Nr+1) Először a titkosító kulcsból egy kiterjesztett kulcsot generálunk, amely Nb*(Nr+1) darab 4 byte-os szóból áll. Jel: W[i] az i-edik szó. Ebből választjuk ki a menetkulcsokat, úgy, hogy az első menetkulcs a kiterjesztett kulcs első Nb darab 4 byte-os szava, a második menetkulcs a második Nb darab, stb.

Kulcskiterjesztés A kulcskiterjesztés során a az 32*Nk bit hosszúságú titkosítókulcsból egy 32*Nb*(Nr+1) hosszúságú kiterjesztett kulcsot hozunk létre A kiterjesztett kulcs első Nk szava a titkosítókulcs bitjeit tartalmazza A többit az alábbi módon, rekurzívan definiáljuk

Nk ≤ 6 esetén: SubByte() a szó minden byte-jára az S-Boxot alkalmazza A RotByte() a négy szón egy szóval való ciklikus baleltolást hajt végre Rcon(i/Nk) egy menetkonstans, amely Nk-tól függetlenül van definiálva:

Nk > 6 esetén:

Menetkulcskiválasztás Az i-edik menetkucs a kiterjesztett kulcs W[Nb*i] és W[Nb*(i+1)] közötti része lesz Például Nb=6 és Nk=4 esetén:

A titkosító algoritmus Először alkalmazunk egy kulcshozzáadást Majd jön Nr-1 menet Végül egy utolsó menet (amelyik kicsit különbözik a többitől)

A Rijndael inverze Ha az összes transzformáció inverzét elvégezzük fordított sorrendben, akkor visszakapjuk az eredeti szöveget. Az inverztranszformáció a Rijndael-lel azonos struktúrájúra hozható, de ezzel nem foglalkozunk.