Domov / internet / Aká je dĺžka šifrovacieho kľúča. kryptografické kľúče. Zoberme si tento proces pomocou skutočných kľúčov ako príklad.

Aká je dĺžka šifrovacieho kľúča. kryptografické kľúče. Zoberme si tento proces pomocou skutočných kľúčov ako príklad.

Mnoho moderných šifrovacích algoritmov s verejným kľúčom je založených na funkcii jednosmernej faktorizácie čísla, ktoré je súčinom dvoch veľkých prvočísel. Tieto algoritmy môžu byť tiež vystavené útoku podobnému útoku hrubou silou používanému proti šifrám tajných kľúčov, len s tým rozdielom, že nie je potrebné skúšať každý kľúč, stačí, ak dokážete vyfaktorovať veľké množstvo.

Zohľadnenie veľkého počtu faktorov je, samozrejme, náročná úloha. Okamžite sa však vynára rozumná otázka, aké ťažké. Bohužiaľ pre kryptografov sa náročnosť jeho riešenia znižuje. A aby toho nebolo málo, táto obtiažnosť klesá oveľa rýchlejším tempom, než sa pôvodne očakávalo. Napríklad v polovici 70. rokov 20. storočia sa verilo, že vyčíslenie počtu 125 číslic bude trvať desiatky kvadriliónov rokov. A len o dve desaťročia neskôr bolo pomocou počítačov pripojených na internet možné vypočítať počet 129 číslic. Tento prielom umožnila skutočnosť, že za posledných 20 rokov boli nielen navrhnuté nové, rýchlejšie metódy faktorizácie. veľké čísla, ale zvýšil sa aj výkon používaných počítačov.

Preto musí kvalifikovaný kryptograf postupovať veľmi opatrne a diskrétne, pokiaľ ide o dĺžku verejného kľúča. Je potrebné zvážiť, aké cenné sú informácie utajované s jeho pomocou a ako dlho by mali zostať utajené pre cudzincov.

A prečo, pýtame sa, nezobrať 10 000-bitový kľúč? Potom zmiznú všetky otázky týkajúce sa stability asymetrického šifrovacieho algoritmu s verejným kľúčom, založeného na rozklade veľkého množstva na faktory. Faktom však je, že zabezpečenie dostatočnej sily šifry nie je jedinou starosťou kryptografa. Existujú ďalšie úvahy, ktoré ovplyvňujú výber dĺžky kľúča, a medzi nimi aj problémy súvisiace s praktickou realizovateľnosťou šifrovacieho algoritmu pre zvolenú dĺžku kľúča.

Aby sme odhadli dĺžku verejného kľúča, zmeriame výpočtový výkon, ktorý má kryptoanalytik k dispozícii v takzvaných pug-rokoch, t.j. počte operácií, ktoré počítač schopný pracovať rýchlosťou 1 milión operácií za sekundu vykoná za rok. Predpokladajme, že hacker má prístup k počítačové zdroje s celkovým výpočtovým výkonom 10 000 mopsích rokov, veľká korporácia - 107 mopsích rokov, vláda - 109 mopsích rokov. To sú celkom reálne čísla, ak vezmeme do úvahy, že spomínaný 129-miestny projekt rozkladu využíval len 0,03 % výpočtového výkonu internetu a na jeho dosiahnutie nebolo potrebné prijímať žiadne mimoriadne opatrenia ani ísť nad rámec zákona.

Predpokladajme tiež, že výpočtový výkon sa každých 5 rokov zvýši 10-krát a metóda, ktorá sa používa na faktorizáciu veľkých čísel, to umožňuje so zložitosťou uvedenou v tabuľke 1. 6.3.

Tabuľka 6.3. Zložitosť faktorizácie veľkých čísel

Uvedené predpoklady umožňujú odhadnúť dĺžku silného verejného kľúča v závislosti od obdobia, počas ktorého je potrebné ním zašifrované dáta uchovávať v tajnosti (tabuľka 6.4). Je však potrebné mať na pamäti, že kryptografické algoritmy s verejným kľúčom sa často používajú na ochranu veľmi cenných informácií na veľmi dlhé časové obdobie. Napríklad v elektronických platobných systémoch alebo s notárskym overením elektronický podpis. Myšlienka stráviť niekoľko mesiacov faktoringom veľkého množstva sa niekomu môže zdať veľmi príťažlivá, ak v dôsledku toho bude môcť platiť za svoje nákupy vašou kreditnou kartou. Okrem toho si nemyslím, že by sa vám páčila vyhliadka, že vás o 20 rokov neskôr predvolajú na dedičský súd a budete obhajovať nemožnosť sfalšovania elektronického podpisu vášho starého otca, ktorý použil na vyhotovenie závetu vo váš prospech.

S uvedeným v tabuľke. 6.4 nie všetci renomovaní kryptografi súhlasia s údajmi. Niektorí z nich kategoricky odmietajú robiť akékoľvek dlhodobé prognózy, považujúc to za zbytočný podnik. Iní, napríklad špecialisti z NSA, sú prehnane optimistickí a odporúčajú pre systémy digitálneho podpisu dĺžku verejného kľúča len 512-1024 bitov, čo vzhľadom na údaje z tabuľky. 6.4 je úplne nedostatočná na to, aby poskytovala primeranú dlhodobú ochranu.

Mnoho moderných šifrovacích algoritmov s verejným kľúčom je založených na funkcii jednosmernej faktorizácie čísla, ktoré je súčinom dvoch veľkých prvočísel. Tieto algoritmy môžu byť tiež vystavené útoku podobnému útoku hrubou silou používanému proti šifrám tajných kľúčov, len s tým rozdielom, že nie je potrebné skúšať každý kľúč, stačí, ak dokážete vyfaktorovať veľké množstvo.

Zohľadnenie veľkého počtu faktorov je, samozrejme, náročná úloha. Okamžite sa však vynára rozumná otázka, aké ťažké. Bohužiaľ pre kryptografov sa náročnosť jeho riešenia znižuje. A aby toho nebolo málo, táto obtiažnosť klesá oveľa rýchlejším tempom, než sa pôvodne očakávalo. Napríklad v polovici 70. rokov 20. storočia sa verilo, že vyčíslenie počtu 125 číslic bude trvať desiatky kvadriliónov rokov. A len o dve desaťročia neskôr bolo pomocou počítačov pripojených na internet možné vypočítať počet 129 číslic. Tento prielom sa stal možným vďaka skutočnosti, že za posledných 20 rokov boli nielen navrhnuté nové, rýchlejšie metódy faktorizácie veľkých čísel, ale zvýšila sa aj produktivita používaných počítačov.

Preto musí kvalifikovaný kryptograf postupovať veľmi opatrne a diskrétne, pokiaľ ide o dĺžku verejného kľúča. Je potrebné zvážiť, aké cenné sú informácie utajované s jeho pomocou a ako dlho by mali zostať utajené pre cudzincov.

A prečo, pýtame sa, nezobrať 10 000-bitový kľúč? Potom zmiznú všetky otázky týkajúce sa stability asymetrického šifrovacieho algoritmu s verejným kľúčom, založeného na rozklade veľkého množstva na faktory. Faktom však je, že zabezpečenie dostatočnej sily šifry nie je jedinou starosťou kryptografa. Existujú ďalšie úvahy, ktoré ovplyvňujú výber dĺžky kľúča, a medzi nimi aj problémy súvisiace s praktickou realizovateľnosťou šifrovacieho algoritmu pre zvolenú dĺžku kľúča.

Pre odhad dĺžky verejného kľúča zmeriame výpočtový výkon, ktorý má kryptoanalytik k dispozícii v tzv. mopslík t.j. počet operácií, ktoré počítač schopný bežať rýchlosťou 1 milión operácií za sekundu vykoná za rok. Povedzme, že hacker má prístup k počítačovým zdrojom s celkovým výpočtovým výkonom 10 000 mopsích rokov, veľká korporácia - 10 7 mopsích rokov, vláda - 10 7 mopsích rokov. To sú celkom reálne čísla, keď si zoberieme, že spomínaný 129-miestny projekt rozkladu využíval len 0,03 % výpočtového výkonu internetu a na jeho dosiahnutie nebolo potrebné prijímať žiadne mimoriadne opatrenia ani ísť nad rámec zákona.

Predpokladajme tiež, že výpočtový výkon sa každých 5 rokov zvýši 10-krát a metóda, ktorá sa používa na faktorizáciu veľkých čísel, to umožňuje so zložitosťou uvedenou v tabuľke 1. 6.3.

Tabuľka 6.3. Zložitosť faktorizácie veľkých čísel.

Uvedené predpoklady umožňujú odhadnúť dĺžku silného verejného kľúča v závislosti od obdobia, počas ktorého je potrebné ním zašifrované dáta uchovávať v tajnosti (tabuľka 6.4). Je však potrebné mať na pamäti, že kryptografické algoritmy s verejným kľúčom sa často používajú na ochranu veľmi cenných informácií na veľmi dlhé časové obdobie. Napríklad pri elektronických platobných systémoch alebo pri notárskom overení elektronického podpisu. Myšlienka stráviť niekoľko mesiacov faktoringom veľkého množstva sa niekomu môže zdať veľmi príťažlivá, ak v dôsledku toho bude môcť platiť za svoje nákupy vašou kreditnou kartou. Okrem toho si nemyslím, že by sa vám páčila vyhliadka, že vás o 20 rokov predvolajú na dedičské konanie a budete obhajovať nemožnosť sfalšovania elektronického podpisu vášho starého otca, ktorý použil na vyhotovenie závetu vo váš prospech.

rok Hacker veľká korporácia vláda
2000 1024 1280 1536
2005 1280 1536 2048
2010 1280 1536 2048
2015 1536 2048 2048

S uvedeným v tabuľke. 6.4 nie všetci renomovaní kryptografi súhlasia s údajmi. Niektorí z nich kategoricky odmietajú robiť akékoľvek dlhodobé prognózy, považujúc to za zbytočný podnik. Iní, napríklad špecialisti z NSA, sú prehnane optimistickí a odporúčajú pre systémy digitálneho podpisu dĺžku verejného kľúča len 512-1024 bitov, čo vzhľadom na údaje z tabuľky. 6.4 je úplne nedostatočná na to, aby poskytovala primeranú dlhodobú ochranu.

Hlavným účelom použitia SSL certifikátov je šifrovanie dát prenášaných na server z klienta a na klienta zo servera. Na zaistenie bezpečnosti takéhoto pripojenia používajú moderné prehliadače algoritmus TLS založený na certifikátoch X.509. Tento algoritmus používa asymetrické šifrovanie na generovanie kľúča relácie pre symetrické šifrovanie. Ten sa používa priamo na prenos dát po nadviazaní bezpečného spojenia.

Čo je kľúč v kryptografii?

Kľúč v kryptografii je tajná informácia, ktorá sa používa v kryptografii na šifrovanie a dekódovanie správ, na ich digitálne podpisovanie a overovanie, na výpočet overovacích kódov správ atď. O spoľahlivosti kľúča rozhoduje takzvaná dĺžka kľúča, ktorá sa meria v bitoch. Štandardná dĺžka kľúča pre certifikáty SSL je 128 alebo 256 bitov. Dĺžka kľúča koreňovej certifikačnej autority (koreňového certifikátu) nesmie byť menšia ako 4096 bitov. Všetky certifikačné autority, s ktorými spolupracujeme, poskytujú SSL certifikáty s kľúčom, ktorý plne vyhovuje moderným štandardom:

Verejný a súkromný kľúč v asymetrickom šifrovaní

Použitie asymetrického šifrovania pár kľúčov: otvoriť (verejný kľúč) a ZATVORENÉ, tiež nazývaný tajný (súkromný kľúč). Verejné a súkromné ​​kľúče v tomto prípade umožňujú kryptografickému algoritmu zašifrovať a dešifrovať správu. Správy zašifrované verejným kľúčom je možné dešifrovať iba súkromným kľúčom. Verejný kľúč je zverejnený v certifikáte vlastníka a je dostupný pre pripájajúceho sa klienta, zatiaľ čo súkromný kľúč je uložený vlastníkom certifikátu. Verejný a súkromný kľúč sú vzájomne prepojené matematickými závislosťami, takže nie je možné v krátkom čase (doba platnosti certifikátu) vyzdvihnúť verejný alebo súkromný kľúč. Preto je maximálna doba platnosti SSL certifikátov vyššieho stupňa ochrany vždy nižšia. Objednať si teda môžete maximálne 2 roky. Zároveň pri objednávaní nového SSL certifikátu alebo obnove starého je dôležité vygenerovať novú CSR požiadavku, keďže je na ňu viazaný váš súkromný kľúč a je lepšie ho aktualizovať pri vydaní nového SSL certifikátu . Klient komunikuje so serverom nasledujúcim spôsobom:
  1. prehliadač zašifruje požiadavku na základe verejného kľúča a odošle ju na server;
  2. server pomocou súkromného kľúča dešifruje prijatú správu;
  3. server zašifruje svoj digitálny identifikátor súkromným kľúčom a odošle ho klientovi;
  4. klient skontroluje ID servera a odošle svoje vlastné;
  5. po vzájomnej autentifikácii klient zašifruje kľúč budúcej relácie verejným kľúčom a odošle ho serveru;
  6. všetky následné správy odoslané medzi klientom a serverom sú podpísané kľúčom relácie a zašifrované pomocou verejného a súkromného kľúča.
To poskytuje niekoľko bezpečnostných bodov:
  • možnosť úniku informácií je vylúčená - pri zachytení nie je možné ich dešifrovať;
  • server potvrdí svoju adresu a identifikátor, možnosť presmerovania na inú stránku je odrezaná (phishing);
  • klientovi je pridelené individuálne sedenie, vďaka čomu je možné ho spoľahlivejšie odlíšiť od ostatných klientov;
  • akonáhle je nadviazaná zabezpečená relácia, všetky správy sú zašifrované pomocou identity klienta a nemožno ich zachytiť ani zmeniť bez povšimnutia.

Vo všeobecnosti možno šifrovanie verejným a súkromným kľúčom považovať za prípad, pri ktorom sa používajú dva kľúče: jeden je možné iba zavrieť, druhý otvoriť. Ak bolo puzdro zatvorené prvým kľúčom, môže ho otvoriť iba druhý, ak bolo zatvorené druhým kľúčom, bude potrebné otvoriť ho prvým. Môžete to jasne vidieť na obrázku vyššie.

Ako tajné informácie sa používajú kryptografické kľúče.

Kryptografický kľúč je postupnosť znakov vygenerovaných podľa určitých pravidiel. Táto postupnosť sa používa pri kryptografických transformáciách textov. Každý kryptografický algoritmus má svoje vlastné požiadavky, podľa ktorých sa vytvárajú kľúče. Každý kľúč je vytvorený pre špecifický algoritmus.

Na zabezpečenie nereprodukovateľnosti elektronického podpisu a nemožnosti čítania zašifrovaných textov neoprávnenými osobami sa v kryptografii používajú kryptografické kľúče.

Moderný kryptografický kľúč je postupnosť čísel určitej dĺžky, vytvorená podľa určitých pravidiel na základe postupnosti náhodných čísel. Pre každý kľúč sa nanovo vytvorí postupnosť náhodných čísel, žiadna postupnosť sa nepoužije viackrát. Na generovanie sekvencií náhodných čísel sa používajú špeciálne softvérové ​​objekty alebo zariadenia nazývané generátory náhodných čísel.

Každý algoritmus má svoje vlastné požiadavky na kľúč, takže každý kryptografický kľúč je vytvorený pre konkrétny algoritmus a používa sa iba s týmto algoritmom.

Ak sa generovanie elektronického podpisu a jeho overenie, prípadne šifrovanie a dešifrovanie textu vykonáva pomocou rovnakého kľúča, tento prístup sa nazýva tzv. symetrická kryptografia(resp. symetrické algoritmy a symetrické kľúče). Symetrické kryptografické operácie sú rýchle a relatívne jednoduché. Vyžadujú však znalosť kľúča minimálne dvoch osôb, čo značne zvyšuje riziko ich ohrozenia (t. j. prístupu k nim neoprávnených osôb).

Preto sa teraz používa hlavne asymetrická kryptografia. V asymetrickej kryptografii sa generovanie elektronického podpisu alebo šifrovanie vykonáva na jednom kľúči a overovanie alebo dešifrovanie podpisu sa vykonáva na inom, párovom kľúči.



V asymetrickej kryptografii sa používajú takzvané páry kľúčov. Každý takýto pár pozostáva z dvoch vzájomne prepojených kľúčov. Jedným z týchto kľúčov je súkromný kľúč. Pozná ho iba vlastník kľúča a za žiadnych okolností by ho nemal mať k dispozícii nikto iný. Druhý kľúč je verejný (verejný kľúč), je prístupný

každému, kto si želá.

Autentifikačné metódy

Autentifikácia – udelenie určitých prístupových práv účastníkovi na základe identifikátora, ktorý má. IEEE 802.11 poskytuje dve metódy overenia:

1. Otvorte overenie otvorené overenie):

Pracovná stanica odošle požiadavku na autentifikáciu, ktorá obsahuje iba MAC adresu klienta. Prístupový bod odpovie buď odmietnutím alebo potvrdením overenia. Rozhodnutie sa robí na základe MAC filtrovania, t.j. v skutočnosti ide o ochranu založenú na obmedzení prístupu, ktorá nie je bezpečná.

2. Autentifikácia zdieľaným kľúčom Autentifikácia zdieľaným kľúčom):

Musíte nastaviť statický šifrovací kľúč WEP. Drôtové ekvivalentné súkromie). Klient požiada prístupový bod o autentifikáciu, na čo dostane potvrdenie, ktoré obsahuje 128 bajtov náhodné informácie. Stanica zašifruje prijaté dáta pomocou algoritmu WEP (bitové modulo 2 pridanie dát správy k sekvencii kľúčov) a pošle šifrovaný text spolu s požiadavkou na priradenie. Prístupový bod dešifruje text a porovná ho s pôvodnými údajmi. Ak existuje zhoda, odošle sa potvrdenie o pridružení a klient sa považuje za pripojeného k sieti.
Schéma autentifikácie zdieľaného kľúča je zraniteľná voči útokom typu „Man in the middle“. Šifrovací algoritmus WEP je jednoduchý XOR kľúčovej sekvencie s užitočná informácia, preto počúvaním prevádzky medzi stanicou a prístupovým bodom môžete obnoviť časť kľúča.
IEEE začala vyvíjať nový štandard IEEE 802.11i, ale kvôli ťažkostiam so schvaľovaním WECA (eng. Aliancia WiFi) spolu s IEEE oznámili štandard WPA (angl. WiFi chránený prístup). WPA používa TKIP. Protokol integrity dočasného kľúča, Key Integrity Protocol), ktorý využíva pokročilú metódu správy kľúčov a zmenu kľúča snímku po snímke.

WPA tiež používa dve metódy autentifikácie:

1. Autentifikácia pomocou vopred zdieľaného kľúča WPA-PSK (ang. predzdieľaný kľúč) (Enterprise Authentication);

2. Autentifikácia pomocou servera RADIUS Vzdialený prístup Dial-in User Service)

Typy šifrovania

Šifrovanie- metóda konverzie otvorené informácie zatvorené a späť. Používa sa na skladovanie dôležitá informácia v nespoľahlivých zdrojoch alebo jeho prenos cez nezabezpečené komunikačné kanály. Šifrovanie sa delí na proces šifrovania a dešifrovania.

V závislosti od algoritmu konverzie údajov sa metódy šifrovania delia na zaručenú alebo dočasnú šifrovaciu silu.

V závislosti od štruktúry použitých kľúčov sa metódy šifrovania delia na

§ symetrické šifrovanie: neoprávnené osoby môžu poznať šifrovací algoritmus, ale malá časť tajných informácií je neznáma – kľúč, ktorý je rovnaký pre odosielateľa aj príjemcu správy;

§ asymetrické šifrovanie: tretie strany môžu poznať šifrovací algoritmus a možno aj verejný kľúč, ale nie súkromný kľúč, ktorý pozná iba príjemca.

Existujú nasledujúce kryptografické primitívy:

§ Bezkľúčový

1. Hashovacie funkcie

2. Jednostranné permutácie

3. Generátory pseudonáhodných čísel

§ Symetrické schémy

1. Šifry (blok, stream)

2. Hashovacie funkcie

4. Generátory pseudonáhodných čísel

5. Identifikačné primitíva

§ Asymetrické schémy

3. Identifikačné primitíva

Šifrovanie disku
Systém Zserver - prostriedok ochrany dôverné informácie uložené a spracované na podnikových serveroch šifrovaním údajov na disku. Zserver funguje na princípe „transparentného“ šifrovania partícií pevné disky. Systém automaticky v režime online šifruje informácie pri zápise na disk a dešifruje ich pri čítaní z disku. To zaisťuje, že údaje sú uložené na disku v zašifrovanej forme a nemožno ich použiť bez šifrovacieho kľúča, aj keď je server alebo médium odstránené. Systém Zserver šifruje súbory a priečinky na disku, ako aj všetky servisné informácie - tabuľky prideľovania súborov atď. Systém Zserver tak nielen spoľahlivo chráni dôverné dáta, ale aj samotný fakt ich prítomnosti pred cudzími osobami skrýva. Informácie na zabezpečených diskoch sú uložené v zašifrovanej forme a sú dostupné len vtedy, keď správca siete udelí používateľovi príslušné povolenia. Prístupové práva k chráneným diskom sa nastavujú pomocou operačného systému. Šifrovanie súborov a priečinkov na disku vykonáva softvérový ovládač. Kľúče na šifrovanie údajov na disku sa zadávajú pri spustení servera z čipovej karty chránenej kódom PIN. Bez znalosti PIN kódu nemôžete používať smart kartu. Tri pokusy o nesprávne zadanie PIN spôsobia zablokovanie karty. Čipová karta sa vyžaduje iba pri pripájaní zabezpečeného média a počas prevádzky sa nevyžaduje. Ak reštartujete server bez čipovej karty, chránené jednotky nebudú dostupné. Systém Zserver poskytuje možnosť vzdialene zadávať šifrovacie kľúče a spravovať systém z akejkoľvek pracovnej stanice lokálna sieť alebo cez internet. V súčasnosti boli vyvinuté systémy Zserver, ktoré fungujú pod kontrolou nasledujúcich operačné systémy: Windows 2000/XP/2003/2008 (32 a 64 bit); Linux s jadrom 2.6.x.

Údaje sa v tomto prípade považujú za správy a slúžia na ochranu ich významu klasická šifrovacia technika.

Kryptografia zahŕňa tri zložky: dáta, kľúč a kryptografickú transformáciu. Pri šifrovaní budú počiatočnými údajmi správa a výsledné údaje budú šifrovaním. Keď sú dešifrované, menia miesta. Predpokladá sa, že kryptografická transformácia je každému známa, ale bez znalosti kľúča, ktorým používateľ zavrel význam správy pred zvedavými očami, si obnovenie textu správy vyžaduje nepredstaviteľne veľa úsilia. (Treba zopakovať, že neexistuje žiadne šifrovanie, ktoré by bolo absolútne neprelomiteľné. Kvalita šifry je určená iba peniazmi, ktoré je potrebné zaplatiť za jej otvorenie, od 10 do 1 000 000 USD.) Takáto požiadavka je splnená číslom moderných kryptografických systémov, napríklad vytvorených podľa „National Data Encryption Standard US Bureau of Standards“ DES a GOST 28147-89. Keďže séria údajov je kritická pre niektoré ich skreslenia, ktoré nemožno zistiť z kontextu, zvyčajne sa používajú iba také metódy šifrovania, ktoré sú citlivé na skreslenie akéhokoľvek znaku. Zaručujú nielen vysokú utajenosť, ale aj efektívnu detekciu akýchkoľvek skreslení či chýb.

Možnosti algoritmu

Existuje mnoho (najmenej dva tucty) symetrických šifrovacích algoritmov, ktorých základné parametre sú:

§ trvanlivosť

§ dĺžka kľúča

§ počet kôl

§ dĺžka spracovaného bloku

§ zložitosť implementácie hardvéru/softvéru

§ zložitosť transformácie

[Bežné algoritmy

§ AES Pokročilý štandard šifrovania) - Americký štandard šifrovania

§ GOST 28147-89 - domáci štandard šifrovania údajov

§ DES Štandard šifrovania údajov) - Americký štandard pre šifrovanie dát až po AES

§ 3DES (Triple-DES, triple DES)

§ RC6 (Rivest Cipher)

§ NÁPAD Medzinárodný algoritmus šifrovania údajov)

§ SEED – Kórejský štandard šifrovania údajov

verejný kľúč, poznamenal, že táto požiadavka popiera celú podstatu kryptografie, a to schopnosť zachovávať univerzálne tajomstvo v komunikácii.

Druhou úlohou je potreba vytvorenia takých mechanizmov, pomocou ktorých by nebolo možné nahradiť žiadneho z účastníkov, t.j. potrebu digitálny podpis . Pri používaní komunikácie na širokú škálu účelov, ako sú komerčné a súkromné ​​účely, elektronické správy a dokumenty musia mať ekvivalent podpisu obsiahnutého v papierových dokumentoch. Je potrebné vytvoriť spôsob, ktorým budú všetci účastníci presvedčení, že e-mail odoslal konkrétny účastník. Toto je prísnejšia požiadavka ako autentifikácia.

Diffie a Hellman dosiahli významné výsledky tým, že navrhli spôsob riešenia oboch problémov, ktorý je radikálne odlišný od všetkých doterajších prístupov k šifrovaniu.

Najprv sa pozrime na spoločné vlastnosti. šifrovacie algoritmy s verejným kľúčom a požiadavkami na tieto algoritmy. Definujme požiadavky, ktoré musí spĺňať algoritmus, ktorý používa jeden kľúč na šifrovanie a druhý kľúč na dešifrovanie a zároveň je výpočtovo nemožné určiť dešifrovací kľúč, pretože poznáme iba šifrovací algoritmus a šifrovací kľúč.

Okrem toho niektoré algoritmy, ako napríklad RSA, majú nasledujúcu charakteristiku: každý z týchto dvoch kľúčov možno použiť na šifrovanie aj dešifrovanie.

Najprv zvážime algoritmy, ktoré majú obe vlastnosti, a potom prejdeme k algoritmom s verejným kľúčom, ktoré nemajú druhú vlastnosť.

Pri opise symetrické šifrovanie a šifrovanie verejným kľúčom, budeme používať nasledujúcu terminológiu. kľúč použitý v symetrické šifrovanie, zavoláme tajný kľúč. Zavolajú sa dva kľúče používané pri šifrovaní verejného kľúča verejný kľúč a súkromný kľúč. Súkromný kľúč je udržiavaný v tajnosti, ale budeme ho označovať ako súkromný kľúč, a nie tajný, aby sme sa vyhli zámene s kľúčom použitým v symetrické šifrovanie. Súkromný kľúč bude označený KR, verejný kľúč - KU.

Budeme predpokladať, že všetci účastníci majú vzájomný prístup k svojim verejným kľúčom a súkromné ​​kľúče si každý účastník vytvára lokálne, a preto by sa nemali distribuovať.

Účastník môže kedykoľvek zmeniť svoj súkromný kľúč a zverejniť verejný kľúč, ktorý tvorí pár, pričom ním nahradí starý verejný kľúč.

Diffie a Hellman popisujú požiadavky, ktoré šifrovací algoritmus s verejným kľúčom.

  1. Výpočtovo je jednoduché vytvoriť pár (KU verejný kľúč, KR súkromný kľúč).
  2. Vzhľadom na verejný kľúč a nezašifrovanú správu M je výpočtovo jednoduché vytvoriť zodpovedajúcu zašifrovanú správu:
  3. Dešifrovanie správy pomocou súkromného kľúča je výpočtovo jednoduché:

    M = D KR [C] = D KR ]

  4. Pri znalosti verejného kľúča KU je výpočtovo nemožné určiť súkromný kľúč KR .
  5. Pri znalosti verejného kľúča KU a zašifrovanej správy C je výpočtovo nemožné obnoviť pôvodnú správu M .

    Možno pridať šiestu požiadavku, aj keď neplatí pre všetky algoritmy verejného kľúča:

  6. Funkcie šifrovania a dešifrovania je možné použiť v akomkoľvek poradí:

    M = E ku]

Toto sú dostatočne silné požiadavky, ktoré zavádzajú pojem . Jednosmerná funkcia volá sa taká funkcia, v ktorej má každý argument jedinečnú inverznú hodnotu, pričom je ľahké vypočítať samotnú funkciu, ale je ťažké vypočítať inverznú funkciu.

Zvyčajne "ľahké" znamená, že problém možno vyriešiť v polynomickom čase dĺžky vstupu. Ak je teda dĺžka vstupu n bitov, potom je čas výpočtu funkcie úmerný n a , kde a je pevná konštanta. Algoritmus teda patrí do triedy polynomických algoritmov P. Termín „tvrdý“ znamená komplikovanejší koncept. Vo všeobecnom prípade budeme predpokladať, že problém nie je možné vyriešiť, ak je úsilie na jeho vyriešenie väčšie ako polynómový čas vstupnej hodnoty. Napríklad, ak je dĺžka vstupu n bitov a čas vyhodnotenia funkcie je úmerný 2 n, potom sa to považuje za výpočtovo nemožnú úlohu. Bohužiaľ je ťažké určiť, či konkrétny algoritmus vykazuje takú zložitosť. Okrem toho sa tradičné predstavy o výpočtovej zložitosti zameriavajú na zložitosť algoritmu v najhoršom prípade alebo v priemernom prípade. To je neprijateľné pre kryptografiu, kde sa vyžaduje, aby funkcia nemohla byť invertovaná pre všetky alebo takmer všetky hodnoty vstupov.

Späť k definícii jednostranná funkcia so strešným oknom, ktorý ako jednosmerná funkcia, sa ľahko počíta v jednom smere a ťažko sa počíta v opačnom smere, kým niek Ďalšie informácie. S týmito dodatočnými informáciami možno inverziu vypočítať v polynomiálnom čase. Touto cestou, jednosmerná funkcia so strešným oknom v rodinnom vlastníctve jednosmerné funkcie f k také, že

Vidíme, že vývoj konkrétneho algoritmu verejného kľúča závisí od objavenia zodpovedajúceho jednostranná funkcia so strešným oknom.

Kryptoanalýza algoritmov verejného kľúča

Ako v prípade symetrické šifrovanie, šifrovací algoritmus s verejným kľúčom je náchylný na čelný útok. Protiopatrenie je štandardné: použite veľké kľúče.

Šifrovací systém s verejným kľúčom používa určité neinvertibilné matematické funkcie. Zložitosť výpočtu takýchto funkcií nie je lineárna v počte kľúčových bitov, ale rastie rýchlejšie ako kľúč. Veľkosť kľúča teda musí byť dostatočne veľká, aby bol čelný útok nepraktický, a dostatočne malá, aby umožnila praktické šifrovanie. V praxi je veľkosť kľúča vytvorená tak, že útok hrubou silou je nepraktický, ale v dôsledku toho je rýchlosť šifrovania dostatočne nízka na to, aby sa algoritmus mohol použiť na všeobecné účely. Šifrovanie verejným kľúčom je preto v súčasnosti obmedzené najmä na aplikácie na správu kľúčov a podpisy, ktoré vyžadujú šifrovanie malého bloku údajov.

Ďalšou formou útoku je nájsť spôsob, ako vypočítať súkromný kľúč daný verejným kľúčom. Nie je možné to matematicky dokázať danej formeútok je vylúčený pre konkrétny algoritmus verejného kľúča. Akýkoľvek algoritmus, vrátane široko používaného algoritmu RSA, je teda podozrivý.

Nakoniec existuje forma útoku, ktorá je špecifická pre spôsob používania systémov verejného kľúča. Toto je útok na pravdepodobnú správu. Predpokladajme napríklad, že odosielaná správa pozostáva výlučne z 56-bitového kľúča relácie pre symetrický šifrovací algoritmus. Protivník môže zašifrovať všetky možné kľúče pomocou verejného kľúča a môže dešifrovať akúkoľvek správu, ktorá sa zhoduje s prenášaným šifrovaným textom. Bez ohľadu na veľkosť kľúča schémy verejného kľúča sa teda útok zredukuje na útok hrubou silou na 56-bitový symetrický kľúč. Ochrana pred takýmto útokom spočíva v pridávaní určitého počtu náhodných bitov do jednoduchých správ.

Základné použitie pre algoritmy verejného kľúča

Hlavnými použitiami algoritmov verejného kľúča sú šifrovanie/dešifrovanie, vytváranie a overovanie podpisov a výmena kľúčov.

Šifrovanie s verejným kľúčom pozostáva z nasledujúcich krokov:


Ryža. 7.1.

  1. Používateľ B vytvorí pár kľúčov KU b a KR b slúžiacich na šifrovanie a dešifrovanie prenášaných správ.
  2. Používateľ B sprístupní svoj šifrovací kľúč nejakým bezpečným spôsobom, t.j. verejný kľúč KU b . Spárovaný súkromný kľúč KR b je utajený.
  3. Ak chce A poslať správu B, zašifruje správu pomocou verejného kľúča B KU b.
  4. Keď B prijme správu, dešifruje ju pomocou svojho súkromného kľúča KR b . Nikto iný nemôže dešifrovať správu, pretože iba B pozná tento súkromný kľúč.

Ak používateľ (koncový systém) bezpečne uloží svoj súkromný kľúč, nikto nebude môcť špehovať prenášané správy.

Vytvorenie a overenie podpisu pozostáva z nasledujúcich krokov:


Ryža. 7.2.
  1. Používateľ A vygeneruje dvojicu kľúčov KR A a KU A , slúžiacich na vytvorenie a overenie podpisu prenášaných správ.
  2. Používateľ A sprístupní svoj overovací kľúč nejakým bezpečným spôsobom, t.j.