Des titkosítási algoritmusok és az AES

refs. lista - 2 Naim ..

A cél az esszé - leírja, hogy hogyan működik a DES és AES titkosítási algoritmusok.

absztrakt feladat -, hogy megismerjék azt a tényt, hogy voltak és hogyan kell építeni a DES és AES titkosítási algoritmusok.

1 alapjai (DES). 5

1.1 Encryption.
. 6

1.2 dekódolás.
. 11

2 Két DES és a támadás „találkozó a közepén.” 12

3 A háromszoros DES.
. 13

4 Rijndael algoritmus.
. 15

Listája felhasznált források. 18

Az egyik legismertebb kriptográfiai rendszerek a privát kulcs egy DES - Data Encryption Standard. Ez a rendszer az első rangot kapott nemzeti szabvány adattitkosítás. Ezt az IBM által kifejlesztett szakértők és hatályba lépett az Egyesült Államokban 1977-ben. DES algoritmus széles körben használják a tárolása és továbbítása az adatokat a különböző számítógépes rendszerek; mail rendszerek, elektronikus rendszerek, rajzok és az elektronikus adatcserét az üzleti információkat. DES szabvány hajtották végre mind a szoftver és hardver. Vállalatok a különböző országok indult tömegtermelés digitális eszközök használata DES adatok titkosításához. Minden eszköz hitelesített szabványnak való megfelelést.

Annak ellenére, hogy egy ideig, ez a rendszer nem rendelkezik a státuszát a nemzeti szabvány, ez még mindig széles körben használt és figyelmet érdemel a tanulmány a blokk titkosításokat egy privát kulcsot.

A kulcs hossza a DES algoritmus 56 bit. Ez az a tény, összefüggő nagy vita a képességét, hogy ellenálljon a DES különböző támadásokat. Mint ismeretes, minden blokk titkosító privát kulccsal lehet repedt, válogatás révén minden lehetséges kombinációját kulcsokat. Amikor a kulcs hossza 56 bit 2 56 lehetséges különböző kulcsokat. Ha a számítógép megy keresztül egy második 1000000 gombok (ami nagyjából megegyezik a 2 20), akkor az összes 56 kulcs 2 lesz szükség 2 36 másodperc, vagy egy kicsit több mint kétezer éve, ami természetesen elfogadhatatlan betolakodóktól.

Azonban, talán drágább és gyorsabb számítógépes rendszert, mint a személyi számítógép. Például, ha képes egyesíteni a párhuzamos számítási millió processzort, akkor a maximális időt a kiválasztás gomb csökken, körülbelül 18 órán át. Ez az idő nem túl hosszú, és cryptanalyst, felszerelt egy ilyen drága technológia, lehet, végezze a boncolást titkosított adatok DES ésszerű időt magadnak.

Alapvető paraméterek DES: egy blokk mérete 64 bit, a kulcs hossza 56 bit, a körök száma - 16. DES egy klasszikus Feistel hálózat (képviseli az egyes többszörösen ismétlődő (iterált) szerkezet az úgynevezett Feistel Cella halad az egyik cellából a másikba változik gombot.) A két ága. Az algoritmus fordítja néhány kört a 64-bites bemeneti adatblokk 64 bites kimeneti egység. Az algoritmus kombinációja lineáris és nemlineáris transzformációk. A titkosított adatokat kell képviselt bináris formában.

Általános DES szerkezet az 1. ábrán látható A folyamat titkosítására egyes 64-bites blokk az eredeti adatokat lehet három részre osztja:

1. alapképzése adatblokk;

2. 16 kört „fő hurok”;

3. végső adatfeldolgozó egység.

Az első szakaszban a kezdeti permutáció végezzük egy 64-bites kiindulási szövegblokkot, amely alatt a biteket átrendezzük egy bizonyos módon.

A következő (többnyire) szakaszban blokk két részre osztható (ág) a 32 bitet. A jobb oldali ág átalakul függvény segítségével az F és a megfelelő parciális kulcsok származó fő kulcs titkosítási algoritmus gombok külön átalakítás. Ezután a kommunikáció a jobb és bal ágát a blokk. Ezt addig ismételjük, egy hurokban 16 alkalommal.


1. ábra általános sémája DES

Végül a harmadik lépést permutációs kapott eredmény után tizenhat lépésre a fő hurok. Ez permutáció inverze kezdeti permutáció.

Tekintsük részletesebben az összes lépést a kriptográfiai transzformáció DES szabvány.

Az első szakaszban a 64-bites blokk a forrás adatok vetjük alá a kezdeti permutációs IP. Az irodalomban, ezt a műveletet nevezik a „fehéredés” - fogfehérítés. A kezdeti permutáció bit az adatblokk átrendezzük egy bizonyos módon. Ez a művelet ad némi „véletlenszerű” eredeti üzenetet, csökkentve a statisztikai módszerek kriptoanalízissel.

Ezzel párhuzamosan a kezdeti permutáció adatblokk 56 bites kezdeti permutáció gombot. Az 1. ábra azt mutatja, hogy az egyes körök használt megfelelő 48-bites részleges Ki kulcs. Keys Ki kapunk egy speciális algoritmus segítségével bitek mindegyike az eredeti kulcs többször is. Minden fordulóban a 56 bites kulcsot két részre van osztva 28-bit felét. Ezután a fele tolódnak balra egy vagy két bit, attól függően, hogy a kerek szám. Miután nyírási 48 van kiválasztva egy bizonyos módon a 56 bit. Mivel ebben az esetben nem csak a kiválasztott részét bit, de megváltoztatja a sorrendben, akkor ez az úgynevezett „permutáció tömörítés”. Ennek eredménye egy sor 48 bit. Átlagosan minden bit az eredeti 56 bites kulcsot használnak 14 16 alkulcsait, bár nem minden bitet használunk azonos számú alkalommal.

Ezután a fő konverzió ciklust hajt végre. A terméket egy kezdeti permutációs IP 64-bites blokk (T) részt vesz a konverzió ciklusok 16 Feistel. Minden fordulóban (2. ábra) úgy kapjuk meg, egy közbenső 64-bites érték, amelyeket aztán feldolgozunk, a következő körben.

2. ábra felépítése egy forduló DES

A bal és jobb oldali ágai az egyes közbenső értékek kezelik külön 32 bites érték. IP (T i-1) van osztva két részre, L i-1. R i-1. ahol:

Kezdetben bővül a jobb oldalon a blokk R i-1 és 48 bit a kiterjesztés funkciót E. E (R i-1) alkalmazásával egy táblázat, amely meghatározza a permutációs, plusz egy kiterjesztése 16 bit. Ez a művelet eredménye a jobb fele a méret megfelel a méret a kulcsot. Továbbá, mivel a ez a művelet gyorsabban nő függését minden bit az eredmény az eredeti adat biteket és a kulcs (ez az úgynevezett „lavina hatás”). A lavina hatás még kifejezettebb, ha egy adott titkosítási algoritmus, annál jobb.

Végrehajtása után a permutációs a bővítés a kapott 48-bites érték végezzük a XOR művelet egy 48-bites alkulcs K i-1. A után kapott átrendeződés E egység (R i-1) modulo 2 összege k kulccsal i-1.

Ezután a kapott 48-bites érték bemenet a helyettesítési blokkot S (az angol Helyettesítés -. A helyettesítés), az eredmény az, amely egy 32-bites érték. A helyettesítés hajtódik végre egységekben nyolc helyettesítések vagy nyolc S-boxok (S-boxok).

E (R i-1) k i-1 = B1 B2 B3 B4 B5 B6 B7 B8

Ezen művelet során, 48 adatbiteket osztva nyolc 6-bites albiokkok, amelyek mindegyikét a helyettesítő táblázat helyébe négy bit. Helyettesítés használatával S-blokkok egy kritikus lépés a DES. Cserélje ki a tábla erre a műveletre, kifejezetten a szakemberek, hogy maximális biztonságot nyújt. Ennek eredményeként ebben a fázisban kapjuk nyolc 4-bites blokkokat (B1 „B2” B3 „B4” B5 „B6” B7 „B8”), amely ismét össze egyetlen 32 bites érték.

Ezután a kapott 32-bites érték feldolgozott permutációs P (az angol Permutáció -. Permutáció), amely független a kulcsot. A cél a permutáció maximális átrendezésével bit, hogy a következő körben titkosítják az összes bit valószínűleg kezeli a többi S-blokk.

Végül, a permutációs eredmény egyesítjük XOR műveletet a bal fele az eredeti 64-bites adatblokk.

R i = L i-1 f (R i-1. K i-1)

A bal fele L i egyenlő a jobb fele az előző vektor

Miután tizenhat kört titkosítás végrehajtott végső permutáció eredményt. Ez a permutáció inverz (fordított) a kezdeti permutáció.

Végrehajtása után minden lépést az említett adatok egység akkor tekinthető teljes mértékben titkosítja, és folytassa a következő eredeti üzenet titkosítás egységet.

1.2 dekódolás

Mint ismeretes, a kriptográfiai rendszer lehetővé teszi nem csak a titkosított, hanem megfejteni az üzenetet. Az ember azt várná, hogy a folyamat dekódolását DES nagymértékben zavaros. Azonban a fejlesztők már felvette a különböző komponensei a szabványt használja ugyanazt az algoritmust a titkosítás és dekódolás. Amikor megfejtése alkalmazott algoritmus a bemeneti rejtjelezett. Az egyetlen különbség a fordított sorrendben a részleges Ki kulcsot. K16 használunk az első fordulóban, K1 - az utolsó fordulóban.

Miután az utolsó fordulóban a dekódolási folyamat, a két fél a kimeneti megfordulnak, hogy a bemeneti a végső átszervezés tették ki R16 és L16. A kimenő e szakasz egy sima szöveget.

2 Két DES és a támadás „találkozót a középső”

Jelenleg a fő hátránya tekinthető kis DES kulcs hossza. A legegyszerűbb módja bonyolulttá teszik az eljárást a használata rejtjelelemzés dupla titkosítás ugyanazt az algoritmust különböző kulcsot. Ha M - üzenet K1. K2 - a kulcsot, f - DES titkosítási folyamat és E - titkosított üzenetet, akkor tudjuk írni

azaz az első blokk van titkosítva egy gombot, majd az így kapott titkosított szöveg titkosított második kulcsot. Dekódolás végezzük fordított sorrendben (f -1 - dekódolását DES):

Ebben az esetben, a kulcs hossza 56 * 2 = 112 bites, így észlelni kettős kulcsot, amely kódolt blokk, általában szükség 2 112 kísérletet.

Vizsgálva ezt a problémát, az amerikai tudósok Merkle és Hellman kidolgozott egy módszert a nyílt szövegű támadás, amely nem igényel 2112 kísérletet, és 2 57 (Merkle és Hellman kínált ez a rendszer ellen DES, de lehetséges, hogy általánosítani minden blokk algoritmusok.)

Ez a támadás változata az úgynevezett támadás „találkozó a közepén.” Ez alapján a következő tulajdonság az algoritmus. van

ahol M - az üzenet K1. K2 - a kulcsot, f - titkosítási eljárás DES és E - titkosított üzenetet.

A támadás a következő. Ez megköveteli, hogy a támadó tudta néhány pár „sima - megfelelő rejtjelezett” (M, E). Ebben az esetben az első titkosított M összes lehetséges értékét 2 56 K1. Ezt az eredményt a számítógép memóriájában. A tárolt adatok által megrendelt értéke H. A következő lépés abból áll, visszafejtéséhez E, az összes lehetséges 2 56 értékeket K2. Minden befejezett dekódolás keresett azonos értéket az első asztalnál. Ha ezt az értéket talált, úgy véljük, hogy ezek a kulcsok helyes lehet, és ők ellenőrzik a következő jól ismert pár „sima szöveg, titkosított szöveg”. A kísérletek maximális számát, titkosítására, amely lehet, hogy vegye, egyenlő 2 * 2 n. vagy 2; n + 1 (ahol n - hossza a kulcs minden a szakaszában a titkosítás, DES n értéke 56).

A név „találkozót a middle” támadás kap az az oka, hogy egyrészt titkosított, a másik - dekódolás, és a közepén a kapott eredményeket összehasonlítjuk.

A támadás „a közepén egy találkozó” szükség van egy nagy memória kapacitás: 2 n blokkok (ahol n - a kulcs hossza). DES, amely egy 56 bites kulcsot lesz szükség 2 56 64-bites memória blokkok. Ez 2 62 bájt, illetve február 22 TB. Egy ilyen memória elég nehéz még elképzelni, sőt elvégzésére kereshetünk egy hatalmas tömb lesz szükség a megfelelő időben. Ennek ellenére a kétszeres DES titkosítás szinte soha nem használt.

A háromszoros DES 3

Annak érdekében, hogy ellensúlyozni támadás „találkozó a közepén” javasolták használni hármas titkosítási két kulcsot (3. ábra).

3. ábra háromszoros DES két kulccsal

Ebben az esetben, a kódoló-dekódoló-titkosítás (EDE - angol titkosítása -. Dekódolása -Encrypt). Ez a folyamat lehet jelképesen az alábbiak szerint:

A küldő első kódolja az üzenetet az első gombot, majd dekódolja a második, és végre, végre titkosítja az első. A címzett először dekódolja az első gombot, majd kódolja és dekódolja a második év első. Ha ez a kulcs hossza megduplázódik és eléri a 112 bit.

Ennek megbízhatóbb alternatíva az, hogy hármas titkosítási eljárás, amely három különböző kulcsok - minden szakaszában az övé. A teljes hossza a legfontosabb ebben az eljárásban megnövelt (112 + 56 = 168), de néhány száz bit tárolás általában nem jelent problémát.

Triple DES egy nagyon népszerű alternatívája DES és használják a kulcs kezelésére ANSI X9.17 szabványok és az ISO 8732. Néhány cryptanalysts hez még megbízhatóbb titkosítás DES használni ötször három vagy öt kulcsot.

4 Rijndael algoritmus

Ellentétben a titkosító javasolt DES és GOST 28147-89 alapján Rijndaei nem hazudik Feistel hálózatot. Az alapot Rijndaei úgynevezett lineáris permutáció transzformációk. Egy adatblokk használatával kerül feldolgozásra, a Rijndael oszlik byte tömbök és az egyes titkosítási művelet egy byte-orientált. Minden forduló három, jól elkülöníthető invertálható transzformációk nevezett rétegeket. Ezek a rétegek a következők.

1. A nemlineáris réteg. Ez a réteg végezzük csere bájt. Réteg alkalmazásával hajtják végre, amelynek optimális nemlinearitás S-blokkokat, és megakadályozza, hogy a használata a differenciál, és más modern lineáris kriptanalízis technikák.

2. Lineáris bekeverési réteg biztosítja a magas fokú összefonódása a blokk szimbólumok elfedésére statisztikai összefüggések. Ezen réteg egy négyszögletes tömb bájtok végezzük, és elmozdulás permutációját sorok a tömb oszlopok.

3. réteg modulo 2 összeadást alkulcs közvetlenül végzi a titkosítást.

Rejtjel kezdődik és végződik a kulcs hozzáadásával. Ez lehetővé teszi, hogy lezárja a bejáratnál az első fordulóban, ha támad az ismert szöveget, és titkosított fontos eredménye az utolsó fordulóban.

Az algoritmus széles körben használt táblázatkezelő számítások, az összes szükséges táblák vannak megadva állandóság, azaz nem függnek a kulcsot, vagy az adatokat.

Meg kell jegyezni, hogy ellentétben a titkosítás, épült egy Feistel hálózaton Rijndaei titkosítás és dekódolás funkciók különböznek egymástól.

Rijndael algoritmus jól teljesített mind a szoftver és hardver. Rijndaei egy kis memória igénye, így alkalmas rendszerek korlátozott erőforrásokkal. Megbízhatóság Rijndael titkosítási algoritmus igen nagyra értékelik a szakértők.

Végezetül azt szeretném mondani, hogy a DES már elavult, azt is fel lehet használni, még a kis és közepes méretű alkalmazásokhoz titkosítja az adatokat, hogy a csekély értékű.

Alapvető paraméterek DES: egy blokk mérete 64 bit, a kulcs hossza 56 bit, a fordulók száma - 16.

Jelenleg a legfontosabb hossza 56 bit tartják algoritmus nem repedezik.

Mivel DES - amerikai szövetségi szabvány, ez általában nem használják a szoftvert kivitelre szánt termékek; és ha használjuk, a kulcs hossza nem haladhatja meg a 56 bit.

AES - alternatívát DES. Eddig nem látott megsértését ennek az algoritmusnak. Ezt alkalmazzák a WI-FI.

Characterized AES blokk mérete 128 bit, a kulcs hossza 128, 192 vagy 256 bit, és a szám a körök 10, 12 vagy 14 attól függően, hogy a kulcs hossza.

Listája használt források