• Algoritmy šifrování dat. Symetrické šifrovací algoritmy. Šifrovací algoritmus RSA. DES šifrovací algoritmus. Volba šifrovacího algoritmu. Symetrické kryptosystémy

    Jediný způsob, který existoval, bylo symetrické šifrování. Klíč algoritmu musí být držen v tajnosti oběma stranami, musí být přijata opatření k ochraně přístupu ke kanálu, po celé cestě kryptogramu, nebo stranami interakce prostřednictvím kryptoobjektů, zpráv, pokud je tento kanál interakce označen „Není pro použití třetími stranami“. Šifrovací algoritmus si strany zvolí před výměnou zpráv.

    Základní informace

    Algoritmy šifrování dat jsou široce používány v počítačové technologii v systémech pro skrývání důvěrných a komerčních informací před zneužitím třetími stranami. Jejich hlavní zásadou je podmínka, že vysílač a přijímač znají šifrovací algoritmus předem, stejně jako klíč ke zprávě, bez kterého jsou informace jen souborem znaků, které nedávají smysl.

    Klasické příklady takových algoritmů jsou symetrické kryptografické algoritmy vypsáno níže:

    • Jednoduchá permutace
    • Jednoduchá permutace podle klíče
    • dvojitá permutace
    • Permutace "Magický čtverec"

    Jednoduchá permutace

    Jednoduchá bezklíčová výměna je jednou z nejvíce jednoduché metodyšifrování. Zpráva se zapisuje do tabulky po sloupcích. Po napsání otevřeného textu do sloupců se čte řádek po řádku, aby se vytvořil šifrový text. Pro použití této šifry se musí odesílatel a příjemce dohodnout na sdíleném klíči ve formě velikosti tabulky. Kombinace písmen do skupin není obsažena v šifrovém klíči a slouží pouze pro usnadnění psaní nesmyslného textu.

    Jednoduchá permutace podle klíče

    Více praktická metodašifrování, nazývané permutace jednoho klíče, je velmi podobné předchozímu. Liší se pouze tím, že sloupce tabulky jsou přeskládány podle klíčové slovo, frázi nebo sadu čísel o délce řádku tabulky.

    dvojitá permutace

    Pro větší utajení můžete znovu zašifrovat zprávu, která již byla zašifrována. Tato metoda je známá jako dvojitá permutace. K tomu je velikost druhé tabulky zvolena tak, aby se délky jejích řádků a sloupců lišily od délek v první tabulce. Nejlepší je, když jsou coprime. Kromě toho lze v první tabulce přeskupit sloupce a ve druhé řádky. Nakonec můžete stůl vyplnit klikatě, hadem, spirálou nebo jiným způsobem. Takové způsoby vyplnění tabulky, pokud nezvyšují sílu šifry, pak činí proces šifrování mnohem zábavnějším.

    Permutace "Magický čtverec"

    Magické čtverce se nazývají čtvercové tabulky s postupnými přirozenými čísly od 1 vepsanými v jejich buňkách, které sčítají každý sloupec, každý řádek a každou úhlopříčku stejné číslo. Takové čtverce byly široce používány pro zadávání zašifrovaného textu podle číslování v nich uvedeného. Pokud pak vypíšete obsah tabulky řádek po řádku, získáte šifrování přeskupením písmen. Na první pohled se zdá, že magických čtverců je velmi málo. Jejich počet se však s rostoucí velikostí čtverce velmi rychle zvyšuje. Existuje tedy pouze jeden magický čtverec 3 x 3, pokud neberete v úvahu jeho rotace. Magických políček 4 x 4 je již 880 a počet magických políček 5 x 5 je asi 250 000. velké velikosti mohl být dobrým základem pro silný šifrovací systém té doby, protože ruční zkoušení všech klíčových možností pro tuto šifru bylo nemyslitelné.

    Čísla od 1 do 16 byla vepsána do čtverce 4 x 4. Jeho kouzlo spočívalo v tom, že součet čísel v řádcích, sloupcích a plných úhlopříčkách byl roven stejnému číslu - 34. Tyto čtverce se poprvé objevily v Číně, kde jim byly připisovány nějaké "Kouzelná moc".

    Poté je šifrový text zapsán do řetězce (čtení se provádí zleva doprava, řádek po řádku):
    .irdzegyuSzhaoyanP

    Po dešifrování se text vejde do čtverce a prostý text se čte v posloupnosti čísel „magického čtverce“. Program by měl vygenerovat "magické čtverce" a vybrat požadovaný pomocí klíče. Čtverec je větší než 3x3.

    Příběh

    Požadavky

    Úplná ztráta všech statistických pravidelností původní zprávy je důležitým požadavkem pro symetrickou šifru. Aby to bylo možné, musí mít šifra „lavinový efekt“ – v bloku šifry musí dojít k výrazné změně s 1bitovou změnou vstupních dat (v ideálním případě hodnoty 1/2 bitů blok šifry by se měl změnit).

    Důležitým požadavkem je také absence linearity (tedy podmínky f(a) xor f(b) == f(a xor b)), jinak je usnadněna aplikace diferenciální kryptoanalýzy na šifru.

    Obecné schéma

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

    • blokové šifry. Zpracovávat informace v blocích určité délky (obvykle 64, 128 bitů) aplikováním klíče na blok 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.
    • proudové šifry, ve kterých 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.

    Většina symetrických šifer používá komplexní kombinaci velký počet substituce a permutace. Mnoho takových šifer se provádí v několika (někdy až 80) průchodech, přičemž se v každém průchodu používá „klíč“. Sada "klíčů" pro všechny průchody se nazývá "plán klíčů". Zpravidla se vytváří z klíče prováděním určitých operací na něm, včetně permutací a substitucí.

    Typickým způsobem konstrukce symetrických šifrovacích algoritmů je síť Feistel. Algoritmus vytváří schéma šifrování založené na funkci F(D, K), kde D je část dat poloviční velikosti šifrovacího bloku a K je „klíč“ pro tento průchod. Funkce nemusí být reverzibilní - její inverzní funkce může být neznámá. Výhodou sítě Feistel je téměř úplná shoda dešifrování se šifrováním (jediným rozdílem je obrácené pořadí „průchozích klíčů“ v plánu), což značně usnadňuje implementaci hardwaru.

    Operace permutace míchá bity zprávy podle určitého zákona. V hardwarových implementacích je triviálně implementován jako zapletení vodičů. Právě permutační operace umožňují dosáhnout „lavinový efekt“. Permutační operace je lineární - f(a) xor f(b) == f(a xor b)

    Substituční operace se provádějí jako nahrazení hodnoty určité části zprávy (často 4, 6 nebo 8 bitů) standardním, pevně zakódovaným jiným číslem v algoritmu odkazem na pole konstant. Operace substituce zavádí do algoritmu nelinearitu.

    Síla algoritmu, zejména proti diferenciální kryptoanalýze, často závisí na volbě hodnot v substitučních tabulkách (S-boxech). Minimálně se považuje za nežádoucí mít pevné prvky S(x) = x, stejně jako absence vlivu některého bitu vstupního bytu na některý bit výsledku – tedy případy, kdy je výsledný bit stejné pro všechny dvojice vstupních slov, které se liší pouze tímto bitem.

    Možnosti algoritmu

    Existuje mnoho (nejméně dva tucty) symetrických šifrovacích algoritmů, jejichž základní parametry jsou:

    • délka klíče
    • počet kol
    • délka bloku zpracování
    • složitost hardwarové/softwarové implementace
    • složitost konverze

    Typy symetrických šifer

    blokové šifry
    • AES (Eng. Advanced Encryption Standard) - americký standardšifrování
    • GOST 28147-89 - sovětský a ruský šifrovací standard, také standard CIS
    • DES (English Data Encryption Standard) - standard šifrování dat v USA
    • 3DES (Triple-DES, triple DES)
    • RC2 (Rivest Cipher nebo Ron's Cipher))
    • IDEA (International Data Encryption Algorithm, mezinárodní algoritmus šifrování dat)
    • CAST (podle iniciál vývojářů Carlisle Adams a Stafford Tavares)

    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é šifrování jediný způsob, který existoval, bylo 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 - zpracovat informace v blocích o určité délce (obvykle 64, 128 bitů), přiložením klíče na blok v předepsaném pořadí, zpravidla několik cyklů míchání a substituce, nazývaných 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 (neboli Asymetrické šifrování, Asymetrická šifra) je systém šifrování informací, ve kterém je klíč, který zašifruje zprávu, a samotná zašifrovaná zpráva přenášeny přes otevřený (tj. nechráněný, přístupný pro pozorování) kanál. 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 se nemělo přenášet 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 před symetrickými šiframi 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ého počtu, zatímco kryptosystémy Merkle-Hellman a Hoare-Rivest spoléhají na takzvaný problém s batohem na zádech.

    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ého algoritmu je výpočetně složitější úkol, proto je zde vhodnější 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.

    Možné jsou následující hrozby digitální podpis:

    *Ú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.

    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. Zatímco pro nejrychlejší aplikace se vždy používá vyhrazený hardware, softwarové implementace jsou běžnější. 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.

    V naší počítačové době lidstvo stále více odmítá ukládat informace v ručně psané nebo tištěné podobě a dává přednost dokumentům. A pokud dříve jen kradli papíry nebo pergameny, teď to hackli elektronické informace. Samotné algoritmy šifrování dat jsou známé od nepaměti. Mnoho civilizací upřednostňovalo šifrování svých jedinečných znalostí, aby je mohl získat pouze znalý člověk. Ale podívejme se, jak se to všechno zobrazuje v našem světě.

    Co je to systém šifrování dat?

    Nejprve se musíte rozhodnout, jaké kryptografické systémy obecně jsou. Zhruba řečeno se jedná o jakýsi speciální algoritmus pro zaznamenávání informací, které by byly srozumitelné pouze určitému okruhu lidí.

    V tomto smyslu cizinec vše, co vidí, by mělo (a v zásadě to tak je) působit jako nesmyslný soubor postav. Takovou sekvenci mohou číst pouze ti, kteří znají pravidla pro jejich umístění. jako nejvíce jednoduchý příklad můžete definovat šifrovací algoritmus s psaním slov, řekněme, pozpátku. Samozřejmě je to to nejprimitivnější, co si můžete myslet. Rozumí se, že pokud znáte pravidla nahrávání, nebude těžké obnovit původní text.

    Proč je to potřeba?

    Proč to všechno bylo vynalezeno, pravděpodobně nemá cenu vysvětlovat. Podívejte se, koneckonců, jaké objemy znalostí, které zbyly ze starověkých civilizací, jsou dnes zašifrovány. Zda starověcí nechtěli, abychom to věděli, nebo zda to vše bylo provedeno proto, aby je člověk mohl používat, až když dosáhne požadované úrovně vývoje - o tom lze zatím jen hádat.

    Pokud se však budeme bavit o dnešním světě, informační bezpečnost se stává jednou z nejvíce velké problémy. Posuďte sami, protože kolik dokumentů je ve stejných archivech, o kterých by vlády některých zemí nechtěly šířit, kolik tajných vývojů, kolik nových technologií. Ale to vše je vesměs primárním cílem takzvaných hackerů v klasickém slova smyslu.

    Napadá mě pouze jedna věta, která se stala klasikou principů činnosti Nathana Rothschilda: "Kdo vlastní informace, ten vlastní svět." A to je důvod, proč je třeba informace chránit zvědavýma očima, aby to někdo jiný nevyužil pro své sobecké účely.

    Kryptografie: výchozí bod

    Nyní, než se zamyslíme nad samotnou strukturou, kterou má každý šifrovací algoritmus, pojďme se trochu ponořit do historie, do těch vzdálených časů, kdy tato věda teprve vznikala.

    Předpokládá se, že umění skrývat data se začalo aktivně rozvíjet před několika tisíciletími před naším letopočtem. Nadřazenost je připisována starověkým Sumerům, králi Šalomounovi a egyptským kněžím. Teprve mnohem později se objevily stejné runové znaky a symboly jim podobné. Ale tady je to zajímavé: někdy byl algoritmus pro šifrování textů (a v té době šifrované) takový, že ve stejném jediném znaku to mohlo znamenat nejen jedno písmeno, ale i celé slovo, pojem nebo dokonce větu. Z tohoto důvodu je dešifrování takových textů, a to i pomocí moderních kryptografických systémů, které umožňují obnovit původní podobu jakéhokoli textu, absolutně nemožné. Pokud mluvit moderní jazyk, to jsou docela pokročilé, jak se nyní říká, symetrické šifrovací algoritmy. Budeme se jim věnovat samostatně.

    Moderní svět: typy šifrovacích algoritmů

    Pokud jde o ochranu důvěrných dat v moderním světě, stojí za to pobývat samostatně v době, kdy byly počítače lidstvu neznámé. Nemluvě o tom, kolik papíru alchymisté nebo stejní templáři přeložili a snažili se skrýt pravdivé texty o znalostech, které znali, stojí za to připomenout, že problém se od vzniku tohoto spojení jen zhoršil.

    A zde snad nejznámějším zařízením lze nazvat německý šifrovací stroj z druhé světové války s názvem „Enigma“, což v angličtině znamená „záhada“. Opět je to příklad toho, jak se používají symetrické šifrovací algoritmy, jejichž podstatou je, že šifrátor a dešifrovač znají klíč (algoritmus), který byl původně použit ke skrytí dat.

    Dnes se takové kryptosystémy používají všude. Za nejvýraznější příklad lze považovat řekněme algoritmus, který je mezinárodním standardem. Z hlediska počítačové terminologie umožňuje použití 256bitového klíče. Vůbec moderní algoritmyšifrování jsou poměrně rozmanitá a lze je podmíněně rozdělit do dvou velkých tříd: symetrické a asymetrické. V závislosti na oblasti jmenování se dnes používají velmi široce. A výběr šifrovacího algoritmu přímo závisí na úkolech a způsobu obnovy informací v původní podobě. Ale jaký je mezi nimi rozdíl?

    Symetrické a asymetrické šifrovací algoritmy: jaký je rozdíl

    Nyní se podívejme, jaký je zásadní rozdíl mezi takovými systémy a na jakých principech je založena jejich aplikace v praxi. Jak je již jasné, šifrovací algoritmy jsou spojeny s geometrickými pojmy symetrie a asymetrie. Co to znamená, je nyní třeba objasnit.

    Symetrický algoritmus DES šifrování, vyvinutý již v roce 1977, zahrnuje jediný klíč, který je údajně znám dvěma zainteresovaným stranám. Se znalostí takového klíče není těžké jej prakticky použít, aby bylo možné číst stejnou bezvýznamnou znakovou sadu a uvést ji takříkajíc do čitelné podoby.

    A co představují asymetrické algoritmyšifrování? Používají se zde dva klíče, to znamená, že jeden se používá pro kódování původní informace a druhý pro dešifrování obsahu a není vůbec nutné, aby se shodovaly nebo byly současně na straně kódování a dekódování. Každému stačí jeden. Tímto způsobem je do značné míry zabráněno tomu, aby se obě klávesy dostaly do třetích rukou. Vzhledem k současné situaci však pro mnoho vetřelců nepředstavuje tento typ krádeže žádný zvláštní problém. Další věcí je hledání přesně toho klíče (zhruba řečeno hesla), který je vhodný pro dešifrování dat. A zde může být tolik možností, že i nejvíce moderní počítač bude zpracovávat několik desítek let. Jak bylo uvedeno, žádný z dostupných na světě počítačové systémy nemůže a nebude moci prolomit přístup k němu a získat to, čemu se říká „odposlech“ během příštích desetiletí.

    Nejznámější a běžně používané šifrovací algoritmy

    Ale zpět do světa počítačů. Co v současné době nabízejí hlavní šifrovací algoritmy pro ochranu informací v současné fázi vývoje počítačových a mobilních technologií?

    Ve většině zemí je de facto standardem kryptografický systém AES založený na 128bitovém klíči. Paralelně s ním se však někdy používá algoritmus, který sice odkazuje na šifrování pomocí veřejného (veřejného) klíče, ale přesto je jedním z nejspolehlivějších. To mimochodem prokázali všichni přední odborníci, protože samotný systém je určen nejen stupněm šifrování dat, ale také zachováním integrity informací. Pokud jde o raný vývoj, který zahrnuje šifrovací algoritmus DES, je beznadějně zastaralý a pokusy o jeho nahrazení začaly v roce 1997. Tehdy na jeho základě vznikl nový pokročilý (Advanced) šifrovací standard AES (nejprve se 128bitovým klíčem, poté s 256bitovým klíčem).

    RSA šifrování

    Nyní se zaměřme na technologii RSA, která odkazuje na systém asymetrického šifrování. Předpokládejme, že jeden účastník odešle další informace zašifrované pomocí tohoto algoritmu.

    Pro šifrování stačí dva vysoká čísla X a Y, po kterých se vypočítá jejich součin Z, nazývaný modul. Dále se vybere nějaké cizí číslo A, které splňuje podmínku: 1< A < (X - 1) * (Y - 1). Оно обязательно должно быть простым, то есть не иметь общих делителей с произведением (X - 1) * (Y - 1), равным Z. Затем происходит вычисление числа B, но только так, что (A * B - 1) делится на (X - 1) * (Y - 1). В tento příklad A - veřejný indikátor, B - tajný indikátor, (Z; A) - veřejný klíč, (Z; B) - tajný klíč.

    Co se děje během převodu? Odesílatel vytvoří šifrový text, označený F, s počáteční zprávou M, následovanou A a vynásobením modulem Z: F = M**A*(mod Z). Zbývá na příjemci vypočítat jednoduchý příklad: M = F**B*(mod Z). Zhruba řečeno, všechny tyto akce jsou redukovány pouze na umocňování. Na stejném principu funguje i možnost vytvoření digitálního podpisu, zde jsou však rovnice poněkud složitější. Aby uživatel nezaplnil hlavu algebrou, takový materiál nebude dán.

    Pokud jde o hackování, šifrovací algoritmus RSA představuje pro útočníka téměř neřešitelný úkol: vypočítat klíč B. To by se teoreticky dalo provést pomocí dostupných factoringových nástrojů (faktorování počátečních čísel X a Y), ale dnes žádné takové nástroje neexistují. , proto se samotný úkol stává nejen obtížným - je obecně nemožný.

    DES šifrování

    Před námi je další, v minulosti docela účinný šifrovací algoritmus maximální délka blok 64 bitů (znaků), z nichž je významných pouze 56. Jak již bylo zmíněno výše, tato technika je již zastaralá, i když se dlouho držela jako standard pro kryptosystémy používané ve Spojených státech i pro obranný průmysl.

    Podstatou jeho symetrického šifrování je, že k tomu slouží určitá sekvence 48 bitů. V tomto případě se pro operace používá 16 cyklů ze 48bitového vzorku klíče. Ale! Všechny cykly jsou v principu činnosti podobné, tedy na tento moment není těžké vypočítat požadovaný klíč. Například jeden z nejvíce výkonné počítače v USA v hodnotě přes milion dolarů „prolomí“ šifrování během asi tří a půl hodiny. U strojů nižší hodnosti netrvá ani výpočet sekvence v jejím maximálním provedení déle než 20 hodin.

    Šifrování AES

    Nakonec tu máme nejběžnější a jak se donedávna věřilo, nezranitelný systém - šifrovací algoritmus AES. Dnes se představuje ve třech modifikacích – AES128, AES192 a AES256. První možnost se používá spíše k zajištění informační bezpečnost mobilní zařízení, druhý je zapojen na vyšší úrovni. Jako standard byl tento systém oficiálně představen v roce 2002 a vzápětí jeho podporu oznámila společnost Intel Corporation, která vyrábí procesorové čipy.

    Jeho podstata se na rozdíl od jakéhokoli jiného symetrického šifrovacího systému redukuje na výpočty založené na polynomiální reprezentaci kódů a na výpočetní operace s dvourozměrnými poli. Podle vlády Spojených států bude trvat asi 149 bilionů let, než dešifrátor, byť ten nejmodernější, prolomí 128bitový klíč. Nesouhlasme s takovým kompetentním zdrojem. Za posledních sto let udělala počítačová technologie skok odpovídající tomu, takže byste si neměli příliš namlouvat, zvláště když dnes, jak se ukázalo, existují šifrovací systémy, které jsou prudší než ty, které Spojené státy deklarovaly zcela odolný proti hackování.

    Problémy s viry a dešifrováním

    Samozřejmě mluvíme o virech. V Nedávno objevily se zcela specifické ransomwarové viry, které šifrují veškerý obsah pevný disk A logické oddíly na infikovaném počítači, načež oběť obdrží dopis s upozorněním, že všechny soubory jsou zašifrovány a po zaplacení čisté částky je může dešifrovat pouze určený zdroj.

    Zároveň je, co je nejdůležitější, naznačeno, že při šifrování dat byl použit systém AES1024, to znamená, že délka klíče je čtyřnásobná oproti současnému AES256 a počet možností při hledání vhodného dešifrovače se prostě neuvěřitelně zvyšuje.

    A na základě prohlášení vlády USA o časovém limitu pro dešifrování 128bitového klíče, jak je to s časem, který zabere nalezení řešení pro případ s klíčem a jeho variantami o délce 1024 bitů? Tady USA selhaly. Mysleli si, že jejich systém počítačové kryptografie je dokonalý. Bohužel se našli někteří specialisté (zřejmě v postsovětském prostoru), kteří ve všech ohledech překonali „neotřesitelné“ americké postuláty.

    S tím vším dokonce i přední vývojáři antivirového softwaru, včetně Kaspersky Lab, specialisté, kteří vytvořili Doctor Web, ESET Corporation a mnoho dalších světových vůdců, jen krčí rameny, říkají, že na dešifrování takového algoritmu prostě nejsou prostředky. , zatímco mlčí o tom, že není dost času. Při kontaktování podpůrné služby se samozřejmě doporučuje odeslat zašifrovaný soubor a pokud je k dispozici, nejlépe jeho originál – v podobě, v jaké byl před zahájením šifrování. Bohužel, dokonce srovnávací analýza zatím nepřinesla měřitelné výsledky.

    Svět, který neznáme

    Co mohu říci, pokud se honíme za budoucností a nejsme schopni rozluštit minulost. Když se podíváte na svět našeho tisíciletí, můžete vidět, že stejný římský císař Gaius Julius Caesar používal v některých svých zprávách symetrické šifrovací algoritmy. No, když se podíváte na Leonarda da Vinciho, je to obecně nějak nepříjemné z pouhého zjištění, že v oblasti kryptografie tento člověk, jehož život je zahalen jistým závojem tajemství, překonal svou modernost po staletí.

    Až dosud mnohé pronásleduje takzvaný „úsměv Gioconda“, ve kterém je něco tak atraktivního, co moderní člověk nedokáže pochopit. Mimochodem, některé symboly byly na obrázku nalezeny relativně nedávno (v oku, na šatech atd.), které jasně naznačují, že to vše obsahuje jakési informace zašifrované velkým géniem, které dnes, bohužel, můžeme extrakt nelze. Ale nezmínili jsme se ani o všemožných rozsáhlých strukturách, které mohly obrátit chápání tehdejší fyziky.

    Samozřejmě, že někteří lidé se přiklánějí pouze k tomu, že ve většině případů byl použit takzvaný „zlatý řez“, ale to nedává klíč k celému obrovskému úložišti znalostí, které, jak se věří, je buď pro nás nepochopitelné nebo navždy ztracené. Kryptografové mají zjevně ještě neuvěřitelné množství práce, aby pochopili, že moderní šifrovací algoritmy někdy nelze srovnávat s výdobytky starověkých civilizací. Navíc, pokud dnes existují obecně uznávané zásady ochrany informací, tak ty, které se používaly ve starověku, jsou pro nás bohužel zcela nedostupné a nesrozumitelné.

    Ještě jedna věc. Existuje nevyslovený názor, že většinu starověkých textů nelze přeložit jen proto, že klíče k jejich dešifrování jsou pečlivě střeženy tajnými společnostmi jako Svobodní zednáři, Ilumináti atd. Svou stopu zde zanechali i templáři. Co říci k tomu, že vatikánská knihovna je stále absolutně nepřístupná? Nejsou tam uloženy hlavní klíče k pochopení starověku? K této verzi se přiklání řada odborníků, kteří se domnívají, že Vatikán tyto informace společnosti záměrně zatajuje. Ať se ti to líbí nebo ne, to zatím nikdo neví. Jedno však lze říci s jistotou – starověké kryptografické systémy nebyly v žádném případě horší (a možná dokonce lepší) než systémy používané v moderním počítačovém světě.

    Místo doslovu

    Na závěr je třeba říci, že zde nebyly zvažovány zdaleka všechny aspekty související se současnými kryptografickými systémy a metodami, které používají. Faktem je, že ve většině případů by bylo nutné dávat složité matematické vzorce a prezentovat výpočty, ze kterých se většina uživatelů jednoduše vytočí. Stačí se podívat na příklad popisu algoritmu RSA, abychom si uvědomili, že vše ostatní bude vypadat mnohem komplikovaněji.

    Zde jde především o to pochopit a proniknout takříkajíc do podstaty problematiky. No, když mluvíme o tom, co jsou moderní systémy nabídka k uložení důvěrná informace takovým způsobem, že je k dispozici omezenému okruhu uživatelů, je zde malý výběr. Navzdory přítomnosti mnoha kryptografických systémů, stejné algoritmy RSA a DES jasně prohrávají se specifiky AES. Nicméně většina moderní aplikace určené pro úplně jiné operační systémy, použijte přesně AES (samozřejmě v závislosti na aplikaci a zařízení). Ale „neautorizovaný“ vývoj tohoto kryptosystému, mírně řečeno, šokoval mnohé, zejména jeho tvůrce. Ale obecně, na základě toho, co je dnes k dispozici, nebude pro mnoho uživatelů těžké pochopit, co jsou systémy šifrování kryptografických dat, proč jsou potřeba a jak fungují.

    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

    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 - American Encryption Standard
    • 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.