Symetrické kryptosystémy. Jednoduchá permutácia kľúčom. Svet, ktorý nepoznáme

  • 05.05.2019

1 Symetrické šifrovacie systémy sú systémy, v ktorých sa na šifrovanie a dešifrovanie používa rovnaký šifrovací kľúč. Pred vynálezom schémy asymetrického šifrovania existovala jediná metóda symetrického šifrovania. Kľúč algoritmu musia obe strany uchovávať v tajnosti. Šifrovací algoritmus si strany vyberú pred výmenou správ.

2 Výmena informácií prebieha v troch fázach:

1) odosielateľ odovzdá kľúč príjemcovi (v sieti s viacerými účastníkmi musí mať každý pár účastníkov svoj vlastný kľúč, odlišný od kľúčov ostatných párov);

2) odosielateľ pomocou kľúča zašifruje správu odoslanú príjemcovi;

3) príjemca prijme správu a dešifruje ju.

Ak sa pre každý deň a pre každú komunikačnú reláciu použije jedinečný kľúč, zvýši sa tým bezpečnosť systému.

V asymetrických šifrovacích algoritmoch (alebo kryptografii s verejným kľúčom) sa jeden kľúč (verejný) používa na šifrovanie informácií a iný (tajný) sa používa na ich dešifrovanie. Tieto kľúče sú odlišné a nemožno ich od seba odvodiť.

Schéma výmeny informácií je nasledovná:

Príjemca vypočíta verejný a tajný kľúč, tajný kľúč sa zachová v tajnosti, pričom sa verejný kľúč sprístupní (informuje odosielateľa, skupinu používateľov siete, zverejní);

pomocou odosielateľa verejný kľúč príjemca, zašifruje správu, ktorá sa odosiela príjemcovi;

Príjemca prijme správu a dešifruje ju pomocou svojho súkromného kľúča.

3 Symetrické šifrovanie zahŕňa použitie rovnakého kľúča na šifrovanie aj dešifrovanie. Na symetrické algoritmy platia dve hlavné požiadavky: úplná strata všetky štatistické zákonitosti v objekte šifrovania a absencia linearity. Je zvykom deliť symetrické systémy na blokové a prietokové. V blokových systémoch sú zdrojové dáta rozdelené do blokov, po ktorých nasleduje transformácia pomocou kľúča.

V streamingových systémoch sa generuje určitá sekvencia (výstupná gama), ktorá je následne superponovaná na samotnú správu a dáta sú pri generovaní gama prúdom šifrované.

4 Symetrické šifrovanie zvyčajne používa komplexnú a viacstupňovú kombináciu substitúcií a permutácií zdrojových údajov a môže existovať veľa štádií (priechodov) a každý z nich musí zodpovedať „priechodovému kľúču“. Substitučná operácia spĺňa prvú požiadavku na symetrickú šifru, zbavenie sa akýchkoľvek štatistických údajov zmiešaním bitov správy podľa určitého daného zákona. Permutácia je nevyhnutná na splnenie druhej požiadavky - aby bol algoritmus nelineárny. To sa dosiahne nahradením určitej časti správy danej veľkosti štandardná hodnota prístupom k pôvodnému poli.

5 Vo vládnych a vojenských komunikačných systémoch sa používajú iba symetrické algoritmy, pretože bezpečnosť systémov s verejnými kľúčmi nie je rigorózne matematicky zdôvodnená, ale nebol dokázaný ani opak. Na tomto obrázku je znázornená schéma fungovania šifrovacieho systému pri prevádzke technológie GSM

6 V tej istej tabuľke sú uvedené hlavné charakteristiky kompozitných šifrovacích algoritmov

7 Iniciatíva vo vývoji AES patrí americkému National Standards Institute – NIST. Hlavným cieľom bolo vytvoriť americký federálny štandard, ktorý by popisoval šifrovací algoritmus používaný na ochranu informácií vo verejnom aj súkromnom sektore. AES je symetrický blokový šifrovací algoritmus s variabilná dĺžka blok a variabilná dĺžka kľúča.

8 IDEA (International Data Encryption Algorithm) je blokový symetrický kryptografický algoritmus, ktorý vyvinuli Xuejia Lai a James Massey zo Švajčiarskeho federálneho technologického inštitútu. IDEA je jedným z niekoľkých symetrických kryptografických algoritmov, ktoré mali pôvodne nahradiť DES. IDEA je blokový algoritmus, ktorý používa 128-bitový kľúč na šifrovanie údajov v blokoch po 64 bitoch. Cieľom vývoja IDEA bolo vytvoriť relatívne silný kryptografický algoritmus s pomerne jednoduchou implementáciou.

9. V našej krajine sa štandardne používa technológia opísaná v GOST 28147-89 "Systémy spracovania informácií. Kryptografická ochrana. Algoritmus kryptografického prevodu". Tento GOST bol prijatý v roku 1989 a odvtedy sa nezmenil. Šifrovací algoritmus vyvinula KGB koncom 70-tych rokov, bol však vytvorený s pomerne veľkou „bezpečnostnou rezervou“. V tomto parametri bol rádovo lepší ako americký DES, ktorý bol najskôr nahradený trojkou a potom AES. Aj dnes teda kryptografická sila ruského štandardu plne vyhovuje všetkým moderným požiadavkám.

10 Prejdime ku konceptu kryptografickej sily (alebo kryptografickej sily) - schopnosti kryptografického algoritmu odolať kryptoanalýze. Bezpečný algoritmus je taký, ktorý na úspešný útok vyžaduje nedosiahnuteľné výpočtové zdroje od protivníka, nedosiahnuteľný objem zachytených otvorených a zašifrovaných správ alebo taký čas zverejnenia, že po jeho uplynutí už nebudú chránené informácie relevantné atď. Vo väčšine prípadov sa kryptografická sila nedá dokázať matematicky, dá sa dokázať iba zraniteľnosť kryptografického algoritmu. Existuje dostatok a absolútne stabilných kryptosystémov. Vernamova šifra (angl. Verrnam Cipher, iný názov pre One-time pad - one-time pad scheme) je symetrický šifrovací systém, ktorý prvýkrát navrhol v roku 1882 F. Millero a v roku 1917 ho znovu objavil zamestnanec AT & T Gilbert Vernam.

Úvod

Problém ochrany informácií ich transformáciou, s vylúčením ich čítania od cudzinca, vzrušoval ľudskú myseľ už od staroveku. História kryptografie je rovnaká ako história ľudský jazyk. Navyše, pôvodne bolo samotné písanie kryptografickým systémom, keďže v starovekých spoločnostiach ho vlastnilo len pár vyvolených.

Kryptografické systémy sa rýchlo rozvíjali v rokoch prvej a druhej svetovej vojny. Od povojnového obdobia až po súčasnosť vzhľad výpočtové zariadenia urýchlil vývoj a zdokonaľovanie kryptografických metód.

Prečo je problém použiť kryptografické metódy v informačné systémy(IS) sa stal v tento moment obzvlášť relevantné?

Na jednej strane sa zvýšilo najmä využívanie počítačových sietí globálnej siete Internet, prostredníctvom ktorého sa prenáša veľké množstvo informácií štátneho, vojenského, obchodného a súkromného charakteru, ktoré neumožňuje prístup k nim neoprávneným osobám.

Na druhej strane vznik nových výkonné počítače, sieťové a neurónové výpočtové technológie umožnili zdiskreditovať kryptografické systémy, ktoré boli donedávna považované za prakticky nezverejnené.

Problémom ochrany informácií ich transformáciou sa zaoberá kryptológia (kryptos – tajomstvo, logos – veda). Kryptológia je rozdelená do dvoch oblastí - kryptografia a kryptoanalýza. Ciele týchto smerov sú priamo opačné.

Kryptografia sa zaoberá prieskumom a výskumom matematické metódy transformácia informácií.

Kryptoanalýza- skúma možnosť dešifrovania informácií bez znalosti kľúčov.

Kryptografické metódy ochrany informácií- ide o špeciálne metódy šifrovania, kódovania alebo inej transformácie informácií, v dôsledku ktorých sa ich obsah stáva nedostupným bez predloženia kryptogramového kľúča a inverzná transformácia. Kryptografický spôsob ochrany je určite najspoľahlivejší spôsob ochrany, keďže sú chránené priamo samotné informácie a nie prístup k nim. Táto metóda ochrana sa realizuje vo forme programov alebo softvérových balíkov.


Kryptografia

Moderná kryptografia zahŕňa štyri hlavné časti:

1. Symetrické kryptosystémy . V symetrických kryptosystémoch sa na šifrovanie aj dešifrovanie používa rovnaký kľúč;

2. Kryptosystémy s verejným kľúčom. Systémy verejného kľúča používajú dva kľúče, verejný a súkromný, ktoré sú navzájom matematicky prepojené. Informácie sú šifrované pomocou verejného kľúča, ktorý je dostupný každému, a dešifrované pomocou súkromného kľúča, ktorý pozná iba príjemca správy;

3. Elektronický podpis. systém elektronický podpis, sa nazýva jeho kryptografická transformácia pripojená k textu, ktorá umožňuje po prijatí textu iným používateľom overiť autorstvo a pravosť správy.

4. Správa kľúčov. Ide o proces systému spracovania informácií, ktorého obsahom je zostavovanie a distribúcia kľúčov medzi užívateľov.

Hlavné využitie kryptografických metód - prenos dôverné informácie komunikačné kanály, autentifikácia prenášané správy, uchovávanie informácií na médiách v zašifrovanej podobe.

Kryptografia teda umožňuje transformovať informácie takým spôsobom, že ich čítanie (obnovenie) je možné len vtedy, ak je známy kľúč.

Za informácie, ktoré sa majú zašifrovať a dešifrovať, budeme považovať texty postavené na niektorých abeceda. Tieto výrazy znamenajú nasledovné.

Abeceda- konečný súbor znakov používaných na kódovanie informácií.

Text- usporiadaná množina prvkov abecedy.

Šifrovanie- proces transformácie: zdrojový text, ktorý sa tiež nazýva obyčajný text, je nahradený zašifrovaný text.

Dešifrovanie- proces spätného šifrovania. Na základe kľúča sa šifrovaný text prevedie na originál.

kľúč - informácie potrebné na bezproblémové šifrovanie a dešifrovanie textov.

Kryptosystémy sa delia na symetrické a s verejným kľúčom.

AT symetrické kryptosystémy používa sa na šifrovanie aj dešifrovanie rovnaký kľúč.

AT systémy verejného kľúča používajú sa dva kľúče OTVORENÉ a ZATVORENÉ, ktoré spolu matematicky súvisia. Informácie sú šifrované pomocou verejného kľúča, ktorý je dostupný každému, a dešifrované pomocou súkromného kľúča, ktorý pozná iba príjemca správy.

Podmienky distribúcia kľúčov a správa kľúčov označujú procesy systému spracovania informácií, ktorých obsahom je zostavovanie a distribúcia kľúčov medzi používateľov.

Elektronický (digitálny) podpis nazval jeho kryptografickú transformáciu pripojenú k textu, ktorá umožňuje po prijatí textu iným používateľom overiť autorstvo a pravosť správy.

Odolnosť voči kryptomenám je charakteristika šifry, ktorá určuje jej odolnosť voči dešifrovaniu bez znalosti kľúča. Existuje niekoľko ukazovateľov kryptografickej sily, vrátane:

počet všetkých možných kľúčov;

priemerný čas potrebný na kryptoanalýzu.

Symetrické kryptosystémy

Celú škálu existujúcich kryptografických metód možno zredukovať na nasledujúce triedy transformácií:

Najjednoduchší typ transformácie, ktorý spočíva v nahradení znakov zdrojového textu inými (rovnakej abecedy) viac či menej komplikované pravidlo. Na zabezpečenie vysokej kryptografickej sily je potrebné použitie veľkých kľúčov.

· Permutácie.

Tiež jednoduchá metóda kryptografickej transformácie. Zvyčajne sa používa v kombinácii s inými metódami.

Permutácia - znaky zašifrovaného textu sa preusporiadajú podľa určitého pravidla v rámci daného bloku prenášaného textu.

· Hazardné hry.

Táto metóda spočíva v tom, že sa na zdrojový text vloží nejaká pseudonáhodná sekvencia vygenerovaná na základe kľúča.

Analytická transformácia – zašifrovaný text sa konvertuje podľa nejakého analytického pravidla, napríklad gama – spočíva v tom, že sa zdrojovému textu vloží nejaká pseudonáhodná sekvencia vygenerovaná na základe kľúča.

· Blokové šifry.

Kombinovaná transformácia - predstavuje postupnosť základných transformačných metód aplikovaných na blok zašifrovaného textu. V praxi sú blokové šifry bežnejšie ako „čisté“ transformácie jednej alebo druhej triedy kvôli ich vyššej kryptografickej sile. Ruské a americké šifrovacie štandardy sú založené na tejto triede.

· Substitúcia.

Substitúcia - znaky šifrového textu sú nahradené znakmi rovnakej alebo inej abecedy podľa vopred definovaného pravidla.


Podobné informácie.


Po nete koluje neskutočné množstvo odvážnych tvrdení. asymetrické šifrovanie strmšie ako symetrické, rovnako ako reverzné. A začiatočníci často počúvajú tieto slová, dokonca ani nerozumejú čomu v otázke. Hovorí sa, že AES je cool alebo naopak RSA vládne a všetci to brali ako namyslenú. Tento prístup však pomerne často vedie k problémom, keď sa pre nedostatočné pochopenie podstaty problematiky implementujú úplne zbytočné časti alebo sa systém ukáže ako bezbranný.

Preto vám v rámci tohto článku poviem základné minimum, ktoré by mal začiatočník vedieť. Nebudú existovať žiadne zložité vzorce ani matematické zdôvodnenia, ale bude vysvetlený rozdiel medzi symetrickým a asymetrickým šifrovaním, ako aj niektoré dôležité body. Ale najprv to.

Symetrické šifrovanie

Symetrické šifrovanie používa iba jedno heslo (alebo ako sa nazýva aj kľúč). Pozrime sa, ako sa všetko deje. Existuje nejaký matematický šifrovací algoritmus, ktorý sa dodáva s heslom a textom ako vstup. Výstupom je zašifrovaný text. Na získanie pôvodného textu sa používa rovnaké heslo, ale s dešifrovacím algoritmom (niekedy to môže byť rovnaké).

Inými slovami, akonáhle sa toto heslo niekto dozvie, bezpečnosť je okamžite narušená. Ak sa teda používa symetrické šifrovanie, mala by sa venovať značná pozornosť problematike vytvárania a uchovávania samotného hesla v bezpečí. Nemalo by sa prenášať na otvorený formulár, je jedno, ci ide o siet alebo kusok papiera pripojeny k monitoru. Heslo musí byť dostatočne zložité, aby ho nebolo možné získať jednoduchou hrubou silou. Ak heslo používa niekoľko ľudí, malo by sa to zvážiť bezpečná metóda jeho distribúciu, ako aj výstražný systém v prípade, že sa heslo dozvie niekto iný.

Napriek svojim obmedzeniam je symetrické šifrovanie široko používané. Predovšetkým kvôli jednoduchosti pochopenia celého procesu (jedno heslo) a technickej záťaži (zvyčajne sú takéto algoritmy rýchle).

Asymetrické šifrovanie

Asymetrické šifrovanie používa dve heslá – jedno otvorené (verejné) a jedno uzavreté (tajné). otvoriť heslo sa posiela všetkým ľuďom, zatiaľ čo súkromné ​​heslo zostáva na strane servera alebo iného prijímača. V tomto prípade sú názvy často podmienené, pretože zašifrovanú správu s jedným z kľúčov možno dešifrovať iba pomocou druhého kľúča. Inými slovami, klávesy sú v tomto zmysle ekvivalentné.

Takéto šifrovacie algoritmy umožňujú voľnú distribúciu hesla (kľúča) po sieti, pretože bez druhého kľúča nie je možné získať Pôvodná správa. Na tomto princípe SSL protokolčo uľahčuje inštaláciu zabezpečené pripojenie s používateľmi z dôvodu, že súkromný kľúč (heslo) je uložený iba na strane servera. Ak si všimnete, pri otvorení stránky s predponou https sa v prehliadači pravidelne zobrazuje správa „nezabezpečené pripojenie“. To znamená, že je celkom možné, že súkromný kľúč je už dlho otvorený, hovoria, že bol kompromitovaný a útočníkom je známy. Preto takéto bezpečné spojenie môže, ale nemusí byť bezpečné.

V prípade asymetrického šifrovania je to o niečo jednoduchšie, pokiaľ ide o ukladanie hesiel, pretože tajný kľúč nie je potrebné s nikým zdieľať. Stačí, že to vie len jedna osoba alebo server. Zjednoduší sa aj otázka prelomenia hesla, pretože server môže kedykoľvek zmeniť pár kľúčov a každému poslať vytvorené verejné heslo.

Asymetrické šifrovanie je však „ťažšie“, inými slovami, vyžaduje viac počítačových zdrojov. Existujú aj obmedzenia na samotný proces generovania kľúčov (je potrebné ich ešte vybrať). Preto sa v praxi asymetrické šifrovanie zvyčajne používa iba na autentifikáciu a identifikáciu používateľa (napríklad prihlásenie na stránku), prípadne na vytvorenie kľúča relácie pre symetrické šifrovanie ( dočasné heslo na výmenu údajov medzi používateľom a serverom) alebo na vytváranie digitálnych podpisov, ktoré sú šifrované tajný kľúč. Ako ste už zrejme pochopili, v druhom prípade si každý môže takýto podpis overiť pomocou verejného kľúča, ktorý je verejne dostupný.

Dôležité body o symetrickom a asymetrickom šifrovaní

Najdôležitejší rozdiel medzi symetrickým a asymetrickým šifrovaním spočíva v ich prístupe. Preto, keď počujete alebo čítate článok o ich porovnaní ako „tento algoritmus je lepší“ bez uvedenia špecifík ( určité podmienky a úlohy), potom sa môžete pokojne pustiť do iných vecí, keďže ide o veľmi zbytočnú činnosť podobnú sporu „Čo je lepšie? Tank alebo loď?“. Žiadne špecifiká, nič. Existuje však dôležité body oplatí sa vedieť o:

1. Symetrický algoritmus je vhodný na prenos veľkého množstva šifrovaných údajov. Asymetrický algoritmus, ak sú ostatné veci rovnaké, bude výrazne pomalší. Okrem toho na organizovanie výmeny údajov pomocou asymetrického algoritmu musia obe strany poznať verejný a súkromný kľúč, alebo musia existovať dva takéto páry (jeden pár pre každú stranu).

2. Asymetrické šifrovanie umožňuje spustiť bezpečné pripojenie bez akéhokoľvek úsilia zo strany používateľa. Symetrický algoritmus predpokladá, že používateľ potrebuje „nejako zistiť heslo“. Malo by sa však chápať, že asymetrické algoritmy tiež neposkytujú 100% bezpečnosť. Sú napríklad náchylné na útoky typu man-in-the-middle. Podstatou toho druhého je, že medzi vami a serverom je nainštalovaný počítač, ktorý za vás posiela svoj verejný kľúč a na prenos údajov od vás používa verejný kľúč servera.

3. Z hľadiska prelomenia (kompromitovania) hesla je asymetrický algoritmus jednoduchší, keďže serverom stačí zmeniť pár kľúčov a distribuovať vytvorený verejný kľúč. V prípade symetrického šifrovania vyvstáva otázka, ako preniesť ďalšie heslo. Tieto obmedzenia sú však obchádzané, napríklad kľúče sú na oboch stranách neustále generované pomocou rovnakého algoritmu, potom je otázkou udržať tento algoritmus v tajnosti.

4. Symetrické algoritmy sú zvyčajne postavené na základe niektorých blokov s matematické funkcie transformácií. Preto je jednoduchšie modifikovať takéto algoritmy. Asymetrické algoritmy sú zvyčajne postavené na niektorých matematické problémy, napríklad. RSA je postavená na probléme umocňovania a modulo. Preto sú takmer nemožné alebo veľmi ťažko upraviteľné.

5. Asymetrické algoritmy sa zvyčajne používajú v spojení so symetrickými. Stáva sa to približne nasledujúcim spôsobom. Pomocou asymetrického algoritmu sa na server odošle užívateľom vytvorený kľúč relácie pre symetrické šifrovanie, po ktorom sa uskutoční výmena údajov podľa symetrického algoritmu. Poradie sa môže čiastočne zmeniť alebo kľúč môže byť vytvorený trochu inak, ale význam je približne rovnaký.

6. Vytvorte bezpečnostné kľúče (heslá) v asymetrické algoritmy je veľmi náročná úloha, na rozdiel od symetrické algoritmy, kde stačí sformovať kľúč podľa pravidiel pre generovanie bezpečných hesiel (čísla, písmená, malé a veľké písmená atď.). Avšak skutočnosť, že tajné heslo vie iba server, uľahčuje uchovávanie kľúča v bezpečí.

Prostriedky kryptografickej ochrany štátnych tajomstiev sú stále stotožňované so zbraňami. Len veľmi málo krajín na svete má svoje vlastné kryptografické spoločnosti, ktoré to naozaj robia dobré prostriedky ochranu informácií. Ani v mnohých vyspelých krajinách takáto možnosť neexistuje: neexistuje škola, ktorá by umožnila tieto technológie podporovať a rozvíjať. Rusko je jednou z mála krajín na svete – možno päť krajín – kde je toto všetko rozvinuté. Navyše v komerčnom aj verejnom sektore existujú firmy a organizácie, ktoré si zachovali kontinuitu kryptografickej školy z čias, keď ešte len vznikala.

Šifrovacie algoritmy

K dnešnému dňu existuje veľa šifrovacích algoritmov, ktoré majú značnú odolnosť voči kryptoanalýze (kryptografická sila). Šifrovacie algoritmy sú rozdelené do troch skupín:

  • Symetrické algoritmy
  • Asymetrické algoritmy
  • Hash algoritmy

Symetrické algoritmy

Symetrické šifrovanie zahŕňa použitie rovnakého kľúča na šifrovanie aj dešifrovanie. Na symetrické algoritmy sa vzťahujú dve hlavné požiadavky: úplná strata všetkých štatistických pravidelností v objekte šifrovania a absencia linearity. Je zvykom deliť symetrické systémy na blokové a prietokové.

V blokových systémoch sú zdrojové dáta rozdelené do blokov, po ktorých nasleduje transformácia pomocou kľúča.

V streamingových systémoch sa generuje určitá sekvencia (výstupná gama), ktorá je následne superponovaná na samotnú správu a dáta sú pri generovaní gama prúdom šifrované. Komunikačná schéma pomocou symetrického kryptosystému je znázornená na obrázku.

Kde M je obyčajný text, K je prenášaný tajný kľúč uzavretý kanál, En(M) je operácia šifrovania a Dk(M) je operácia dešifrovania

Symetrické šifrovanie zvyčajne používa komplexnú a viacstupňovú kombináciu substitúcií a permutácií zdrojových údajov a môže existovať veľa štádií (priechodov) a každý z nich musí zodpovedať „priechodovému kľúču“

Substitučná operácia spĺňa prvú požiadavku na symetrickú šifru, zbavenie sa akýchkoľvek štatistických údajov zmiešaním bitov správy podľa určitého daného zákona. Permutácia je nevyhnutná na splnenie druhej požiadavky - aby bol algoritmus nelineárny. To sa dosiahne nahradením určitej časti správy danej veľkosti štandardnou hodnotou odkazom na pôvodné pole.

Symetrické systémy majú výhody aj nevýhody oproti asymetrickým.

K výhodám symetrické šifry zahŕňajú vysokú rýchlosť šifrovania, menšiu požadovanú dĺžku kľúča s podobnou silou, väčšie znalosti a jednoduchosť implementácie. Nevýhodou symetrických algoritmov je predovšetkým zložitosť výmeny kľúča z dôvodu vysokej pravdepodobnosti narušenia utajenia kľúča pri výmene, ktorá je nevyhnutná, a zložitosť správy kľúčov vo veľkej sieti.

Príklady symetrických šifier

  • GOST 28147-89 - domáci štandard šifrovania
  • 3DES (Triple-DES, triple DES)
  • RC6 (Rivest Cipher)
  • Dve ryby
  • SEED - Kórejský šifrovací štandard
  • Camellia je japonský šifrovací štandard.
  • CAST (podľa iniciál vývojárov Carlisle Adams a Stafford Tavares)
  • XTEA je najjednoduchší algoritmus na implementáciu
  • AES - Americký štandard šifrovania
  • DES je americký štandard pre šifrovanie dát až po AES

Asymetrické algoritmy

Asymetrické systémy sa nazývajú aj kryptosystémy s verejným kľúčom. Ide o metódu šifrovania údajov, pri ktorej sa prenáša verejný kľúč otvorený kanál(nie je skrytý) a používa sa na overenie elektronického podpisu a na šifrovanie údajov. Na dešifrovanie a vytvorenie elektronického podpisu sa používa druhý kľúč, tajný.

Samotné zariadenie asymetrické kryptosystémy využíva myšlienku jednosmerných funkcií ƒ(x), v ktorých nie je ťažké nájsť x, pričom poznáme hodnotu samotnej funkcie, ale je takmer nemožné nájsť samotnú ƒ(x), keď poznáme iba hodnotu z x. Príkladom takejto funkcie je telefónny zoznam veľkého mesta, v ktorom je ľahké nájsť číslo osoby, poznať jeho priezvisko a iniciály, ale je veľmi ťažké, poznať číslo, vypočítať majiteľa.

Princíp fungovania asymetrických systémov

Predpokladajme, že existujú dvaja účastníci: A a B a účastník B chce poslať zašifrovanú správu účastníkovi A. Správu zašifruje pomocou verejného kľúča a odošle ju už zašifrovanú cez otvorený komunikačný kanál. Po prijatí správy ju predplatiteľ A dešifruje pomocou tajného kľúča a prečíta si ju.

Tu je potrebné urobiť objasnenie. Pri prijímaní správy musí predplatiteľ A overiť svoju identitu predplatiteľovi B, aby sa neprajník nemohol vydať za predplatiteľa A a nahradiť jeho verejný kľúč svojim vlastným.

Príklady asymetrických fontov

  • RSA (Rivest-Shamir-Adleman, Rivest-Shamir-Adleman)
  • DSA (Algoritmus digitálneho podpisu)
  • Elgamal (ElGamal Cipher System)
  • Diffie-Hellman (Výmena kľúčov Diffie-Hellman)
  • ECC (Elliptic Curve Cryptography, Elliptic Curve Cryptography)

Hashovacie funkcie

Hašovanie (z angl. hash) je transformácia počiatočného informačného poľa ľubovoľnej dĺžky na bitový reťazec pevnej dĺžky.

Existuje veľa algoritmov hašovacích funkcií a líšia sa svojimi charakteristikami - kryptografická sila, dĺžka slova, výpočtová zložitosť atď.

Zaujímajú nás kryptograficky silné hašovacie funkcie. Zvyčajne majú dve požiadavky:

  • Pre daná správa Je prakticky nemožné vyzdvihnúť ďalšiu správu C" s rovnakým hashom
  • Je prakticky nemožné vyzdvihnúť dvojice správ (SS), ktoré majú rovnaký hash.

Požiadavky sa nazývajú odolnosť proti zrážkam prvého druhu a druhého druhu. Pre takéto funkcie zostáva dôležitá ďalšia požiadavka: pri miernej zmene argumentu musí nastať významná zmena v samotnej funkcii. Hodnota hash by teda nemala poskytovať informácie ani o jednotlivých bitoch argumentu.

Príklady hash algoritmov

  • Adler-32
  • SHA-1
  • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • HAVAL
  • N-hash
    • RIPEMD-160
  • RIPEMD-256
  • RIPEMD-320
  • Koža
  • Snefru
  • tiger (TTH)
  • Whirlpool
  • GOST R34.11-94 (GOST 34.311-95)
  • Kontrolný súčet IP internetu (RFC 1071)

Kryptografické primitívy

Poskytnúť zašifrovaným informáciám väčšiu kryptografickú silu v kryptografickom systéme relatívne jednoduché premeny- primitívi. Primitívy môžu byť substitúcie, permutácie, rotácie alebo gama.

kvantová kryptografia

Kryptografia v digitálnych technológiách

Príbeh

Kryptografia je staroveká veda a jej pôvodné predmety boli textové správy, ktorý s pomocou určitých algoritmov stratil význam pre každého, kto nemal špeciálne znalosti na dešifrovanie tejto správy - kľúča.

Spočiatku sa používali metódy, ktoré sa dnes používajú len na hlavolamy, teda podľa súčasníka tie najjednoduchšie. Medzi takéto šifrovacie metódy patrí napríklad metóda nahrádzania, kedy je každé písmeno nahradené iným, oddeleným od neho v presne definovanej vzdialenosti v abecede. Alebo metóda permutačného šifrovania, keď sa písmená zamieňajú v určitom poradí v rámci slova.

V staroveku sa šifrovanie využívalo najmä vo vojenských a obchodných záležitostiach, špionáži, medzi pašerákmi.

O niečo neskôr historici určujú dátum objavenia sa ďalšej príbuznej vedy - steganografie. Táto veda sa zaoberá maskovaním samotnej skutočnosti prenosu správy. Vznikol v staroveku a príkladom je potvrdenka spartského kráľa Leonidasa pred bitkou s Peržanmi o doske s textom pokrytým suchým, ľahko opláchnutým roztokom. Pri čistení boli stopy, ktoré zostali na vosku pomocou stylusu, jasne viditeľné. Dnes sa na ukrytie správy používajú sympatické atramenty, mikrobodky, mikrofilmy atď.

S rozvojom matematiky sa začali objavovať matematické algoritmyšifrovanie, ale všetky tieto typy kryptografickej ochrany informácií uchovávali štatistické údaje v rôznej miere a zostali zraniteľné. Zraniteľnosť sa stala obzvlášť viditeľnou s vynálezom frekvenčná analýza, ktorý vyvinul v 9. storočí nášho letopočtu údajne arabský encyklopedista al-Kindi. A až v XV storočí, po vynáleze polyalfabetických písiem Leonom Battistom Albertim (pravdepodobne), ochrana prešla na kvalitatívne nová úroveň. V polovici 17. storočia však zaviedol Charles Babbage presvedčivé dôkazyčiastočná zraniteľnosť polyalfabetických fontov voči frekvenčnej analýze.

Rozvoj mechaniky umožnil vytvárať zariadenia a mechanizmy, ktoré uľahčujú šifrovanie – objavili sa také zariadenia ako Trithemiova štvorcová doska, disková šifra Thomasa Jeffersona. Ale všetky tieto zariadenia sa nedajú porovnávať s tými, ktoré vznikli v 20. storočí. Práve v tom čase sa začali objavovať rôzne šifrovacie stroje a mechanizmy vysokej zložitosti, napríklad rotačné stroje, z ktorých najznámejšia je Enigma.

Pred prudkým rozvojom vedy v 20. storočí sa kryptografi museli zaoberať len lingvistickými objektmi a v 20. storočí sa otvorili možnosti využitia rôznych matematických metód a teórií, štatistiky, kombinatoriky, teórie čísel a abstraktnej algebry.

Skutočný prelom v kryptografickej vede ale nastal s príchodom schopnosti reprezentovať akúkoľvek informáciu v binárnej forme, rozdelenú na bity pomocou počítačov, čo umožnilo vytvárať fonty s doteraz nevídanou kryptografickou silou. Takéto šifrovacie systémy sa, samozrejme, dajú hacknúť, no čas strávený hackovaním nie je v drvivej väčšine prípadov opodstatnený.

Dnes môžeme hovoriť o významnom vývoji v kvantovej kryptografii.

Literatúra

  • Barichev S.G., Goncharov V.V., Serov R.E. Základy modernej kryptografie. - M.: *Varfolomeev A. A., Žukov A. E., Pudovkina M. A. Streamové kryptosystémy. Základné vlastnosti a metódy analýzy stability. M.: PAIMS, 2000.
  • Yashchenko VV Úvod do kryptografie. Petrohrad: Peter, 2001. .
  • GOST 28147-89. Systémy spracovania informácií. Kryptografická ochrana. Algoritmus kryptografickej transformácie. Moskva: GK ZSSR podľa noriem, 1989.
  • GOST R 34.10-94. Informačné technológie. Kryptografická ochrana informácie. *GOST R 34.11-94. Informačné technológie. Kryptografická ochrana informácií. hašovacia funkcia. M., 1995.
  • GOST R 34.10-2001 Informačné technológie. Kryptografická ochrana informácií. Procesy tvorby a overovania elektron digitálny podpis. M., 2001.
  • Nechaev VI Prvky kryptografie (Základy teórie informačnej bezpečnosti). Moskva: Vyššia škola, 1999.
  • Zhelnikov V. Kryptografia z papyrusu do počítača. M.: AVR, 1996.

V symetrickom šifrovacom kryptosystéme sa na šifrovanie a dešifrovanie informácií používa rovnaký kľúč. To znamená, že ktokoľvek s prístupom k šifrovaciemu kľúču môže správu dešifrovať. Aby sa zabránilo neoprávnenému zverejneniu zašifrovaných informácií, musia byť všetky šifrovacie kľúče v symetrických kryptosystémoch utajené. Preto sa symetrické kryptosystémy nazývajú kryptosystémy s tajným kľúčom – šifrovací kľúč by mal mať k dispozícii len ten, komu je správa určená. Symetrické kryptosystémy sa tiež nazývajú kryptosystémy s jedným kľúčom. kryptografických systémov. Schéma symetrického šifrovacieho kryptosystému je znázornená na obr. 4.3.

Ryža. 4.3. Symetrický šifrovací kryptosystém

Tieto kryptosystémy sa vyznačujú naj vysoká rýchlosťšifrovanie a s ich pomocou je zabezpečená dôvernosť a autenticita a integrita prenášaných informácií.

Dôvernosť prenosu informácií pomocou symetrického kryptosystému závisí od spoľahlivosti šifry a zabezpečenia dôvernosti šifrovacieho kľúča. Typicky je šifrovacím kľúčom súbor alebo dátové pole a je uložený na osobnom nosiči kľúčov, ako je disketa alebo čipová karta; je povinné prijať opatrenia, ktoré zabezpečia, že osobný nosič kľúčov nebude dostupný nikomu inému ako jeho vlastníkovi.

Autenticita je zabezpečená tým, že bez predbežného dešifrovania je prakticky nemožné vykonať sémantickú modifikáciu a falšovanie kryptograficky. uzavretá správa. Falošnú správu nemožno správne zašifrovať bez znalosti tajného kľúča.

Integrita údajov je zabezpečená pripojením k prenášaným údajom špeciálny kód(imitácia predpony) vygenerovaná tajným kľúčom. Imitačná predpona je druh kontrolného súčtu, to znamená nejaká referenčná charakteristika správy, podľa ktorej sa kontroluje integrita správy. Algoritmus na vytvorenie imitácie prefixu musí zabezpečiť jej závislosť od každého bitu správy podľa nejakého zložitého kryptografického zákona. Kontrolu integrity správy vykonáva príjemca správy vygenerovaním spoofu z tajného kľúča zodpovedajúceho prijatej správe a jeho porovnaním s prijatou spoof hodnotou. Ak dôjde k zhode, dôjde k záveru, že informácie neboli upravené na ceste od odosielateľa k príjemcovi.



Symetrické šifrovanie je ideálne na zašifrovanie informácií „pre seba“, aby sa napríklad zabránilo nepovolený prístup jej v neprítomnosti majiteľa. Môže to byť buď archívne šifrovanie vybraných súborov alebo transparentné (automatické) šifrovanie celých logických alebo fyzických diskov.

Jednokľúčové kryptosystémy s vysokou rýchlosťou šifrovania umožňujú riešiť mnohé dôležité problémy ochrany informácií. Avšak offline použitie symetrické kryptosystémy v počítačové siete vyvoláva problém distribúcie šifrovacích kľúčov medzi používateľov.

Pred začatím výmeny zašifrovaných údajov je potrebné vymeniť si tajné kľúče so všetkými príjemcami. Prenos tajného kľúča symetrického kryptosystému nie je možné uskutočniť cez verejné komunikačné kanály, tajný kľúč sa musí odosielateľovi a príjemcovi preniesť cez zabezpečený kanál.

Existujú implementácie symetrických šifrovacích algoritmov na šifrovanie údajov predplatiteľa - to znamená na odosielanie šifrovaných informácií predplatiteľovi, napríklad cez internet. Použitie jedného kľúča pre všetkých účastníkov takejto kryptografickej siete je z bezpečnostných dôvodov neprijateľné. V prípade kompromitácie (straty, krádeže) kľúča bude skutočne ohrozený tok dokumentov všetkých účastníkov. V tomto prípade možno použiť kľúčovú maticu (obrázok 4.4).

Matica kľúčov je tabuľka obsahujúca párovacie kľúče účastníkov. Každý prvok tabuľky je určený na komunikáciu účastníkov i a j a je k dispozícii iba dvom daným predplatiteľom. V súlade s tým platí pre všetky prvky kľúčovej matice rovnosť

. (4.3)

Obr.4.4. Kľúčová matica

Každý i-tý riadok matice je súbor kľúčov konkrétneho účastníka i komunikovať s ostatnými N- 1 predplatiteľov. Sady kľúčov (sieťové sady) sú rozdelené medzi všetkých účastníkov kryptografickej siete. Podobne ako vyššie by sa mali distribuovať siete cez zabezpečené kanály komunikácia alebo z ruky do ruky.



charakteristický znak symetrických kryptoalgoritmov je, že v priebehu svojej práce transformujú blok vstupné informácie pevnú dĺžku a získajte výsledný blok rovnakej veľkosti, ale nečitateľný pre tretie strany, ktoré kľúč nevlastnia. Operačná schéma symetrickej blokovej šifry môže byť opísaná funkciami

kde M– počiatočný (otvorený) dátový blok; OD– zašifrovaný blok údajov.

kľúč Komu je parameter kryptoalgoritmu symetrického bloku a je blokom binárne informácie pevná veľkosť. originálny M a zašifrované OD dátové bloky majú tiež pevnú bitovú šírku, ktorá sa navzájom rovná, ale nie nevyhnutne rovná dĺžke kľúč Komu.

Blokové šifry sú základom, na ktorom sú implementované takmer všetky symetrické kryptosystémy. Symetrické kryptosystémy umožňujú kódovať a dekódovať súbory ľubovoľnej dĺžky. Takmer všetky algoritmy používajú na transformácie určitý súbor vratné matematické transformácie.

Spôsob vytvárania reťazcov bajtov šifrovaných blokovými algoritmami im umožňuje šifrovať informačné pakety neobmedzenej dĺžky. Na výpočet sa využíva chýbajúca štatistická korelácia medzi bitmi výstupného prúdu blokovej šifry kontrolné súčty dátové pakety a hashovanie hesiel.

Kryptalgoritmus sa považuje za ideálne bezpečný, ak na čítanie zašifrovaného bloku údajov je potrebné prehľadávať všetky možné kľúče, kým dešifrovaná správa nemá zmysel. AT všeobecný prípad sila blokovej šifry závisí len od dĺžky kľúča a exponenciálne rastie s jeho rastom.

Ak chcete získať silné blokové šifry, použite dve všeobecný princíp:

¨ difúzia- je rozdelenie vplyvu jedného znaku otvoreného textu na mnoho znakov šifrového textu, čo umožňuje skryť štatistické vlastnosti otvoreného textu.

¨ miešanie- používanie takých šifrovacích transformácií, ktoré sťažujú obnovenie vzťahu medzi štatistickými vlastnosťami obyčajných a šifrovaných textov.

Šifra by však mala nielen sťažiť odhalenie, ale mala by tiež uľahčovať šifrovanie a dešifrovanie pomocou tajného kľúča známeho používateľovi.

Bežným spôsobom, ako dosiahnuť efekty rozptylu a miešania, je použitie zloženej šifry, to znamená takej, ktorú možno implementovať ako sekvenciu jednoduché šifry, z ktorých každý prispieva k výraznému celkovému rozptylu a miešaniu.

V zložených šifrách sa ako jednoduché šifry najčastejšie používajú jednoduché permutácie a substitúcie. Permutácia jednoducho zamieša znaky otvoreného textu, pričom konkrétny druh premiešania určí tajný kľúč. Pri nahrádzaní je každý znak v otvorenom texte nahradený iným znakom z rovnakej abecedy a konkrétny typ nahrádzania je určený aj tajným kľúčom. Treba poznamenať, že v modernej blokovej šifre sú bloky otvoreného textu a šifrového textu binárne sekvencie, zvyčajne dlhé 64 alebo 128 bitov. Pri dĺžke 64 bitov môže mať každý blok 264 hodnôt. Preto sa substitúcie robia vo veľmi veľkej abecede obsahujúcej až 2 64 ~ 10 19 "znakov".

Opakovaným striedaním jednoduchých permutácií a substitúcií riadených dostatočne dlhým tajným kľúčom možno získať silnú šifru s dobrým rozptylom a miešaním.

Všetky akcie vykonávané blokovým kryptoalgoritmom na dátach sú založené na skutočnosti, že konvertovaný blok môže byť reprezentovaný ako nezáporné celé číslo z rozsahu zodpovedajúceho jeho kapacite. Napríklad 32-bitový blok údajov možno interpretovať ako číslo z rozsahu 0...4294 967 295. Okrem toho blok, ktorého bitová šírka je "mocnina dvoch", možno interpretovať ako zreťazenie niekoľkých nezávislé nezáporné čísla z menšieho rozsahu (32-bitový blok môže byť reprezentovaný aj ako zreťazenie dvoch nezávislých 16-bitových čísel z rozsahu 0...65535 alebo ako zreťazenie štyroch nezávislých 8-bitových čísel z rozsahu 0...255).

Na týchto číslach blokový kryptoalgoritmus vykonáva akcie uvedené v tabuľke 1 podľa určitej schémy. 4.1.

Tabuľka 4.1. Akcie vykonávané kryptalgoritmi na číslach

Ako parameter V pre ktorúkoľvek z týchto transformácií možno použiť:

¨ pevné číslo (napr. X"= X + 125);

¨ číslo získané z kľúča (napr. X"= X + F(K));

¨ číslo získané z nezávislej časti bloku (napr. X 2" = X 2 + F(X 1)).

Postupnosť operácií vykonaných na bloku, kombinácie vyššie uvedených možností V a samotné funkcie F a make up charakteristické rysyšpecifický symetrický blokový kryptoalgoritmus.

charakteristický znak blokové algoritmy je viacnásobné a nepriame využitie kľúčového materiálu. Je to dané predovšetkým požiadavkou nemožnosti spätného dekódovania vzhľadom na kľúč, keď je známy originál a šifrové texty. Na vyriešenie tohto problému uvedené transformácie najčastejšie nepoužívajú samotnú kľúčovú hodnotu alebo jej časť, ale nejakú, niekedy nezvratnú, funkciu kľúčového materiálu. Navyše pri takýchto transformáciách sa opakovane používa rovnaký blok alebo kľúčový prvok. To umožňuje, pod podmienkou, že funkcia je invertovateľná vzhľadom na množstvo X urobiť funkciu nezvratnou vzhľadom na kľúč Komu.