itthon / Internet / Mekkora a titkosítási kulcs hossza. kriptográfiai kulcsok. Tekintsük ezt a folyamatot példaként valós kulcsok használatával.

Mekkora a titkosítási kulcs hossza. kriptográfiai kulcsok. Tekintsük ezt a folyamatot példaként valós kulcsok használatával.

Sok modern nyilvános kulcsú titkosítási algoritmus egy olyan szám egyirányú faktorizációs függvényén alapul, amely két nagy prímszám szorzata. Ezeket az algoritmusokat a titkos kulcsú titkosítók ellen alkalmazott brute-force támadáshoz hasonló támadásnak is ki lehet vetni, azzal az egyetlen különbséggel, hogy nem kell minden kulcsot kipróbálni, csak nagy számot kell tudni figyelembe venni. .

Természetesen nagy számot beszámítani a tényezőkbe nehéz feladat. Azonnal felmerül azonban egy ésszerű kérdés, mennyire nehéz. Sajnos a kriptográfusok számára a megoldás nehézsége egyre csökken. És ami még rosszabb, ez a nehézség a korábban vártnál sokkal gyorsabban csökken. Például az 1970-es évek közepén azt hitték, hogy több tíz kvadrillió évbe telne egy 125 számjegy faktorszáma. És alig két évtizeddel később, az internethez csatlakoztatott számítógépek segítségével 129 számjegyet is ki lehetett számítani. Ezt az áttörést az tette lehetővé, hogy az elmúlt 20 évben nemcsak új, gyorsabb faktorizációs módszereket javasoltak. nagy számok, hanem növelte a használt számítógépek teljesítményét is.

Ezért egy képzett kriptográfusnak nagyon körültekintően és körültekintően kell eljárnia, amikor a nyilvános kulcs hosszáról van szó. Figyelembe kell venni, hogy a segítségével minősített információ mennyire értékes, és meddig maradjon titokban a kívülállók előtt.

És miért nem szabad 10 000 bites kulcsot venni? Hiszen akkor eltűnik minden olyan kérdés, amely egy nyilvános kulccsal rendelkező aszimmetrikus titkosítási algoritmus stabilitására vonatkozik, amely nagy szám faktorokra bontásán alapul. A tény azonban az, hogy a titkosítás kellő erősségének biztosítása nem az egyetlen gondja a kriptográfusnak. Vannak további megfontolások, amelyek befolyásolják a kulcshossz megválasztását, és ezek között vannak a titkosítási algoritmus gyakorlati megvalósíthatóságával kapcsolatos kérdések a választott kulcshosszra vonatkozóan.

A nyilvános kulcs hosszának becsléséhez megmérjük a kriptoanalitikus rendelkezésére álló számítási teljesítményt úgynevezett pug-években, vagyis azt, hogy hány műveletet hajt végre egy másodpercenként 1 millió műveletre képes számítógép. egy évben. Tegyük fel, hogy egy hacker hozzáfér számítógépes erőforrások teljes számítási teljesítménye 10.000 mopszév, egy nagyvállalat - 107 mopszév, egy kormány - 109 mopszév. Ezek egészen reális számok, ha figyelembe vesszük, hogy a fent említett 129 számjegyű dekompozíciós projekt az Internet számítási teljesítményének mindössze 0,03%-át használta fel, és ennek eléréséhez nem kellett semmi rendkívüli intézkedést tenni, vagy túllépni a törvényen.

Tételezzük fel azt is, hogy a számítási teljesítmény 5 évente 10-szeresére nő, és a nagy számok faktorizálására használt módszer lehetővé teszi, hogy ezt az 1. táblázatban jelzett összetettséggel végezzük. 6.3.

6.3. táblázat. A nagy számok faktorálásának bonyolultsága

A megfogalmazott feltételezések lehetővé teszik egy erős nyilvános kulcs hosszának becslését attól függően, hogy mennyi ideig szükséges titokban tartani a vele titkosított adatokat (6.4. táblázat). Emlékeztetni kell arra, hogy a nyilvános kulcsú kriptográfiai algoritmusokat gyakran használják nagyon értékes információk nagyon hosszú ideig tartó védelmére. Például elektronikus fizetési rendszerekben vagy közjegyzői hitelesítéssel Elektronikus aláírás. Az az ötlet, hogy több hónapot kell eltöltenünk nagy számok figyelembevételével, nagyon vonzónak tűnhet valakinek, ha végül az Ön hitelkártyájával tudja fizetni a vásárlásait. Ezenkívül nem hiszem, hogy örülne annak, ha 20 év múlva a hagyatéki bíróság elé hívnák, és megvédené a nagyapja elektronikus aláírásának meghamisításának lehetőségét, aki az Ön javára tett végrendeletet.

táblázatban megadottal. 6.4 nem minden jó hírű kriptográfus ért egyet az adatokkal. Egyesek határozottan megtagadják a hosszú távú előrejelzések készítését, hiábavaló vállalkozásnak tartják. Mások, például az NSA szakemberei túlságosan optimisták, mindössze 512-1024 bites nyilvános kulcsot javasolnak a digitális aláírási rendszerek számára, ami a táblázat adatai alapján. A 6.4. pont teljesen elégtelen a megfelelő hosszú távú védelem biztosításához.

Sok modern nyilvános kulcsú titkosítási algoritmus egy olyan szám egyirányú faktorizációs függvényén alapul, amely két nagy prímszám szorzata. Ezeket az algoritmusokat a titkos kulcsú titkosítók ellen alkalmazott brute-force támadáshoz hasonló támadásnak is ki lehet vetni, azzal az egyetlen különbséggel, hogy nem kell minden kulcsot kipróbálni, csak nagy számot kell tudni figyelembe venni. .

Természetesen nagy számot beszámítani a tényezőkbe nehéz feladat. Azonnal felmerül azonban egy ésszerű kérdés, mennyire nehéz. Sajnos a kriptográfusok számára a megoldás nehézsége egyre csökken. És ami még rosszabb, ez a nehézség a korábban vártnál sokkal gyorsabban csökken. Például az 1970-es évek közepén azt hitték, hogy több tíz kvadrillió évbe telne egy 125 számjegy faktorszáma. És alig két évtizeddel később, az internethez csatlakoztatott számítógépek segítségével 129 számjegyet is ki lehetett számítani. Ez az áttörés annak köszönhető, hogy az elmúlt 20 évben nemcsak új, gyorsabb módszereket javasoltak nagy számok faktorálására, hanem a használt számítógépek termelékenysége is nőtt.

Ezért egy képzett kriptográfusnak nagyon körültekintően és körültekintően kell eljárnia, amikor a nyilvános kulcs hosszáról van szó. Figyelembe kell venni, hogy a segítségével minősített információ mennyire értékes, és meddig maradjon titokban a kívülállók előtt.

És miért nem szabad 10 000 bites kulcsot venni? Hiszen akkor eltűnik minden olyan kérdés, amely egy nyilvános kulccsal rendelkező aszimmetrikus titkosítási algoritmus stabilitására vonatkozik, amely nagy szám faktorokra bontásán alapul. A tény azonban az, hogy a titkosítás kellő erősségének biztosítása nem az egyetlen gondja a kriptográfusnak. Vannak további megfontolások, amelyek befolyásolják a kulcshossz megválasztását, és ezek között vannak a titkosítási algoritmus gyakorlati megvalósíthatóságával kapcsolatos kérdések a választott kulcshosszra vonatkozóan.

A nyilvános kulcs hosszának becsléséhez megmérjük a kriptoanalitikus rendelkezésére álló számítási teljesítményt az ún. mopsz-yo, azaz hány műveletet hajt végre egy év alatt egy másodpercenként 1 millió műveleti sebességre képes számítógép. Tegyük fel, hogy egy hacker 10 000 mopszév teljes számítási teljesítménnyel fér hozzá számítógépes erőforrásokhoz, egy nagyvállalat - 10 7 mopszév, a kormány - 10 7 mopszév. Ezek egészen reális számok, tekintve, hogy a fent említett 129 számjegyű dekompozíciós projekt az internet számítási teljesítményének mindössze 0,03%-át használta fel, és ennek eléréséhez nem kellett rendkívüli intézkedést tenni, vagy túllépni a törvényi előírásokon.

Tételezzük fel azt is, hogy a számítási teljesítmény 5 évente 10-szeresére nő, és a nagy számok faktorizálására használt módszer lehetővé teszi, hogy ezt az 1. táblázatban jelzett összetettséggel végezzük. 6.3.

6.3. táblázat. A nagy számok faktorálásának bonyolultsága.

A megfogalmazott feltételezések lehetővé teszik egy erős nyilvános kulcs hosszának becslését attól függően, hogy mennyi ideig szükséges titokban tartani a vele titkosított adatokat (6.4. táblázat). Emlékeztetni kell arra, hogy a nyilvános kulcsú kriptográfiai algoritmusokat gyakran használják nagyon értékes információk nagyon hosszú ideig tartó védelmére. Például elektronikus fizetési rendszerekben vagy elektronikus aláírás közjegyzői hitelesítésekor. Az az ötlet, hogy több hónapot kell eltöltenünk nagy számok figyelembevételével, nagyon vonzónak tűnhet valakinek, ha végül az Ön hitelkártyájával tudja fizetni a vásárlásait. Ezenkívül nem hiszem, hogy örülne annak, ha 20 év múlva a hagyatéki bíróság elé hívnák, és megvédené a nagyapja elektronikus aláírásának meghamisításának lehetőségét, aki az Ön javára tett végrendeletet.

Év Hacker nagyvállalat Kormány
2000 1024 1280 1536
2005 1280 1536 2048
2010 1280 1536 2048
2015 1536 2048 2048

táblázatban megadottal. 6.4 nem minden jó hírű kriptográfus ért egyet az adatokkal. Egyesek határozottan megtagadják a hosszú távú előrejelzések készítését, hiábavaló vállalkozásnak tartják. Mások, például az NSA szakemberei túlságosan optimisták, mindössze 512-1024 bites nyilvános kulcsot javasolnak a digitális aláírási rendszerek számára, ami a táblázat adatai alapján. A 6.4. pont teljesen elégtelen a megfelelő hosszú távú védelem biztosításához.

Az SSL-tanúsítványok használatának fő célja a klienstől a szerverre, a szerverről a kliens felé továbbított adatok titkosítása. Az ilyen kapcsolat biztonságának biztosítása érdekében a modern böngészők az X.509 tanúsítványokon alapuló TLS algoritmust használják. Ez az algoritmus aszimmetrikus titkosítást használ a szimmetrikus titkosításhoz szükséges munkamenetkulcs létrehozásához. Ez utóbbi közvetlenül adatátvitelre szolgál a biztonságos kapcsolat létrehozása után.

Mi a kulcs a kriptográfiában?

A kriptográfia kulcsa olyan titkos információ, amelyet a kriptográfiában üzenetek titkosítására és dekódolására, digitális aláírására és ellenőrzésére, üzenethitelesítési kódok kiszámítására és így tovább használnak. Azt, hogy egy kulcs mennyire megbízható, az úgynevezett kulcshossz határozza meg, amelyet bitekben mérnek. Az SSL-tanúsítványok szabványos kulcshossza 128 vagy 256 bit. A gyökértanúsítvány-hatóság kulcshossza (gyökértanúsítvány) nem lehet kevesebb 4096 bitnél. Minden tanúsító hatóság, amellyel együttműködünk, olyan kulccsal látja el az SSL-tanúsítványokat, amelyek teljes mértékben megfelelnek a modern szabványoknak:

Nyilvános és privát kulcs aszimmetrikus titkosításban

Aszimmetrikus titkosítást használnak pár kulcsot: nyitott (nyilvános kulcs)És zárva, más néven titok (privát kulcs). A nyilvános és privát kulcs ebben az esetben lehetővé teszi a kriptográfiai algoritmus számára az üzenet titkosítását és visszafejtését. A nyilvános kulccsal titkosított üzeneteket csak a privát kulccsal lehet visszafejteni. A nyilvános kulcsot a tulajdonos tanúsítványában teszik közzé, és elérhető a csatlakozó kliens számára, míg a titkos kulcsot a tanúsítvány tulajdonosa tárolja. A nyilvános és a privát kulcsokat matematikai függőségek kapcsolják össze, így nem lehetséges rövid időn belül (a tanúsítvány érvényességi ideje) nyilvános vagy privát kulcsot felvenni. Éppen ezért a magasabb szintű védelem SSL-tanúsítványainak maximális érvényességi ideje mindig alacsonyabb. Tehát maximum 2 évre rendelhet. Ugyanakkor új SSL-tanúsítvány megrendelésekor vagy régi megújításakor fontos egy új CSR-kérelem generálása, mivel a privát kulcsa hozzá van kötve, és jobb, ha új SSL-tanúsítvány kiadásakor frissíti. . A kliens a következő módon kommunikál a szerverrel:
  1. a böngésző titkosítja a kérést a nyilvános kulcs alapján, és elküldi a szervernek;
  2. a szerver a privát kulcs segítségével visszafejti a kapott üzenetet;
  3. a szerver titkos kulccsal titkosítja digitális azonosítóját és továbbítja azt a kliensnek;
  4. a kliens ellenőrzi a szerver azonosítóját és elküldi a sajátját;
  5. kölcsönös hitelesítés után a kliens a nyilvános kulccsal titkosítja a jövőbeni munkamenet kulcsát és továbbítja a szervernek;
  6. a kliens és a kiszolgáló között elküldött összes további üzenet a munkamenet kulccsal aláírva, valamint nyilvános és privát kulccsal titkosítva van.
Ez több biztonsági pontot biztosít:
  • az információszivárgás lehetősége kizárt - lehallgatáskor nem lehet visszafejteni;
  • a szerver megerősíti címét és azonosítóját, a másik oldalra való átirányítás lehetősége megszűnik (adathalászat);
  • az ügyfélhez egyedi munkamenetet rendelnek, ami lehetővé teszi, hogy megbízhatóbban megkülönböztesse a többi klienstől;
  • a biztonságos munkamenet létrehozása után az összes üzenetet az ügyfél identitása alapján titkosítjuk, és nem lehet észrevétlenül elfogni vagy módosítani.

A nyilvános és privát kulccsal történő titkosítás általános esetben olyan esetnek tekinthető, amikor két kulcsot használnak: az egyik csak zárható, a másik nyitható. Ha a tok az első kulccsal zárva volt, csak a második nyithatja ki, ha a második kulccsal zárták, akkor az elsőnek kell kinyitnia. Ezt jól láthatja a fenti ábrán.

A kriptográfiai kulcsokat titkos információként használják.

A kriptográfiai kulcs bizonyos szabályok szerint generált karaktersorozat. Ezt a szekvenciát a szövegek kriptográfiai átalakításakor használják. Minden kriptográfiai algoritmusnak megvannak a maga követelményei, amelyek szerint a kulcsok létrejönnek. Minden kulcs egy adott algoritmushoz jön létre.

Az elektronikus aláírás reprodukálhatatlanságának és a titkosított szövegek illetéktelenek általi olvasásának megakadályozása érdekében a titkosítás során kriptográfiai kulcsokat használnak.

A modern kriptográfiai kulcs egy bizonyos hosszúságú számsorozat, amelyet bizonyos szabályok szerint hoznak létre véletlen számok sorozata alapján. Minden egyes kulcshoz egy véletlen számsorozatot hoz létre újra, egyetlen sorozatot sem használnak többször. Véletlenszám-sorozatok generálásához speciális szoftverobjektumokat vagy véletlenszám-generátoroknak nevezett eszközöket használnak.

Minden algoritmusnak megvannak a saját kulcskövetelményei, így bármely kriptográfiai kulcs egy adott algoritmushoz jön létre, és csak azzal az algoritmussal használható.

Ha az elektronikus aláírás generálása és ellenőrzése, vagy a szöveg titkosítása és visszafejtése ugyanazzal a kulccsal történik, ezt a megközelítést ún. szimmetrikus kriptográfia(ill. szimmetrikus algoritmusok és szimmetrikus kulcsok). A szimmetrikus kriptográfiai műveletek gyorsak és viszonylag egyszerűek. De legalább két embernek szüksége van a kulcs ismeretére, ami nagymértékben növeli a kompromittálás kockázatát (azaz, hogy illetéktelen személyek hozzáférjenek).

Ezért ma már főként használják aszimmetrikus kriptográfia. Az aszimmetrikus kriptográfiában az elektronikus aláírás generálása vagy titkosítása egy kulcson, az aláírás ellenőrzése vagy visszafejtése pedig egy másik, párosított kulcson történik.



Az aszimmetrikus kriptográfiában úgynevezett kulcspárokat használnak. Minden ilyen pár két egymáshoz kapcsolódó kulcsból áll. Ezen kulcsok egyike egy privát kulcs. Ezt csak a kulcs tulajdonosa ismeri, és semmilyen körülmények között ne legyen elérhető más számára. A másik kulcs nyilvános (nyilvános kulcs), ez elérhető

mindenkinek, aki akarja.

Hitelesítési módszerek

Hitelesítés - bizonyos hozzáférési jogok kiadása az előfizető számára a nála lévő azonosító alapján. Az IEEE 802.11 két hitelesítési módot biztosít:

1. Nyissa meg a hitelesítést nyílt hitelesítés):

A munkaállomás hitelesítési kérelmet küld, amely csak az ügyfél MAC-címét tartalmazza. A hozzáférési pont elutasítással vagy hitelesítési megerősítéssel válaszol. A döntés MAC szűrés alapján történik, azaz. valójában ez a hozzáférés korlátozásán alapuló védelem, ami nem biztonságos.

2. Megosztott kulcsú hitelesítés Megosztott kulcsú hitelesítés):

Be kell állítania egy statikus WEP titkosítási kulcsot. Vezetékes egyenértékű adatvédelem). A kliens hitelesítési kérelmet küld a hozzáférési pontnak, amelyre 128 bájtot tartalmazó visszaigazolást kap. véletlenszerű információk. Az állomás a fogadott adatokat WEP algoritmussal titkosítja (az üzenet adatok bitenkénti modulo 2 összeadása a kulcsszekvenciával), és elküldi a titkosított szöveget a társítási kéréssel együtt. A hozzáférési pont visszafejti a szöveget, és összehasonlítja az eredeti adatokkal. Ha van egyezés, a rendszer egy társítási nyugtát küld, és a klienst a hálózathoz csatlakoztatottnak tekinti.
A megosztott kulcsú hitelesítési séma sebezhető a „Man in the middle” támadásokkal szemben. A WEP-titkosítási algoritmus egy egyszerű XOR-je egy kulcssorozatnak hasznos információ, ezért az állomás és a hozzáférési pont közötti forgalom figyelésével visszaállíthatja a kulcs egy részét.
Az IEEE megkezdte egy új IEEE 802.11i szabvány fejlesztését, de a jóváhagyási nehézségek miatt a WECA (eng. WiFi Alliance) az IEEE-vel együtt bejelentette a WPA szabványt (Eng. WiFi védett hozzáférés). A WPA TKIP-t használ. Temporal Key Integrity Protocol, Key Integrity Protocol), amely fejlett kulcskezelési módszert és kockánkénti kulcscserét használ.

A WPA két hitelesítési módszert is használ:

1. Hitelesítés előre megosztott WPA-PSK kulccsal (eng. előre megosztott kulcs) (Vállalati hitelesítés);

2. Hitelesítés RADIUS szerverrel Távoli hozzáférés betárcsázós felhasználói szolgáltatás)

Titkosítási típusok

Titkosítás- konverziós módszer nyílt információ zárva és vissza. Tárolásra használt fontos információ megbízhatatlan forrásokban, vagy nem biztonságos kommunikációs csatornákon történő továbbítása. A titkosítás titkosítási és visszafejtési folyamatra oszlik.

Az adatkonverziós algoritmustól függően a titkosítási módszereket garantált vagy ideiglenes kriptográfiai erősségre osztják.

A használt kulcsok szerkezetétől függően a titkosítási módszereket felosztják

§ szimmetrikus titkosítás: illetéktelenek ismerhetik a titkosítási algoritmust, de a titkos információ egy kis része ismeretlen – ez a kulcs azonos az üzenet küldőjének és címzettjének;

§ aszimmetrikus titkosítás: harmadik felek ismerhetik a titkosítási algoritmust, és esetleg a nyilvános kulcsot, de nem a csak a címzett által ismert privát kulcsot.

A következő kriptográfiai primitívek léteznek:

§ Kulcs nélküli

1. Hash függvények

2. Egyoldalú permutációk

3. Álvéletlen számgenerátorok

§ Szimmetrikus sémák

1. Rejtjelek (blokk, adatfolyam)

2. Hash függvények

4. Álvéletlen számgenerátorok

5. Azonosító primitívek

§ Aszimmetrikus sémák

3. Azonosító primitívek

Lemeztitkosítás
Zserver rendszer - védelmi eszközök bizalmas információ vállalati szervereken tárolják és dolgozzák fel a lemezen lévő adatok titkosításával. A Zserver az "átlátszó" partíciótitkosítás elvén működik merevlemezek. A rendszer online módban automatikusan titkosítja az információkat, amikor lemezre ír, és visszafejti, amikor arról olvas. Ez biztosítja, hogy az adatok titkosított formában tárolódnak a lemezen, és nem használhatók fel titkosítási kulcs nélkül, még akkor sem, ha a szervert vagy az adathordozót eltávolítják. A Zserver rendszer titkosítja a lemezen lévő fájlokat és mappákat, valamint minden szolgáltatási információt - fájlkiosztási táblákat stb. Így a Zserver rendszer nemcsak megbízhatóan védi a bizalmas adatokat, hanem elrejti jelenlétük tényét is a kívülállók elől. A biztonságos lemezeken lévő információkat titkosított formában tárolják, és csak akkor válnak elérhetővé, ha a hálózati rendszergazda megadja a felhasználónak a megfelelő engedélyeket. A védett lemezekhez való hozzáférési jogokat az operációs rendszer határozza meg. A lemezen lévő fájlok és mappák titkosítását a szoftver-illesztőprogram végzi. A lemezen lévő adattitkosítási kulcsok akkor kerülnek megadásra, amikor a kiszolgálót PIN-kóddal védett intelligens kártyáról indítják. A PIN kód ismerete nélkül nem használhatja az intelligens kártyát. Ha háromszor megpróbálja beírni helytelenül a PIN-kódot, az blokkolja a kártyát. Intelligens kártya csak biztonságos adathordozó csatlakoztatásakor szükséges, működés közben nem szükséges. Ha intelligens kártya nélkül indítja újra a szervert, a védett meghajtók nem lesznek elérhetők. A Zserver rendszer lehetővé teszi a titkosítási kulcsok távoli bevitelét és a rendszer adminisztrálását bármely munkaállomásról helyi hálózat, vagy az interneten keresztül. Jelenleg olyan Zserver rendszereket fejlesztettek ki, amelyek a következők irányítása alatt működnek operációs rendszer: Windows 2000/XP/2003/2008 (32 és 64 bites); Linux 2.6.x rendszermaggal.

Az adatokat ebben az esetben üzenetnek tekintjük, jelentésük védelme érdekében felhasználjuk klasszikus titkosítási technika.

A kriptográfia három összetevőből áll: adatokból, kulcsból és kriptográfiai átalakításból. Titkosításkor a kezdeti adat lesz az üzenet, a kapott adat pedig a titkosítás. A visszafejtéskor helyet cserélnek. Úgy gondolják, hogy a kriptográfiai átalakítást mindenki ismeri, de anélkül, hogy ismernénk azt a kulcsot, amellyel a felhasználó lezárta az üzenet jelentését a kíváncsi szemek elől, elképzelhetetlenül sok erőfeszítést igényel az üzenet szövegének visszaállítása. (Ismét le kell szögeznünk, hogy nincs olyan titkosítás, amely abszolút ellenáll a nyitásnak. A titkosítás minőségét csak az határozza meg, hogy 10 dollártól 1 000 000 dollárig mennyi pénzt kell fizetni a felnyitáshoz.) Ezt a követelményt a számos modern kriptográfiai rendszer, például a "National Data Encryption Standard US Bureau of Standards" DES és a GOST 28147-89 szerint. Mivel az adatsorok kritikusak bizonyos, a kontextusból nem észlelhető torzulásukhoz, általában csak olyan titkosítási módszereket alkalmaznak, amelyek érzékenyek bármely karakter torzítására. Nemcsak a magas titkosságot garantálják, hanem az esetleges torzulások vagy hibák hatékony észlelését is.

Algoritmus opciók

Számos (legalább két tucat) szimmetrikus rejtjelező algoritmus létezik, amelyek alapvető paraméterei:

§ tartóssága

§ kulcs hossza

§ fordulók száma

§ a feldolgozott blokk hossza

§ a hardver/szoftver megvalósítás összetettsége

§ az átalakítás összetettsége

[Közös algoritmusok

§ AES Fejlett titkosítási szabvány) - Amerikai titkosítási szabvány

§ GOST 28147-89 - hazai adattitkosítási szabvány

§ DES Adattitkosítási szabvány) - Amerikai adattitkosítási szabvány AES-ig

§ 3DES (Triple-DES, tripla DES)

§ RC6 (Rivest Cipher)

§ ÖTLET Nemzetközi adattitkosítási algoritmus)

§ SEED – Koreai adattitkosítási szabvány

nyilvános kulcsot, megjegyezte, hogy ez a követelmény megtagadja a kriptográfia teljes lényegét, nevezetesen az univerzális titkosság fenntartásának képességét a kommunikációban.

A második feladat olyan mechanizmusok létrehozásának szükségessége, amelyek segítségével lehetetlen lenne bármelyik résztvevőt helyettesíteni, pl. szükség digitális aláírás . A kommunikáció széles körének – például kereskedelmi és magáncélú – felhasználása esetén az elektronikus üzeneteknek és dokumentumoknak a papíralapú dokumentumok aláírásával egyenértékűnek kell lenniük. Létre kell hozni egy olyan módszert, amellyel minden résztvevő meg lesz győződve arról, hogy az e-mailt egy adott résztvevő küldte. Ez erősebb követelmény, mint a hitelesítés.

Diffie és Hellman jelentős eredményeket ért el azáltal, hogy mindkét probléma megoldására olyan módszert javasolt, amely gyökeresen különbözik az összes korábbi titkosítási megközelítéstől.

Nézzük először a közös jellemzőket. titkosítási algoritmusok nyilvános kulccsal és ezekre az algoritmusokra vonatkozó követelményekkel. Határozzuk meg, milyen követelményeknek kell megfelelnie egy olyan algoritmusnak, amely egy kulcsot használ a titkosításhoz és egy másik kulcsot a visszafejtéshez, és számításilag lehetetlen meghatározni a visszafejtési kulcsot, ha csak a titkosítási algoritmus és a titkosító kulcs ismeretes.

Ezenkívül néhány algoritmus, például az RSA, a következő jellemzőkkel rendelkezik: a két kulcs mindegyike használható titkosításra és visszafejtésre.

Először megvizsgáljuk azokat az algoritmusokat, amelyek mindkét tulajdonsággal rendelkeznek, majd áttérünk a nyilvános kulcsú algoritmusokra, amelyek nem rendelkeznek a második tulajdonsággal.

Leíráskor szimmetrikus titkosításés nyilvános kulcsú titkosítás, a következő terminológiát fogjuk használni. -ben használt kulcs szimmetrikus titkosítás, hívjuk titkos kulcs. A nyilvános kulcsú titkosításban használt két kulcsot hívják meg nyilvános kulcsÉs privát kulcs. A magánkulcsot titokban tartják, de titkos kulcs helyett titkos kulcsként fogjuk hivatkozni rá, hogy elkerüljük az összetéveszthetőséget az itt használt kulccsal. szimmetrikus titkosítás. A privát kulcs KR, a nyilvános kulcs KU lesz.

Feltételezzük, hogy minden résztvevő hozzáfér egymás nyilvános kulcsaihoz, és a privát kulcsokat minden résztvevő helyileg hozza létre, ezért azokat nem szabad terjeszteni.

A résztvevő bármikor megváltoztathatja privát kulcsát, és közzéteheti a párt alkotó nyilvános kulcsát, lecserélve ezzel a régi nyilvános kulcsot.

Diffie és Hellman leírja azokat a követelményeket, amelyek titkosítási algoritmus nyilvános kulccsal.

  1. Számításilag egyszerű egy pár létrehozása (KU nyilvános kulcs, KR privát kulcs).
  2. Számításilag egyszerű a nyilvános kulcs és a titkosítatlan M üzenet alapján a megfelelő titkosított üzenetet létrehozni:
  3. Számításilag egyszerű az üzenet visszafejtése a privát kulccsal:

    M = D KR [C] = D KR ]

  4. Számításilag lehetetlen a KU nyilvános kulcs ismeretében meghatározni a KR privát kulcsot.
  5. Számításilag lehetetlen a KU nyilvános kulcs és a titkosított C üzenet ismeretében visszaállítani az eredeti M üzenetet.

    Egy hatodik követelmény is hozzáadható, bár ez nem érvényes minden nyilvános kulcsú algoritmusra:

  6. A titkosítási és visszafejtési funkciók bármilyen sorrendben alkalmazhatók:

    M = E ku]

Ezek elég erős követelmények, amelyek bevezetik a fogalmat. Egyirányú funkció olyan függvényt hívunk, amelyben minden argumentum egyedi inverz értékkel rendelkezik, miközben magát a függvényt könnyű kiszámítani, de az inverz függvényt nehéz.

Általában az "egyszerű" azt jelenti, hogy a probléma a bemenet hosszának polinomiális idejében megoldható. Így ha a bemenet hossza n bit, akkor a függvény számítási ideje arányos n a -val, ahol a fix állandó. Így az algoritmusról azt mondjuk, hogy a P polinomiális algoritmusok osztályába tartozik. A „kemény” kifejezés bonyolultabb fogalmat jelent. Általános esetben azt feltételezzük, hogy a probléma nem oldható meg, ha a megoldására irányuló erőfeszítés nagyobb, mint a bemeneti érték polinomiális ideje. Például, ha a bemenet hossza n bit, és a függvény kiértékelési ideje 2 n -nel arányos, akkor ez számításilag lehetetlen feladatnak minősül. Sajnos nehéz meghatározni, hogy egy adott algoritmus ilyen bonyolult-e. Ezenkívül a számítási komplexitás hagyományos fogalmai az algoritmusok legrosszabb esetére vagy átlagos esetére összpontosítanak. Ez elfogadhatatlan a kriptográfiánál, ahol megkövetelik, hogy a függvényt ne lehessen megfordítani a bemenetek összes vagy csaknem összes értékére.

Vissza a definícióhoz egyoldalú funkció napfénytetővel, ami, mint egyirányú funkció, könnyen kiszámítható egy irányba, és nehéz kiszámítani az ellenkező irányba, amíg néhány további információ. Ezzel a kiegészítő információval az inverzió polinomiális időben számítható ki. És így, egyirányú funkció családi tulajdonú napfénytetővel egyirányú funkciók f k olyan, hogy

Látjuk, hogy egy adott nyilvános kulcsú algoritmus kidolgozása a megfelelő felfedezésétől függ egyoldalú funkció napfénytetővel.

Nyilvános kulcsú algoritmusok kriptoanalízise

Mint az esetben szimmetrikus titkosítás, titkosítási algoritmus nyilvános kulccsal sebezhető a frontális támadásokkal szemben. Az ellenintézkedés szabványos: használjon nagy billentyűket.

A nyilvános kulcsú kriptorendszerek bizonyos nem invertálható kódokat használnak matematikai függvények . Az ilyen függvények kiszámításának bonyolultsága nem lineáris a kulcsbitek számában, hanem gyorsabban növekszik, mint a kulcs. Így a kulcs méretének elég nagynak kell lennie ahhoz, hogy a frontális támadást megvalósíthatatlanná tegye, és elég kicsinek ahhoz, hogy lehetővé tegye a praktikus titkosítást. A gyakorlatban a kulcsméretet úgy alakítják ki, hogy a brute force támadás nem kivitelezhető, de ennek eredményeként a titkosítási sebesség elég lassú ahhoz, hogy az algoritmus általános célokra használható legyen. Ezért a nyilvános kulcsú titkosítás jelenleg főként azokra a kulcskezelési és aláírási alkalmazásokra korlátozódik, amelyek egy kis adattömb titkosítását igénylik.

A támadás másik formája az, hogy megtalálják a módját a nyilvános kulcshoz tartozó privát kulcs kiszámításának. Ezt matematikailag lehetetlen bizonyítani adott formában támadás kizárt egy adott nyilvános kulcsú algoritmus esetében. Így minden algoritmus, beleértve a széles körben használt RSA-algoritmust is, gyanús.

Végül létezik a támadásnak egy olyan formája, amely a nyilvános kulcsú rendszerek használatára jellemző. Ez egy valószínű üzenet elleni támadás. Tegyük fel például, hogy az elküldött üzenet kizárólag egy 56 bites munkamenetkulcsból áll egy szimmetrikus titkosítási algoritmushoz. Az ellenfél titkosíthatja az összes lehetséges kulcsot a nyilvános kulccsal, és dekódolhat minden olyan üzenetet, amely megfelel a továbbított rejtjelezett szövegnek. Így a nyilvános kulcs séma kulcsméretétől függetlenül a támadás egy 56 bites támadásra redukálódik. szimmetrikus kulcs. Az ilyen támadások elleni védelem abból áll, hogy bizonyos számú véletlenszerű bitet adunk az egyszerű üzenetekhez.

A nyilvános kulcsú algoritmusok alapvető felhasználási területei

A nyilvános kulcsú algoritmusok fő felhasználási területei a titkosítás/dekódolás, az aláírás létrehozása és ellenőrzése, valamint a kulcscsere.

Titkosítás nyilvános kulccsal a következő lépésekből áll:


Rizs. 7.1.

  1. B felhasználó létrehoz egy KU b és KR b kulcspárt, amelyek a továbbított üzenetek titkosítására és visszafejtésére szolgálnak.
  2. B felhasználó valamilyen biztonságos módon teszi elérhetővé titkosítási kulcsát, pl. nyilvános kulcs KU b . A párosított KR b titkos kulcsot titokban tartják.
  3. Ha A üzenetet akar küldeni B-nek, titkosítja az üzenetet B KU b nyilvános kulcsával.
  4. Amikor B megkapja az üzenetet, dekódolja azt a KR b privát kulcsával. Senki más nem tudja visszafejteni az üzenetet, mivel csak B ismeri ezt a titkos kulcsot.

Ha a felhasználó (végrendszer) biztonságosan tárolja a privát kulcsát, senki sem kémkedhet a továbbított üzenetek után.

Az aláírás létrehozása és ellenőrzése a következő lépésekből áll:


Rizs. 7.2.
  1. Az A felhasználó létrehoz egy KR A és KU A kulcspárt, amelyek a továbbított üzenetek aláírásának létrehozására és ellenőrzésére szolgálnak.
  2. Az A felhasználó valamilyen biztonságos módon teszi elérhetővé ellenőrző kulcsát, pl.