• Symetrické šifrování. Algoritmy šifrování dat. Symetrické šifrovací algoritmy. Šifrovací algoritmus RSA. DES šifrovací algoritmus. Výběr šifrovacího algoritmu

    V symetrickém šifrovacím kryptosystému se k šifrování a dešifrování informací používá stejný klíč. To znamená, že kdokoli s přístupem k šifrovacímu klíči může zprávu dešifrovat. Aby se zabránilo neoprávněnému zveřejnění zašifrovaných informací, musí být všechny šifrovací klíče v symetrických kryptosystémech uchovávány v tajnosti. Proto se symetrické kryptosystémy nazývají kryptosystémy s tajným klíčem – šifrovací klíč by měl mít k dispozici pouze ten, komu je zpráva určena. Symetrické kryptosystémy se také nazývají jednoklíčové kryptografické systémy. Schéma symetrického šifrovacího kryptosystému je znázorněno na Obr. 4.3.

    Rýže. 4.3. Symetrický šifrovací kryptosystém

    Tyto kryptosystémy se vyznačují nejvyšší rychlostí šifrování a s jejich pomocí je zajištěna jak důvěrnost a autenticita, tak i celistvost přenášených informací.

    Důvěrnost přenosu informací pomocí symetrického kryptosystému závisí na spolehlivosti šifry a zajištění důvěrnosti šifrovacího klíče. Typicky je šifrovacím klíčem soubor nebo pole dat a je uloženo na osobním nosiči klíče, jako je disketa nebo čipová karta; je povinné přijmout opatření, která zajistí, že osobní nosič klíčů nebude dostupný nikomu jinému než jeho vlastníkovi.

    Autenticita je zajištěna tím, že bez předběžného dešifrování je prakticky nemožné provádět sémantickou modifikaci a falšování kryptograficky. uzavřená zpráva. Falešnou zprávu nelze bez vědomí řádně zašifrovat tajný klíč.

    Integrita dat je zajištěna připojením speciálního kódu (imitace prefixu) k přenášeným datům, generovaného tajným klíčem. Předpona imitace je druh kontrolního součtu, to znamená nějaká referenční charakteristika zprávy, podle které se kontroluje integrita zprávy. Algoritmus pro vytvoření imitačního prefixu musí zajistit jeho závislost na každém bitu zprávy podle nějakého složitého kryptografického zákona. Kontrolu integrity zprávy provádí příjemce zprávy tak, že z tajného klíče odpovídajícího přijaté zprávě vygeneruje falzifikát a porovná jej s přijatou falešnou hodnotou. Pokud existuje shoda, dochází se k závěru, že informace nebyla upravena na cestě od odesílatele k příjemci.



    Symetrické šifrování je ideální pro zašifrování informací „pro sebe“, například k zamezení neautorizovaný přístup jí v nepřítomnosti majitele. Může se jednat buď o archivní šifrování vybraných souborů nebo transparentní (automatické) šifrování celých logických či fyzických disků.

    Jednoklíčové šifrovací systémy s vysokou rychlostí šifrování umožňují řešení mnoha důležitých problémů ochrany informací. nicméně offline použití symetrické kryptosystémy počítačové sítě vyvolává problém distribuce šifrovacích klíčů mezi uživatele.

    Před zahájením výměny šifrovaných dat je nutné vyměnit si tajné klíče se všemi příjemci. Přenos tajného klíče symetrického kryptosystému nelze provést prostřednictvím veřejných komunikačních kanálů, tajný klíč musí být předán odesílateli a příjemci zabezpečeným kanálem.

    Existují implementace symetrických šifrovacích algoritmů pro šifrování dat předplatitele - to znamená pro zasílání šifrovaných informací předplatiteli, například přes internet. Použití jednoho klíče pro všechny účastníky takové kryptografické sítě je z bezpečnostních důvodů nepřijatelné. V případě kompromitace (ztráta, krádež) klíče bude skutečně ohrožen tok dokumentů všech účastníků. V tomto případě lze použít klíčovou matici (obrázek 4.4).

    Matice klíčů je tabulka obsahující párovací klíče účastníků. Každý prvek tabulky je určen pro komunikaci účastníků i A j a je k dispozici pouze dvěma daným předplatitelům. V souladu s tím platí pro všechny prvky klíčové matice rovnost

    . (4.3)

    Obr.4.4. Klíčová matice

    Každý i-tý řádek matice je sada klíčů konkrétního účastníka i komunikovat s ostatními N- 1 předplatitelé. Sady klíčů (síťové sady) jsou distribuovány mezi všechny účastníky kryptografické sítě. Podobně jako výše by měly být distribuovány netsety prostřednictvím zabezpečených kanálů komunikace nebo z ruky do ruky.



    charakteristický rys symetrických kryptoalgoritmů spočívá v tom, že v průběhu své práce transformují blok vstupních informací pevné délky a získají výsledný blok o stejné velikosti, ale nečitelný pro třetí strany, které klíč nevlastní. Operační schéma symetrické blokové šifry lze popsat pomocí funkcí

    Kde M– počáteční (otevřený) datový blok; S– zašifrovaný blok dat.

    Klíč NA je parametr symetrického blokového kryptoalgoritmu a je blokem binární informace pevná velikost. originál M a zašifrované S datové bloky mají také pevnou bitovou šířku, která se navzájem rovná, ale ne nutně rovná délce klíč NA.

    Blokové šifry jsou základem, na kterém jsou implementovány téměř všechny symetrické kryptosystémy. Symetrické kryptosystémy umožňují kódovat a dekódovat soubory libovolné délky. Téměř všechny algoritmy používají pro transformace určitou sadu vratných matematických transformací.

    Metoda vytváření řetězců bytů zašifrovaných blokovými algoritmy jim umožňuje šifrovat informační pakety neomezené délky. Chybějící statistická korelace mezi bity výstupního proudu blokové šifry se používá k výpočtu kontrolní součty datové pakety a hašování hesel.

    Kryptalgoritmus je považován za ideálně bezpečný, pokud je pro přečtení zašifrovaného bloku dat nutné prohledávat všechny možné klíče, dokud dešifrovaná zpráva nemá smysl. Obecně platí, že síla blokové šifry závisí pouze na délce klíče a roste exponenciálně s jeho růstem.

    Chcete-li získat silné blokové šifry, použijte dvě obecné zásady:

    ¨ difúze- je rozložení vlivu jednoho znaku otevřeného textu na mnoho znaků šifrového textu, což umožňuje skrýt statistické vlastnosti otevřeného textu.

    ¨ míchání– použití takových transformací šifrování, které komplikují obnovení vztahu statistické vlastnosti otevřené a šifrované texty.

    Šifra by však měla nejen ztížit odhalení, ale také zajistit snadné šifrování a dešifrování pomocí tajného klíče známého uživateli.

    Běžným způsobem, jak dosáhnout rozptylových a směšovacích efektů, je použití složené šifry, tedy takové, kterou lze implementovat jako nějakou sekvenci jednoduchých šifer, z nichž každá přispívá k výraznému celkovému rozptylu a promíchání.

    Ve složených šifrách se jako jednoduché šifry nejčastěji používají jednoduché permutace a substituce. Permutace jednoduše zamíchá znaky otevřeného textu, přičemž konkrétní druh míchání je určen tajným klíčem. Při substituci je každý znak v otevřeném textu nahrazen jiným znakem ze stejné abecedy a konkrétní typ substituce je také určen tajným klíčem. Je třeba poznamenat, že v moderní blokové šifře jsou bloky otevřeného textu a šifrového textu binární sekvence, obvykle dlouhé 64 nebo 128 bitů. Při délce 64 bitů může každý blok nabývat 264 hodnot. Proto se substituce provádějí ve velmi velké abecedě obsahující až 2 64 ~ 10 19 "znaků".

    Opakovaným střídáním jednoduchých permutací a substitucí řízených dostatečně dlouhým tajným klíčem lze získat silnou šifru s dobrým rozptylem a mícháním.

    Všechny akce prováděné blokovým kryptoalgoritmem s daty jsou založeny na skutečnosti, že převáděný blok může být reprezentován jako nezáporné celé číslo z rozsahu odpovídající jeho kapacitě. Například 32bitový blok dat lze interpretovat jako číslo z rozsahu 0...4294 967 295. Navíc blok, jehož bitová šířka je "mocnina dvou", může být interpretován jako zřetězení několika nezáporná nezáporná čísla z menšího rozsahu (32-bitový blok lze také reprezentovat jako zřetězení dvou nezávislých 16bitových čísel z rozsahu 0...65535 nebo jako zřetězení čtyř nezávislých 8bitových čísel z rozsahu 0...255).

    Na těchto číslech blokový kryptoalgoritmus provádí akce uvedené v tabulce 1 podle určitého schématu. 4.1.

    Tabulka 4.1. Akce prováděné kryptalgoritmy na číslech

    Jako parametr PROTI pro kteroukoli z těchto transformací lze použít:

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

    ¨ číslo získané z klíče (např. X"= X + F(K));

    ¨ číslo získané z nezávislé části bloku (např. X 2" = X 2 + F(X 1)).

    Posloupnost operací prováděných na bloku, kombinace výše uvedených možností PROTI a samotné funkce F a make up charakteristické rysy specifický symetrický blokový kryptoalgoritmus.

    Charakteristickým rysem blokových algoritmů je opakované a nepřímé použití klíčového materiálu. To je dáno především požadavkem nemožnosti zpětného dekódování vzhledem ke klíči, když je znám původní a šifrový text. K vyřešení tohoto problému výše uvedené transformace nejčastěji nepoužívají samotnou klíčovou hodnotu nebo její část, ale nějakou, někdy nevratnou, funkci klíčového materiálu. Navíc se v takových transformacích opakovaně používá stejný blok nebo klíčový prvek. To umožňuje za podmínky, že funkce je invertibilní vzhledem k množství X učinit funkci nevratnou vzhledem ke klíči NA.

    určitý algoritmusšifrování, jehož vstupem je původní nezašifrovaná zpráva, tzv prostý text, a klíč. Výstup algoritmu je zašifrovaná zpráva, nazývaná také šifrovaný text. Klíč je hodnota nezávislá na šifrované zprávě. Změna klíče musí změnit šifrovanou zprávu.

    Zašifrovaná zpráva je odeslána příjemci. Příjemce převede zašifrovanou zprávu na původní nezašifrovanou zprávu pomocí dešifrovacího algoritmu a stejného klíče, který byl použit při šifrování, nebo klíče snadno získaného z šifrovací klíč.

    Nešifrovaná zpráva bude označena P nebo M, ze slov prostý text a zpráva. Šifrovaná zpráva bude označena C, od slova šifrový text.

    Zabezpečení poskytované tradiční kryptografií závisí na několika faktorech.

    Za prvé, kryptografický algoritmus musí být dostatečně silný, aby přenášenou zašifrovanou zprávu nebylo možné dešifrovat bez klíče, pouze za použití různých statistických vzorů zašifrované zprávy nebo jiných prostředků pro její analýzu.

    Za druhé, bezpečnost přenášené zprávy musí záviset na utajení klíče, nikoli však na utajení algoritmu. Algoritmus by měl být analyzován odborníky, aby se vyloučila přítomnost slabin, v jejichž přítomnosti je vztah mezi nešifrovanými a zašifrovanými zprávami špatně skryt. Pokud je navíc tato podmínka splněna, výrobci mohou vytvářet levné hardwarové čipy a volně distribuované programy, které toto implementují šifrovací algoritmus.

    Za třetí, algoritmus musí být takový, aby nebylo možné klíč zjistit, a to ani při znalosti dostatečného počtu párů (šifrovaná zpráva, nešifrovaná zpráva) získaných šifrováním pomocí tohoto klíče.

    Claude Shannon představil pojmy difúze a zmatení, které je popsal síla algoritmušifrování.

    Difúze je rozptyl statistických rysů otevřeného textu v širokém rozsahu statistických rysů šifrovaného textu. Toho je dosaženo tím, že hodnota každého prvku otevřeného textu ovlivňuje hodnoty mnoha prvků šifrovaného textu, nebo ekvivalentně jakýkoli prvek šifrovaného textu závisí na mnoha prvcích otevřeného textu.

    Zmatek je zničení statistického vztahu mezi šifrovým textem a klíčem.

    Pokud X je původní zpráva a K je kryptografický klíč, pak lze zašifrovaný přenášený text zapsat jako

    Příjemce pomocí stejného klíče zprávu dešifruje

    Protivník, který nemá přístup ke K a X, se musí pokusit zjistit X, K nebo obojí.

    Symetrické šifrovací algoritmy se liší způsobem zpracování zdrojového textu. Je možné blokové šifrování nebo šifrování streamu.

    S blokem textu se zachází jako s nezáporným celým číslem nebo jako s několika nezávislými nezápornými celými čísly. Délka bloku se vždy volí tak, aby se rovnala mocnině dvou. Ve většině blokových algoritmů symetrické šifrování Jsou používány následující typy operace:

    Tyto operace se v algoritmu cyklicky opakují a tvoří tzv kola. Vstupem každého kola je výstup z předchozího kola a klíč získaný z určitý algoritmus ze šifrovacího klíče K . Klíč kola se nazývá podklíč. Každý šifrovací algoritmus může být reprezentován následovně:


    Rýže. 2.2.

    Oblasti použití

    Standard šifrovací algoritmus by měly být použitelné v mnoha aplikacích:

    • Šifrování dat. Algoritmus musí být účinný při šifrování datových souborů nebo velkého datového toku.
    • Stvoření náhodná čísla. Algoritmus musí být účinný při generování určitého počtu náhodných bitů.
    • Hašování. Algoritmus se musí efektivně převést na jednosměrnou hašovací funkci.

    Platformy

    Standard šifrovací algoritmus musí být implementovány na různých platformách, které proto mají různé požadavky.

    • Algoritmus musí být efektivně implementován na specializovaném hardwaru navrženém k provádění šifrování/dešifrování.
    • Velké procesory. I když pro většinu rychlé aplikace vždy se používá speciální hardware, častěji se používají softwarové implementace. Algoritmus musí umožňovat efektivní softwarovou implementaci na 32bitových procesorech.
    • Střední procesory. Algoritmus musí fungovat mikrokontroléry a další středně velké procesory.
    • malé procesory. Algoritmus by mělo být možné implementovat na čipové karty, i když se vezmou v úvahu přísná omezení použité paměti.

    Další požadavky

    Šifrovací algoritmus měly by pokud možno splňovat některé další požadavky.

    • Algoritmus by měl být snadno zapisovatelný, aby se minimalizovala možnost programovacích chyb.
    • Algoritmus musí mít plochý klíčový prostor a umožnit libovolný náhodný řetězec bitů požadované délky možný klíč. Slabé klíče jsou nežádoucí.
    • Algoritmus by měl být snadno modifikován pro různé úrovně zabezpečení a měl by splňovat minimální i maximální požadavky.
    • Všechny datové operace musí být prováděny na blocích, které jsou násobky bajtu nebo 32bitového slova.

    Symetrické kryptosystémy

    Symetrické kryptosystémy (také symetrické šifrování, symetrické šifry) jsou šifrovací metodou, při které se pro šifrování i dešifrování používá stejný šifrovací klíč. Před vynálezem schématu asymetrického šifrování bylo jedinou metodou, která existovala, symetrické šifrování. Klíč algoritmu musí být oběma stranami utajen. Klíč algoritmu si strany zvolí před zahájením výměny zpráv.

    V současné době jsou symetrické šifry:

    1. Blokové šifry - zpracovávat informace v blocích o určité délce (obvykle 64, 128 bitů), přiložením klíče k bloku v v pravý čas, obvykle několika cykly míchání a substituce, nazývané kola. Výsledkem opakování kol je lavinový efekt – rostoucí ztráta bitové korespondence mezi bloky otevřených a šifrovaných dat.

    2. Streamové šifry - ve kterém je šifrování prováděno přes každý bit nebo byte zdrojového (prostého) textu pomocí gama. Proudovou šifru lze snadno vytvořit na základě blokové šifry (například GOST 28147-89 v gama režimu) spuštěné ve speciálním režimu.

    Kryptografický systém s veřejným klíčem

    Kryptografický systém s veřejným klíčem (příp Asymetrické šifrování, Asymetrická šifra) - systém šifrování informací, ve kterém je klíč, který šifruje zprávu, a samotná šifrovaná zpráva přenášeny otevřeným (tj. nechráněným, přístupným pro pozorování) kanálem. Příjemce použije soukromý klíč k vygenerování veřejného klíče a ke čtení zašifrované zprávy. Kryptografické systémy s veřejným klíčem jsou v současné době široce používány v různých síťových protokolů, zejména v protokolu SSL a protokolech na něm založených aplikační vrstva HTTPS, SSH atd.

    Rýže. 7.

    1. Příjemce vygeneruje klíč. Klíč je rozdělen na otevřenou a uzavřenou část. V čem veřejný klíč by neměly být přenášeny přes otevřený kanál. Nebo jeho pravost musí zaručit nějaký certifikační orgán.

    2. Odesílatel použije veřejný klíč k zašifrování zprávy.

    3. Příjemce dešifruje zprávu pomocí soukromého klíče.

    Nevýhoda metody: ačkoli je zpráva bezpečně zašifrována, příjemce a odesílatel jsou „zvýrazněni“ samotnou skutečností odeslání zašifrované zprávy.

    Obecnou myšlenkou kryptografického systému s veřejným klíčem je použití při šifrování zprávy takové funkce z veřejného klíče a zprávy (funkce šifry), kterou je algoritmicky velmi obtížné zvrátit, tj. vypočítat její argument z hodnoty funkce, i když zná hodnotu klíče.

    Funkce systému

    Výhoda asymetrické šifry oproti symetrickým šifrám je, že není potřeba přenášet tajný klíč. Strana, která si přeje přijímat šifrované texty v souladu s použitým algoritmem, vygeneruje pár veřejný klíč-soukromý klíč. Klíčové hodnoty spolu souvisejí, nicméně výpočet jedné hodnoty od druhé by z praktického hlediska neměl být možný. Veřejný klíč je publikován ve veřejných adresářích a používá se k šifrování informací protistranou. Soukromý klíč je uchováván v tajnosti a používá se k dešifrování zprávy zaslané vlastníkovi páru klíčů. Asymetrické šifry začaly v roce 1976 s New Directions in Modern Cryptography od Whitfielda Diffieho a Martina Hellmana. Navrhli sdílený tajný systém výměny klíčů založený na problému diskrétního logaritmu. Obecně jsou známé asymetrické kryptosystémy založeny na jednom ze složitých matematických problémů, který umožňuje sestavení jednosměrných funkcí a funkcí pastí. Například kryptosystém Rivest-Shamir-Adelman využívá problém faktorizace velká čísla, a kryptosystémy Merkle-Hellman a Hoare-Rivest spoléhají na takzvaný problém batohu.

    Nedostatky- asymetrické kryptosystémy vyžadují podstatně větší výpočetní zdroje. Dále je nutné zajistit autenticitu (pravost) samotných veřejných klíčů, k čemuž se obvykle používají certifikáty.

    Hybridní (nebo kombinovaný) kryptosystém je šifrovací systém, který má všechny výhody kryptosystému s veřejným klíčem, ale postrádá jeho hlavní nevýhodu – nízkou rychlost šifrování.

    Zásada: Kryptografické systémy využívají dva hlavní kryptosystémy: symetrickou a asymetrickou kryptografii. Na tomto principu jsou postaveny programy jako PGP a GnuPG.

    Hlavní nevýhoda asymetrická kryptografie je pomalá kvůli složitým výpočtům požadovaným jejími algoritmy, zatímco symetrická kryptografie tradičně vykazuje skvělý výkon. Symetrické kryptosystémy však mají jednu významnou nevýhodu – jejich použití vyžaduje bezpečný kanál pro přenos klíčů. K překonání tohoto nedostatku se uchylují k asymetrickým kryptosystémům, které používají dvojici klíčů: veřejný a soukromý.

    Šifrování: Většina šifrovacích systémů funguje následujícím způsobem. Pro symetrický algoritmus (3DES, IDEA, AES nebo jakýkoli jiný) je generován náhodný klíč. Takový klíč má zpravidla velikost od 128 do 512 bitů (v závislosti na algoritmu). K zašifrování zprávy je pak použit symetrický algoritmus. Když bloková šifra musíte použít režim šifrování (například CBC), který vám umožní zašifrovat zprávu o délce větší, než je délka bloku. Pokud jde o samotný náhodný klíč, musí být zašifrován veřejným klíčem příjemce zprávy a právě v této fázi je aplikován kryptosystém veřejného klíče (RSA nebo Diffie-Hellman Algorithm). Protože je náhodný klíč krátký, jeho zašifrování chvíli trvá. Šifrování sady zpráv pomocí asymetrický algoritmus-- tato úloha je výpočetně složitější, proto je zde vhodnější použít symetrické šifrování. Pak už stačí poslat zprávu zašifrovanou symetrickým algoritmem a také odpovídající klíč v zašifrované podobě. Příjemce nejprve dešifruje klíč pomocí svého soukromého klíče a poté obdrží celou zprávu pomocí přijatého klíče.

    Digitální podpis poskytuje:

    * Identifikace zdroje dokumentu. V závislosti na podrobnostech definice dokumentu lze podepsat pole jako „autor“, „provedené změny“, „časové razítko“ atd.

    * Ochrana proti změnám dokumentu. Jakákoli náhodná nebo úmyslná změna dokumentu (nebo podpisu) změní šifru, a proto se podpis stane neplatným.

    Jsou možné následující hrozby digitálního podpisu:

    *Útočník se může pokusit zfalšovat podpis pro dokument podle svého výběru.

    *Útočník se může pokusit přiřadit dokument k danému podpisu tak, aby se s ním podpis shodoval.

    Při použití funkce silné šifry je výpočetně obtížné vytvořit falešný dokument se stejnou šifrou, jako je ten pravý. Tyto hrozby však mohou být realizovány kvůli slabým stránkám, zejména algoritmům ukládání do mezipaměti, signaturám nebo chybám v jejich implementacích. Stále jsou však možné následující hrozby pro systémy digitálního podpisu:

    *Útočník, který ukradne soukromý klíč, může jménem vlastníka klíče podepsat jakýkoli dokument.

    *Útočník může majitele oklamat, aby podepsal dokument, například pomocí slepého podpisového protokolu.

    *Útočník může nahradit veřejný klíč vlastníka svým vlastním a vydávat se za něj.

    Prostředky kryptografické ochrany státních tajemství jsou stále ztotožňovány se zbraněmi. Jen velmi málo zemí na světě má své vlastní kryptografické společnosti, které to skutečně dělají dobré prostředky ochrana informací. Ani v mnoha vyspělých zemích taková možnost neexistuje: neexistuje škola, která by umožnila tyto technologie podporovat a rozvíjet. Rusko je jednou z mála zemí na světě – možná pět zemí – kde je toto všechno rozvinuto. Navíc v komerčním i veřejném sektoru existují společnosti a organizace, které si zachovaly kontinuitu kryptografické školy z doby, kdy teprve vznikala.

    Šifrovací algoritmy

    K dnešnímu dni existuje mnoho šifrovacích algoritmů, které mají významnou odolnost vůči kryptoanalýze (kryptografická síla). Šifrovací algoritmy jsou rozděleny do tří skupin:

    • Symetrické algoritmy
    • Asymetrické algoritmy
    • Hashovací algoritmy

    Symetrické algoritmy

    Symetrické šifrování zahrnuje použití stejného klíče pro šifrování i dešifrování. Pro symetrické algoritmy platí dva hlavní požadavky: úplná ztráta všech statistických pravidelností v objektu šifrování a absence linearity. Je zvykem dělit symetrické systémy na blokové a průtokové.

    V blokových systémech jsou zdrojová data rozdělena do bloků s následnou transformací pomocí klíče.

    Ve streamovacích systémech se generuje určitá sekvence (výstupní gama), která je následně superponována na samotnou zprávu a data jsou při generování gama proudem šifrována. Komunikační schéma pomocí symetrického kryptosystému je znázorněno na obrázku.

    Kde kde M je prostý text, K je přenášený tajný klíč uzavřený kanál, En(M) je operace šifrování a Dk(M) je operace dešifrování

    Symetrické šifrování obvykle používá komplexní a vícestupňovou kombinaci substitucí a permutací zdrojových dat a může existovat mnoho fází (průchodů) a každá z nich musí odpovídat „klíči“.

    Substituční operace splňuje první požadavek na symetrickou šifru, zbavuje se jakýchkoli statistických dat smícháním bitů zprávy podle určitého daného zákona. Permutace je nezbytná pro splnění druhého požadavku - aby byl algoritmus nelineární. Toho je dosaženo nahrazením určité části zprávy dané velikosti standardní hodnotou odkazem na původní pole.

    Symetrické systémy mají výhody i nevýhody oproti asymetrickým.

    Mezi výhody symetrických šifer patří vysoká rychlostšifrování, menší požadovaná délka klíče s podobnou silou, větší znalosti a snadná implementace. Nevýhodou symetrických algoritmů je především složitost výměny klíčů z důvodu vysoké pravděpodobnosti narušení utajení klíče při výměně, která je nezbytná, a složitost správy klíčů ve velké síti.

    Příklady symetrických šifer

    • GOST 28147-89 - domácí standard šifrování
    • 3DES (Triple-DES, triple DES)
    • RC6 (Rivest Cipher)
    • Dvě ryby
    • SEED - korejský šifrovací standard
    • Camellia je japonský standard šifrování.
    • CAST (podle iniciál vývojářů Carlisle Adams a Stafford Tavares)
    • XTEA je nejsnáze implementovatelný algoritmus
    • AES- americký standardšifrování
    • DES je americký standard pro šifrování dat až do AES

    Asymetrické algoritmy

    Asymetrické systémy se také nazývají kryptosystémy s veřejným klíčem. Jedná se o metodu šifrování dat, při které se veřejný klíč přenáší přes otevřený kanál (není skrytý) a používá se k ověření elektronický podpis a pro šifrování dat. K dešifrování a vytvoření elektronického podpisu se používá druhý klíč, tajný.

    Samotné zařízení asymetrických kryptosystémů využívá myšlenku jednosměrných funkcí ƒ(x), ve kterých je snadné najít x, zná hodnotu samotné funkce, ale je téměř nemožné najít samotnou ƒ(x) , zná pouze hodnotu x. Příkladem takové funkce je telefonní seznam velkého města, kde je snadné najít číslo osoby, znát jeho příjmení a iniciály, ale je nesmírně obtížné, znát číslo, vypočítat vlastníka.

    Princip činnosti asymetrických systémů

    Předpokládejme, že existují dva předplatitelé: A a B a předplatitel B chce poslat zašifrovanou zprávu předplatiteli A. Zašifruje zprávu pomocí veřejného klíče a přenese ji již zašifrovanou přes otevřený komunikační kanál. Po přijetí zprávy ji předplatitel A dešifruje pomocí tajného klíče a přečte ji.

    Zde je nutné učinit upřesnění. Při přijímání zprávy musí předplatitel A ověřit svou identitu předplatiteli B, aby se nepřátelský nemohl vydávat za předplatitele A a nahradit jeho veřejný klíč svým vlastním.

    Příklady asymetrických písem

    • RSA (Rivest-Shamir-Adleman, Rivest-Shamir-Adleman)
    • DSA (Algoritmus digitálního podpisu)
    • Elgamal (ElGamal Cipher System)
    • Diffie-Hellman (výměna klíčů Diffie-Hellman)
    • ECC (Elliptic Curve Cryptography, Elliptic Curve Cryptography)

    Hashovací funkce

    Hašování (z angl. hash) je transformace počátečního informačního pole libovolné délky na bitový řetězec pevné délky.

    Algoritmů hashovacích funkcí je mnoho a liší se svými vlastnostmi – kryptografickou silou, délkou slova, výpočetní složitostí atd.

    Zajímají nás kryptograficky silné hashovací funkce. Obvykle mají dva požadavky:

    • Pro danou zprávu C je prakticky nemožné vyzvednout další zprávu C“ se stejným hashem
    • Je prakticky nemožné vyzvednout dvojice zpráv (SS“), které mají stejný hash.

    Požadavky se nazývají odolnost proti srážkám prvního a druhého druhu. U takových funkcí zůstává důležitý ještě jeden požadavek: při nepatrné změně argumentu musí dojít k výrazné změně funkce samotné. Hodnota hash by tedy neměla poskytovat informace ani o jednotlivých bitech argumentu.

    Příklady hašovacích algoritmů

    • Adler-32
    • SHA-1
    • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
    • HAVAL
    • N-hash
      • RIPEMD-160
    • RIPEMD-256
    • RIPEMD-320
    • Kůže
    • Snefru
    • tygr (TTH)
    • vířivá vana
    • GOST R34.11-94 (GOST 34.311-95)
    • IP internetový kontrolní součet (RFC 1071)

    Kryptografická primitiva

    Chcete-li dát zašifrovaným informacím větší kryptografickou sílu, lze v kryptografickém systému opakovaně aplikovat relativně jednoduché transformace - primitiva. Primitivy mohou být substituce, permutace, rotace nebo gama.

    kvantová kryptografie

    Kryptografie v digitálních technologiích

    Příběh

    Kryptografie je starověká věda a její původní předměty byly textové zprávy, která s pomocí určitých algoritmů ztratila smysl pro všechny, kteří neměli speciální znalosti k dešifrování této zprávy - klíče.

    Zpočátku se používaly metody, které se dnes používají pouze na hlavolamy, tedy podle názoru současníka ty nejjednodušší. Mezi takové šifrovací metody patří například metoda nahrazování, kdy je každé písmeno nahrazeno jiným, od něj vzdáleným v přesně definované vzdálenosti v abecedě. Nebo metoda permutačního šifrování, kdy se písmena zaměňují v určité sekvenci v rámci slova.

    V dávných dobách se šifrování využívalo především ve vojenských a obchodních záležitostech, špionáži, mezi pašeráky.

    O něco později historici určují datum vzniku další příbuzné vědy - steganografie. Tato věda se zabývá maskováním samotné skutečnosti přenosu zprávy. Vzniklo ve starověku a příkladem je zde příjem od spartského krále Leonida před bitvou s Peršany desky s textem pokrytým suchým, snadno oplachovatelným roztokem. Při čištění byly stopy zanechané na vosku pomocí stylusu jasně viditelné. Dnes se ke skrytí sdělení používají sympatické inkousty, mikrotečky, mikrofilmy atd.

    S rozvojem matematiky se začaly objevovat matematické algoritmyšifrování, ale všechny tyto typy šifrovací ochrany informací uchovávaly statistické údaje v různé míře a zůstaly zranitelné. Zranitelnost se stala zvláště patrnou s vynálezem frekvenční analýza, který byl vyvinut v 9. století našeho letopočtu, údajně arabským encyklopedistou al-Kindim. A teprve v XV století, po vynálezu polyalfabetických písem Leonem Battistou Albertim (pravděpodobně), se ochrana posunula na kvalitativně novou úroveň. V polovině 17. století však Charles Babbage předložil přesvědčivé důkazy o částečné zranitelnosti polyalfabetických písem vůči frekvenční analýze.

    Rozvoj mechaniky umožnil vytvořit zařízení a mechanismy usnadňující šifrování – objevila se taková zařízení jako Trithemiova čtvercová deska, disková šifra Thomase Jeffersona. Ale všechna tato zařízení nelze srovnávat s těmi, které vznikly ve 20. století. Právě v této době se začaly objevovat různé šifrovací stroje a mechanismy vysoké složitosti, například rotační stroje, z nichž nejznámější je Enigma.

    Před prudkým rozvojem vědy ve 20. století se kryptografové museli zabývat pouze lingvistickými objekty a ve 20. století možnosti využití různých matematické metody a teorie, statistika, kombinatorika, teorie čísel a abstraktní algebra.

    Skutečný průlom v kryptografické vědě ale nastal s příchodem schopnosti reprezentovat jakoukoliv informaci v binární podobě, rozdělené na bity pomocí počítačů, což umožnilo vytvářet fonty s dosud nevídanou kryptografickou silou. Takové šifrovací systémy se samozřejmě hacknout dají, ale čas strávený hackováním není v drtivé většině případů opodstatněný.

    Dnes můžeme hovořit o významném vývoji v kvantové kryptografii.

    Literatura

    • Barichev S.G., Goncharov V.V., Serov R.E. Základy moderní kryptografie. - M.: *Varfolomeev A. A., Žukov A. E., Pudovkina M. A. Streamové kryptosystémy. Základní vlastnosti a metody stabilitní analýzy. M.: PAIMS, 2000.
    • Yashchenko VV Úvod do kryptografie. Petrohrad: Petr, 2001. .
    • GOST 28147-89. Systémy zpracování informací. Kryptografická ochrana. Algoritmus kryptografické transformace. Moskva: GK SSSR podle norem, 1989.
    • GOST R 34.10-94. Informační technologie. Kryptografická ochrana informace. *GOST R 34.11-94. Informační technologie. Kryptografická ochrana informací. hashovací funkce. M., 1995.
    • GOST R 34.10-2001 Informační technologie. Kryptografická ochrana informací. Procesy tvorby a ověřování elektronického digitálního podpisu. M., 2001.
    • Nechaev VI Základy kryptografie (Základy teorie informační bezpečnosti). Moskva: Vyšší škola, 1999.
    • Zhelnikov V. Kryptografie z papyru do počítače. M.: AVR, 1996.

    Pod symetrické kryptosystémy se týká systémů, ve kterých je k šifrování a dešifrování zpráv použit stejný klíč (obr. 9.1).

    Celá řada symetrických systémů je založena na následujících základních třídách:

    Mono- a multi-abecední substituce;

    permutace;

    Blokové šifry;

    Hazardní hry.

    Náhrady

    Při přímých substitucích je každý znak ve zdrojovém textu nahrazen jedním nebo více znaky. Jednou z důležitých podtříd přímých substitucí jsou monoalfabetické substituce, ve kterém je vytvořena vzájemná korespondence mezi znakem e i původní abecedy a odpovídajícím znakem c j šifrového textu. Všechny metody monoalfabetické substituce lze znázornit jako číselné transformace písmen výchozího textu, považované za čísla, podle následujícího vzorce:

    c ≡ (a*e +s) mod K , (5.1)

    kde a je desetinný koeficient; s je koeficient posunu; e – písmenný kód zdrojového textu; c je kód zašifrovaného dopisu; K je délka abecedy; mod je operace výpočtu zbytku po dělení výrazu v závorkách modulem K.

    Příklad. Caesarova šifra

    Zvažte šifrování v abecedě skládající se z 26 latinských písmen a znaku mezery (mezera budeme reprezentovat znakem #). Znaku # přiřadíme kód 0, písmenu A kód 1, písmenu Z kód 2, písmenu Z kód 26.

    Vezměme si následující parametry: a = 1 s = 2 K = 27

    Šifrovací vzorec má formu

    c ≡ (e + 2) mod 27 (5.2)

    Vstupní abeceda:

    # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    výstupní abeceda

    B C D E F G H I J K L M N O P Q R S T U V W X Y Z # A

    (Písmena jsou posunuta o dvě pozice: A-C B-D atd.)

    Původní zpráva v zašifrované podobě pak bude vypadat takto:

    Pro dešifrování (pro případ, kdy a=1) se použije následující vzorec

    e ≡ (K+ c - s) mod K (5.3)

    Jednoduchá polyalfabetická substituce sekvenčně a cyklicky mění použité abecedy (v předchozím případě byla pro šifrování použita jedna abeceda). Při m-abecední substituci je znak a 1 z původní zprávy nahrazen znakem z abecedy B 1 , znak a 2 je nahrazen znakem z abecedy B 2 , ... znak a m ​​je nahrazen znakem a znak z abecedy B m , znak a m ​​+1 je nahrazen znakem z abecedy B 1 a t .d. Důsledkem použití polyalfabetické substituce je to, že statistiky frekvence zdrojového jazyka jsou maskovány, protože konkrétní znak z abecedy A je převeden na několik různých znaků ze šifrové abecedy B.

    Příklad

    Původní zpráva: WE#POTREBUJEME#SNOW

    Klíč: SECURITYSECU

    Jako klíč je vybráno slovo SECURITY. Slovo se píše pod původní zprávu, po vyčerpání písmen klíče začneme slovo opakovat, dokud nedojdou písmena původní zprávy. Každé písmeno klíče (přesněji jeho kód) nastaví posun v původní abecedě pro získání zašifrovaného znaku. Používáme jako abecedu písmena a znak # místo mezery.

    Šifra zdrojového klíče

    (W + S) mod 27 = (23 + 19) mod 27 = 15→O

    (E + E) mod 27 = (5 + 5) mod 27 = 10 → J

    (# + C) mod 27 = (0 + 3) mod 27 = 3 → C

    Cvičení

    Jako cvičení doporučujeme sestavit šifrování až do konce.

    Permutace

    Znaky zdrojového textu lze přeskupit v souladu s určitým pravidlem.

    Příklad 1 Lineární permutace

    Zašifrujeme následující text:

    NAČÍST#POMARANČE#TAŽENÍ

    Rozdělme text do skupin délky, například po 4 znacích:

    LOAD ITE# APELSIN Y#BOTTLE

    Nastavíme následující permutační pravidlo: "přeuspořádej seskupení čtyř písmen v pořadí 1-2-3-4 do pořadí 3-1-4-2".

    Získáme následující zašifrovaný text:

    UGRZ EI#T EALP INNS BYO# ACHK

    Komentář

    Pokud délka zprávy není násobkem délky skupiny, je poslední skupina doplněna znaky (například mezerami) na požadovanou délku.

    Zápis otevřeného textu a následné čtení šifrovaného textu lze provést různými cestami některých geometrický obrazec, jako je čtverec nebo obdélník.

    Příklad 2. Mřížka Cardano

    Cardano mřížka je obdélníková karta s otvory, častěji čtvercová, která po přiložení na list papíru nechává otevřené jen některé její části. Počet řádků a sloupců je sudý. Karta je vyrobena tak, že při jejím postupném otáčení bude obsazena každá buňka listu ležícího pod ní. Pokud je mřížka čtvercová, můžete ji postupně otočit kolem středu čtverce o 90°.

    Šifrování:

    VAVOCHS MUNOTI MYZHROE YUKHSOY MDOSTO YASNTV

    Dekódujte zprávu otočením roštu ve směru hodinových ručiček o 90°. Napište zprávu do čtverce řádek po řádku.

    Samotné substituční a permutační metody neposkytují potřebnou kryptografickou sílu. Proto se používají společně, stejně jako aditivní metodou. Při šifrování aditivní metodou se na začátku zdrojový text zašifruje substituční metodou, přičemž každé písmeno se převede na číslo a následně se ke každému číslu přidá tajná gama (viz níže) - pseudonáhodná číselná posloupnost.

    Blokové šifry

    Blokové šifry jsou rodinou reverzibilních transformací bloků (částí pevné délky) zdrojového textu.

    N-bitovým blokem rozumíme posloupnost nul a jedniček délky N:

    x \u003d (x 0, x 1, ... x N -1) . (5.5)

    x v Z 2 lze N interpretovat jako vektor a jako binární reprezentaci celého čísla

    (5.6)

    Blokovou šifrou rozumíme prvek

    Kde x \u003d (x 0, x 1, ... x N -1), y \u003d (y 0, y 1, ... y N -1)

    Ačkoli jsou blokové šifry zvláštním případem substitucí, je třeba je posuzovat samostatně, protože za prvé, většina symetrických šifer používaných v systémech přenosu dat jsou blokové šifry, a zadruhé je vhodnější popsat blokové šifry v algoritmické formě, a ne jako obvyklé substituce.

    Streamové šifry

    Streamové šifry jsou typem gama a převádějí prostý text na zašifrovaný text jeden bit po druhém. Generátor posloupnosti klíčů, někdy nazývaný generátor běžících klíčů, vydává posloupnost bitů k1, k2, ... kN. Tato posloupnost kláves je přidána modulo 2 („exkluzivní nebo“) ke zdrojové textové bitové sekvenci e 1 , e 2 , …, e N:

    Na přijímací straně je k šifrovému textu přidán modulo 2 s identickou sekvencí kláves, aby se získal prostý text:

    Stabilita systému zcela závisí na vnitřní struktuře generátoru posloupnosti kláves. Pokud generátor vytváří sekvenci s krátkou periodou, pak je stabilita systému nízká. Naopak, pokud generátor produkuje nekonečnou sekvenci skutečně náhodných bitů, pak získáme jednorázovou podložku s ideální trvanlivostí.

    Streamové šifry jsou nejvhodnější pro šifrování nepřetržitých datových toků, například v datových sítích.