Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Advanced Encryption System

Hasonló előadás


Az előadások a következő témára: "Advanced Encryption System"— Előadás másolata:

1 Advanced Encryption System
AES Advanced Encryption System

2 1997-ben az NIST (National Institute of standards) pályázatot írt ki az AES-re
Határidő: 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.

3 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

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

5 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

6 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

7 Összeadás:

8 Szorzás

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

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

11 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

12 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.

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

14 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

15 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.

16 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)

17 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

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

19 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:

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

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

22 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:

23

24 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ő

25 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.

26 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.

27 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ó.

28 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:

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

30

31

32 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.

33 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

34 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:

35 Nk > 6 esetén:

36 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:

37 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)

38 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.


Letölteni ppt "Advanced Encryption System"

Hasonló előadás


Google Hirdetések