Aká je možnosť niektorých šifrovacích algoritmov. Algoritmy šifrovania údajov

Nové šifrovacie algoritmy sa zvyčajne zverejňujú na účely verejnej kontroly a študujú sa v špecializovaných vedeckých centrách. Výsledky takýchto štúdií sa zverejňujú aj na účely informovania verejnosti.

Symetrické algoritmy
Šifrovacie algoritmy sú rozdelené do dvoch veľkých tried: symetrické (AES, GOST, Blowfish, CAST, DES) a asymetrické (RSA, El-Gamal). Symetrické šifrovacie algoritmy používajú rovnaký kľúč na šifrovanie informácií a ich dešifrovanie, zatiaľ čo asymetrické algoritmy používajú dva kľúče – jeden na šifrovanie a druhý na dešifrovanie.

Ak je potrebné preniesť zašifrované informácie na iné miesto, musí sa preniesť aj dešifrovací kľúč. Slabým miestom je tu dátový prenosový kanál – ak nie je zabezpečený alebo sa odpočúva, dešifrovací kľúč sa môže dostať k útočníkovi. Systémy založené na asymetrických algoritmoch nemajú túto nevýhodu. Pretože každý člen takéhoto systému má pár kľúčov: verejný a tajný kľúč.

Šifrovací kľúč
Ide o náhodnú alebo špeciálne vytvorenú sekvenciu bitov pomocou hesla, ktoré je variabilným parametrom šifrovacieho algoritmu.
Ak zašifrujete rovnaké údaje pomocou rovnakého algoritmu, ale s rôznymi kľúčmi, výsledky budú tiež odlišné.

Zvyčajne sa v šifrovacích programoch (WinRAR, Rohos atď.) kľúč vytvára z hesla, ktoré zadá používateľ.

Šifrovací kľúč má rôzne dĺžky, zvyčajne sa meria v bitoch. S rastúcou dĺžkou kľúča sa teoretická sila šifry zvyšuje. V praxi to nie je vždy pravda.

V kryptografii sa šifrovací mechanizmus považuje za neklasifikovanú hodnotu a útočník môže mať plnú hodnotu zdrojšifrovací algoritmus, ako aj šifrovaný text (Kerkhoffovo pravidlo). Ďalším predpokladom, ktorý môže nastať, je, že útočník môže poznať časť nezašifrovaného (obyčajného) textu.

Sila šifrovacieho algoritmu.
Šifrovací algoritmus sa považuje za silný, kým sa nepreukáže opak. Ak je teda šifrovací algoritmus zverejnený, existuje viac ako 5 rokov a nenašli sa preň žiadne vážne slabiny, môžeme predpokladať, že jeho sila je vhodná pre úlohy ochrany utajovaných skutočností.

Teoretická a praktická výdrž.
V roku 1949 K.E. Shannon publikoval článok „Teória komunikácie v tajných systémoch“. Shannon považoval silu kryptografických systémov za praktickú aj teoretickú. Záver o teoretickej sile je stále pesimistický: dĺžka kľúča sa musí rovnať dĺžke otvoreného textu.
Shannon sa preto zaoberal aj otázkou praktickej sily kryptografických systémov. Je systém spoľahlivý, ak má útočník obmedzený čas a výpočtové zdroje na analýzu zachytených správ?

Zvyčajne sa slabé miesta nachádzajú v programoch, ktoré šifrujú údaje pomocou nejakého algoritmu. V tomto prípade programátori urobia chybu v logike programu alebo v kryptografickom protokole, vďaka čomu po preštudovaní fungovania programu (na nízkej úrovni) môžete nakoniec získať prístup k tajným informáciám.

Prelomenie šifrovacieho algoritmu
Predpokladá sa, že kryptosystém je kompromitovaný, ak útočník dokáže vypočítať tajný kľúč a vykonať transformačný algoritmus ekvivalentný pôvodnému kryptoalgoritmu. A tak, aby bol tento algoritmus spustiteľný v reálnom čase.

V kryptológii existuje podsekcia - kryptoanalýza, ktorá študuje problematiku lámania alebo falšovania zašifrovaných správ. Existuje mnoho spôsobov a metód kryptoanalýzy. Najpopulárnejšia je metóda priameho vyčíslenia všetkých možných hodnôt šifrovacieho kľúča (tzv. metóda hrubej sily). Podstatou túto metódu spočíva vo vyčíslení všetkých možných hodnôt šifrovacieho kľúča, kým sa nenájde požadovaný kľúč.

V praxi to znamená, že útočník musí:

  • Majte k dispozícii kryptosystém (t. j. program) a príklady zašifrovaných správ.
  • Pochopte kryptografický protokol. Inými slovami, ako program šifruje dáta.
  • Vyviňte a implementujte algoritmus na výpočet kľúčov pre tento kryptosystém.
Ako zistíte, či je kľúč správny alebo nie?
Všetko závisí od konkrétneho programu a implementácie šifrovacieho protokolu. Zvyčajne, ak sa po dešifrovaní získa „odpad“, potom je to nesprávny kľúč. A ak je text viac-menej zmysluplný (toto sa dá skontrolovať), potom je kľúč správny.

Šifrovacie algoritmy
AES (Rijndael)... V súčasnosti je to americký federálny šifrovací štandard. Schválené Ministerstvom obchodu ako štandard dňa 4.12.2001. Rozhodnutie nadobudlo právoplatnosť od momentu zverejnenia vo federálnom registri (06.12.01). Štandardne sa používa verzia šifry s veľkosťou bloku iba 128 bitov.

GOST 28147-8.Štandardné Ruská federácia pre šifrovanie a ochranu údajov. Spočiatku mal krk (OV alebo SS - to nie je isté), potom sa krk postupne zmenšil a v čase, keď bol algoritmus oficiálne vykonaný prostredníctvom štátnej normy ZSSR v roku 1989, bol odstránený. Algoritmus zostal drevotrieskové dosky (ako viete, drevotrieska sa nepovažuje za tyč). V roku 1989 sa stal oficiálnym štandardom ZSSR a neskôr, po rozpade ZSSR, federálnym štandardom Ruskej federácie.

Blowfish Zložitá schéma generovania kľúčových prvkov výrazne komplikuje útok na algoritmus hrubou silou, ale je nevhodná na použitie v systémoch, kde sa kľúč často mení a na každom kľúči sú zašifrované malé dáta. Algoritmus je najvhodnejší pre systémy, v ktorých sú veľké množstvá dát šifrované na rovnakom kľúči.

DES Federálny štandard šifrovania USA 1977-2001. V roku 1977 bol prijatý ako federálny štandard USA. V decembri 2001 stratila svoj štatút v dôsledku zavedenia novej normy.

CAST V istom zmysle analóg DES.

Šifrovacie algoritmy sa používajú na zmenu dôverných informácií do takej podoby, že nie sú zrozumiteľné pre čítanie neoprávnenými osobami.

Prvé šifry sa používali v dobách starovekého Ríma, starovekého Egypta a starovekého Grécka. Jednou zo známych šifier je Caesarova šifra... Tento algoritmus fungoval nasledovne: každé písmeno má svoje vlastné sériové číslo v abecede, ktorá bola posunutá o $ 3 $ doľava. Dnes takýto algoritmus neposkytuje ochranu, ktorú poskytoval v čase svojho používania.

Dnes bolo vyvinutých veľké množstvo šifrovacích algoritmov, vrátane štandardných, ktoré poskytujú spoľahlivú ochranu dôverné informácie.

Rozdeľte šifrovacie algoritmy na symetrické(patrí sem AES, CAST, GOST, DES, Blowfish) a asymetrické(RSA, El-Gamal).

Symetrické algoritmy

Poznámka 1

Symetrické šifrovacie algoritmy používajú rovnaký kľúč na šifrovanie a dešifrovanie informácií.

Pri prenose zašifrovaných informácií je potrebné preniesť aj dešifrovací kľúč. Slabou stránkou tejto metódy je kanál na prenos údajov. Ak je nezabezpečený alebo odpočúvaný, dešifrovací kľúč sa môže sprístupniť útočníkovi.

Asymetrické algoritmy

Poznámka 2

Asymetrické algoritmy používajú dva kľúče – jeden na šifrovanie a druhý na dešifrovanie.

Každý používateľ musí mať pár kľúčov – verejný a súkromný kľúč.

Šifrovací kľúč

Definícia 1

Šifrovací kľúč je náhodná alebo špeciálne vytvorená sekvencia bitov, ktorá je premenlivým parametrom šifrovacieho algoritmu.

Pri šifrovaní rovnakých údajov pomocou rovnakého algoritmu, ale s použitím rôznych kľúčov, sú výsledky odlišné.

Šifrovacie programy (WinRAR, Rohos atď.) vytvoria kľúč z hesla dodaného používateľom.

Šifrovací kľúč môže mať rôznu dĺžku, meranú v bitoch. S rastúcou dĺžkou kľúča sa zvyšuje teoretická sila šifry. V praxi to tak nie je vždy.

Sila šifrovacieho algoritmu

Poznámka 3

Šifrovací algoritmus sa považuje za silný, kým sa nepreukáže opak.

Šifrovacie algoritmy

Algoritmus AES (Rijndael) na tento moment je americký federálny šifrovací štandard. Ako štandard schválený Ministerstvom obchodu v $ 2001. Štandardom je verzia šifry s veľkosťou bloku 128 $ bitov. Navrhnuté za 1997 dolárov v Belgicku. Možné veľkosti kľúčov sú 128 $, 192 $ a 256 $ bitov.

Algoritmus GOST 28147-8 je štandard Ruskej federácie pre šifrovanie údajov a ochranu pred imitáciou. Oficiálnym štandardom sa stal v roku 1989. Vyvinutý za 1970 $ -s. na Hlavnom riaditeľstve KGB ZSSR. Používa bitový kľúč 256 $.

Algoritmus Blowfish používa zložitú schému generovania kľúčov, vďaka ktorej je oveľa ťažšie zaútočiť na algoritmus hrubou silou. Nevhodné na použitie v systémoch s častými zmenami kľúčov a pri šifrovaní malých dát. Algoritmus sa najlepšie používa pre systémy, v ktorých je potrebné šifrovať veľké množstvo údajov. Vyvinuté za 1 993 USD. Používajú sa veľkosti kľúčov od 32 USD do 448 bitov.

Algoritmus DES bol americký federálny šifrovací štandard v období $ 1977-2001. Federálny štandard bol prijatý v roku 1977, po zavedení nového štandardu v roku 2001 $ stratil štatút štandardu. Vyvinuté v rokoch 1972-1975. výskumné laboratórium korporácie IBM. Používa bitový kľúč 56 $.

Algoritmus CAST je istým spôsobom analogický s algoritmom DES. Používa kľúče 128 $ a 256 $ bitov.

Štátnym šifrovacím štandardom v Rusku je algoritmus registrovaný ako GOST 28147-89. Ide o blokovú šifru, to znamená, že nešifruje jednotlivé znaky, ale 64-bitové bloky. Algoritmus poskytuje 32 cyklov konverzie dát s 256-bitovým kľúčom, vďaka čomu je veľmi spoľahlivý (má vysokú kryptografickú silu). Na moderných počítačoch bude prelomenie tejto šifry útokom hrubou silou hrubou silou trvať najmenej stovky rokov, takže takýto útok je zbytočný. USA používajú podobnú blokovú šifru AES.

Algoritmus RSA je populárny na internete, preto je pomenovaný podľa začiatočných písmen mien jeho autorov - R. Rivest, A. Shamir a L. Adleman. Ide o algoritmus verejného kľúča, ktorého sila je založená na využití vlastností prvočísel. Aby ste to rozlúštili, musíte rozložiť veľmi veľké číslo na prvočísla. V súčasnosti vedia tento problém vyriešiť len vymenovaním možností. Keďže počet možností je obrovský, prelomenie šifry trvá moderným počítačom mnoho rokov.

Ak chcete použiť algoritmusRSA sa vyžaduje na zostavenie verejných a súkromných kľúčov nasledovne.

1. Vyberte dve veľké prvočísla, p a q.
2. Nájdite ich súčin n = p * q a hodnotu f = (p - 1) (q - 1)
3. Zvoľte číslo e (1< e < k), которое не имеет общих делителей с f.
4. Nájdite číslo d, ktoré spĺňa podmienku d e = k f + 1 pre nejaké celé číslo k
5. Pár hodnôt ​​(e, n) je verejný kľúč RSA (môžete ho voľne publikovať) a pár (d, n) je tajný kľúč.

Prenášaná správa musí byť najskôr reprezentovaná ako postupnosť čísel v rozsahu od 0 do n - 1. Na šifrovanie použite vzorec y = xe mod n, kde x je číslo pôvodnej správy, (e, n) je verejný kľúč, y je číslo zakódovanej správy a zápis x e mod n označuje zvyšok delenia x číslom n. Dešifrovanie správy sa vykonáva podľa vzorca x = y d mod n.
To znamená, že každý môže zašifrovať správu (verejný kľúč je všeobecne známy) a prečítať si ju môže len ten, kto pozná tajný exponent d.
Pre lepšie pochopenie si na jednoduchom príklade ukážeme, ako funguje algoritmus RSA.
PRÍKLAD: Vezmite p = 3 a q = 7, potom nájdeme n = p q = 21 a f = (p - 1) (q - 1) = 12. Vyberte e = 5, potom rovnosť d e = kf + 1 platí napríklad pre d = 17 (ak = 7). Získali sme teda verejný kľúč (5, 21) a súkromný kľúč (17, 21).

Zašifrujme správu „123“ pomocou verejného kľúča (5,21). Dostaneme

1 1 5 mod 21 = 1,
2 2 5 mod21 = 11 ,

3 → 3 5 mod 21 = 12,
to znamená, že zašifrovaná správa pozostáva z čísel 1 , 11 a 12. Keď poznáte tajný kľúč (17, 21), môžete ho dešifrovať:

1 → 1 17 mod 21 = 1 ,

11 → 11 17 mod 21 = 2 ,
12 → 12 17 mod 21 = 3 .

Dostali sme pôvodnú správu.

Samozrejme ste si všimli, že pri šifrovaní a dešifrovaní musíte vypočítať zvyšok delenia veľmi veľkých čísel (napríklad 12 17) číslom n. Ukazuje sa, že samotné číslo 12 17 v tomto prípade nie je potrebné nájsť. Stačí zapísať jednotku do obyčajnej celočíselnej premennej, napríklad x, a potom 17-krát vykonať transformáciu x = 12 * x mod 21. Potom bude premenná x obsahovať hodnotu 12 17 mod 21 = 3. Skúste dokázať správnosť tohto algoritmu.
Na rozlúštenie správy potrebujete poznať tajný exponent d. A na to je zase potrebné nájsť faktory p a q také, že n = p q. Ak je n veľké, ide o veľmi zložitý problém a jeho vyriešenie pretriedením možností na modernom počítači bude trvať stovky rokov. V roku 2009 sa skupine vedcov z rôznych krajín podarilo v dôsledku mnohých mesiacov výpočtov na stovkách počítačov dešifrovať správu zašifrovanú pomocou algoritmu RSA pomocou 768-bitového kľúča. Preto sa kľúče s dĺžkou 1024 bitov alebo viac teraz považujú za spoľahlivé. Ak pracovný kvantový počítač, prelomenie algoritmu RSA bude možné vo veľmi krátkom čase.
Pri použití symetrických šifier vždy vzniká problém: ako preniesť kľúč, ak je komunikačný kanál nespoľahlivý? Po prijatí kľúča bude nepriateľ schopný dešifrovať všetky ďalšie správy. Pre algoritmus RSA tento problém nie je, strany si musia vymeniť iba verejné kľúče, ktoré je možné ukázať každému.
Algoritmus RSA má ďalšiu výhodu: dá sa naň použiť digitálny podpis správy. Slúži na preukázanie autorstva dokumentov, na ochranu správ pred falšovaním a úmyselnými zmenami.

Digitálny podpis je súbor znakov, ktorý sa získa zašifrovaním správy pomocou osobného tajného kódu odosielateľa.

Odosielateľ môže poslať rovnakú správu spolu s pôvodnou správou, zašifrovanú pomocou svojho súkromného kľúča (ide o digitálny podpis). Príjemca dešifruje digitálny podpis pomocou verejného kľúča. Ak sa zhoduje s nezašifrovanou správou, môžete si byť istí, že ju odoslala osoba, ktorá ju pozná tajný kód... Ak bola správa počas prenosu zmenená, nebude sa zhodovať s dešifrovaným digitálnym podpisom. Keďže správa môže byť veľmi dlhá, v záujme zníženia množstva prenášaných dát sa najčastejšie nešifruje celá správa, ale iba jej hash kód.
Mnoho moderných programov má schopnosť šifrovať údaje pomocou hesla. Napríklad kancelárske balíky OpenOffice.org a Microsoft Office vám umožní zašifrovať všetko generované dokumenty(na ich zobrazenie a/alebo zmenu je potrebné zadať heslo). Pri vytváraní archívu (napríklad v archívoch 7Zip, WinRAR, WinZip) môžete tiež nastaviť heslo, bez ktorého nie je možné extrahovať súbory.
V najjednoduchších úlohách na šifrovanie súborov môžete použiť voľný program Ransomvér(http://www.familytree.ru/ru/cipher.htm), ktorých verzie existujú pre Linux a Windows... programy TnieCrypt(http://www.truecrypt.org/), BestCrypt(www.jetico.com) a FreeOTFE(freeotfe.org) vytvárať logické kontajnerové jednotky, na ktorých sú informácie šifrované. Bezplatný redistribuovateľný program DiskCrypto r (diskcryptor.net) vám umožňuje šifrovať oddiely pevné disky a dokonca vytvárať šifrované flash disky a CD / DVD.
Program GnuPG(gnupg.org) tiež odkazuje na slobodný softvér. Podporuje symetrické a asymetrické šifry, ako aj rôzne algoritmy elektronický digitálny podpis.

Steganografia

YouTube video

Pri prenose správ môžete nielen použiť šifrovanie, ale aj skryť samotný fakt prenosu správ.


Steganografia je veda o skrytom prenose informácií skrývaním samotného faktu prenosu informácií.

Staroveký grécky historik Herodotos opísal napríklad takúto metódu: na oholenú hlavu otroka bola zaznamenaná správa, a keď mu vlasy odrástli, poslali ho k príjemcovi, ktorý si oholil hlavu a správu prečítal.
Klasickou metódou steganografie je sympatický (neviditeľný) atrament, ktorý sa vyvíja len za určitých podmienok (zahrievanie, osvetlenie, chemická vývojka). Napríklad text napísaný mliekom sa dá čítať pri zahrievaní.
Teraz sa steganografia zaoberá skrývaním informácií v textových, grafických, zvukových a video súboroch pomocou softvéru, ktorý do nich „vkladá“ potrebné správy.
Najjednoduchší spôsob- nahradiť najmenej významné bity súboru, v ktorom je zakódovaný obrázok. Okrem toho sa to musí urobiť tak, aby rozdiel medzi originálom a výslednými kresbami bol pre človeka nepostrehnuteľný. Napríklad, ak je na čiernobielom obrázku (256 odtieňov sivej), jas každého pixelu je zakódovaný v 8 bitoch. Ak zmeníte najmenej významné 1-2 bity tohto kódu a „vložíte“ ​​tam textovú správu, fotografia, ktorá nemá jasné hranice, sa takmer nezmení. Pri výmene 1 bitu každý bajt originálu textová správa uložené v najmenej významných bitoch z 8 pixelových kódov. Napríklad, nechajte prvých 8 pixelov obrázka mať nasledujúce kódy:

10101101

10010100

00101010

01010010

10101010

10101010

10101011

10101111

Ak chcete do nich zakódovať kód písmena „I“ (110010002), musíte zmeniť najmenej významné bity kódov:

1010110 1

1001010 1

0010101 0

0101001 0

1010101 1

1010101 0

1010101 0

1010111 0

Prijímač musí vziať tieto bity nižšieho rádu a „zložiť“ ich do jedného bajtu.
Pre zvuky sa používajú iné metódy steganografie, založené na pridávaní krátkych podmienených signálov do nahrávky, ktoré označujú 1 a 0 a nie sú vnímané.
sú brané

podľa ucha. Je tiež možné nahradiť jeden kus zvuku iným.
Na potvrdenie autorstva a ochrany autorských práv pre obrázky, video a zvukové súbory sa používajú digitálne vodoznaky – informácie o autorovi vložené do súboru. Svoje meno dostali podľa starých vodoznakov na peniazoch a dokladoch. Na zistenie autorstva fotografie stačí rozlúštiť skryté informácie zaznamenané s vodotlačou.
Niekedy sú digitálne vodoznaky viditeľné (text alebo logo spoločnosti na fotografii alebo na každom snímku videa). Mnoho webových stránok s digitálnou fotografiou má na svojich náhľadových fotografiách viditeľné vodoznaky.


Kontrolné otázky:
  1. Aký šifrovací algoritmus je prijatý v Rusku ako štátny štandard?
  2. Čo je to blokový šifrovací algoritmus?
  3. Aký typ je algoritmus RSA? Na čom je založená jeho kryptografická sila?
  4. Čo je digitálny podpis?
  5. Ako možno použiť RSA na digitálne podpisy?
  6. Čo je steganografia?
  7. Aké metódy steganografie existovali predtým, než boli vynájdené počítače?
  8. Ako môžete pridať text do zakódovaného obrázka?
  9. Na čom sú založené steganografické metódy pre audio a video dáta?
  10. Čo sú digitálne vodoznaky? Prečo sa používajú?

Cvičenie:

1. Pozrite si materiál prednášky a odpovedzte na kontrolné otázky.
2. Postupujte podľa odkazov a zoznámte sa s programami na šifrovanie súborov.
3. Zašifrujte akýkoľvek dokument v ktoromkoľvek z nich kancelárske balíky OpenOffice.org alebo Microsoft Office a pošlite mi .

Dobrý deň, vážený užívateľ. V tomto článku budeme hovoriť o témach, ako sú: Šifrovacie algoritmy, Základné pojmy symetrického šifrovacieho algoritmu.

Väčšina nástrojov informačnej bezpečnosti je založená na použití kryptografických šifier a procedúr šifrovanie a dešifrovanie.

Podľa normy šifrovanieŠifra podľa GOST 28147-89 sa chápe ako súbor reverzibilných transformácií súboru otvorených údajov na súbor šifrovaných údajov špecifikovaných kľúčom a kryptografickým algoritmom konverzie.

Kľúčom je špecifický tajný stav niektorých parametrov algoritmu. transformácia kryptografických údajov zabezpečenie výberu len jednej možnosti zo všetkých možných pre daný algoritmus. V symetrické kryptoalgoritmy rovnaký blok informácií (kľúč) sa používa na šifrovanie a dešifrovanie správy. Hoci algoritmus ovplyvňovania prenášaných údajov môže byť známy neoprávneným osobám, závisí od tajného kľúča, ktorý by mal vlastniť iba odosielateľ a príjemca. Symetrické kryptoalgoritmy vykonávajú transformáciu malého bloku údajov (1 bit alebo 32-128 bitov) v závislosti od tajného kľúča tak, že pôvodnú správu je možné prečítať iba vtedy, ak je tento tajný kľúč známy.

Symetrický šifrovací algoritmus.

Symetrické kryptosystémy umožňujú na základe symetrické kryptoalgoritmy kódovať a dekódovať súbory ľubovoľná dĺžka... V závislosti od veľkosti bloku informácií symetrické kryptoalgoritmy sa delia na blokové šifry a prúdové šifry.

Pre blokové šifry je šifrovacou jednotkou blok niekoľkých bajtov. Výsledok šifrovania závisí od všetkých pôvodných bajtov tohto bloku. Blokové šifrovanie sa používa pri prenose paketových dát a kódovaní súborov. Blokové šifry šifrujú celé bloky informácií (od 4 do 32 bajtov) ako celok - to výrazne zvyšuje odolnosť transformácií voči útokom hrubou silou a umožňuje použitie rôznych matematických a algoritmických transformácií.

Pre prúdové šifry je šifrovacia jednotka jeden bit alebo jeden bajt. Výsledok zvyčajne závisí od šifrovania predchádzajúceho vstupného toku. Táto schéma šifrovania sa používa v systémoch na prenos tokov informácií, to znamená v prípadoch, keď prenos informácií začína a končí v ľubovoľných časoch.

Výrazná vlastnosť symetrické blokové algoritmy spočíva v tom, že v priebehu svojej práce transformujú blok vstupných informácií pevnej dĺžky a získajú výsledný blok rovnakej veľkosti, ktorý však nie je dostupný na čítanie tretími stranami, ktoré nevlastnia kľúč. Schéma fungovania symetrickej blokovej šifry teda môže byť opísaná funkciami:

Funkcia

C = EK (M),
M = nevie (C),
kde M je pôvodný (otvorený) dátový blok;
C - šifrovaný blok údajov.

Kľúč K je parameter symetrický blokový kryptoalgoritmus a je blokom binárnych informácií pevnej veľkosti. Pôvodné dátové bloky M a zašifrované C majú tiež rovnakú pevnú šírku (ale nemusí sa nevyhnutne rovnať dĺžke kľúča K).

Technika vytvárania reťazcov z bajtov zašifrovaných blokovými algoritmami im umožňuje šifrovať informačné pakety neobmedzenej dĺžky. Chýbajúca štatistická korelácia medzi bitmi výstupného toku blokovej šifry sa používa na výpočet kontrolných súčtov dátových paketov a pri hashovaní hesiel. K dnešnému dňu bolo vyvinutých veľa silných blokových šifier.

Kryptoalgoritmus považuje sa za ideálne bezpečné, ak na prečítanie zašifrovaného bloku údajov je potrebné vymenovať všetky možné kľúče, kým sa dešifrovaná správa neukáže ako zmysluplná. Vo všeobecnom prípade závisí sila blokovej šifry iba od dĺžky kľúča a rastie exponenciálne s jeho rastom.

Ideálne silné kryptoalgoritmy musia spĺňať ďalšiu dôležitú požiadavku. Ak sú známe počiatočné a zašifrované hodnoty bloku, kľúč použitý na túto transformáciu možno nájsť iba úplným prehľadaním jeho hodnôt.

Situácie, v ktorých je časť zdrojového textu známa vonkajšiemu pozorovateľovi, sú pomerne bežné. Môžu to byť štandardné nápisy v elektronických formulároch, pevné hlavičky formátov súborov, dlhé slová, ktoré sa často vyskytujú v texte, alebo sekvencie bajtov. Vyššie uvedená požiadavka preto nie je prehnaná a je tiež prísne vynucovaná silnými blokovými šiframi.

Na získanie silných blokových šifier je podľa Clauda Shannona potrebné použiť dve všeobecný princíp: rozhadzovanie a miešanie.

Poznámka

Difúzia je šírenie vplyvu jedného znaku otvoreného textu na mnoho znakov šifrového textu, čo umožňuje skryť štatistické vlastnosti otvoreného textu ...

Poznámka

Miešanie predpokladá použitie takých šifrovacích transformácií, ktoré sťažujú obnovenie vzťahu medzi štatistickými vlastnosťami otvoreného a šifrovaného textu. Šifra by však nemala len skomplikovať odhalenie, ale mala by tiež uľahčovať šifrovanie a dešifrovanie pomocou tajného kľúča, ktorý používateľ pozná ...

Bežným spôsobom dosiahnutia efektov rozptylu a miešania je použitie zloženej šifry, to znamená takej, ktorú možno implementovať ako sekvenciu jednoduchých šifier, z ktorých každá prispieva k výraznému celkovému rozptýleniu a zmieš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 a konkrétny druh premiešania určí tajný kľúč. Počas nahrádzania je každý znak otvoreného textu nahradený iným znakom z rovnakej abecedy a konkrétny typ nahrádzania je určený aj tajným kľúčom. V moderných blokových šifrách sú bloky otvoreného textu a šifrového textu binárne sekvencie, zvyčajne dlhé 64 bitov. V zásade môže mať každý blok 2 až 64 mocničiek hodnôt. Preto sa substitúcie vykonávajú vo veľmi veľkej abecede, ktorá obsahuje až 2 až 64 „znakov“.

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

Všetky vykonané akcie blokový kryptoalgoritmus vyššie sú dáta založené na skutočnosti, že konvertovaný blok môže byť reprezentovaný ako nezáporné celé číslo z rozsahu zodpovedajúceho jeho bitovej šírke. Napríklad 32-bitový blok údajov možno interpretovať ako číslo v rozsahu 0 – 4294967295. Okrem toho blok, ktorého šírka je mocninou dvoch, možno interpretovať ako zreťazenie niekoľkých nezávislých nezáporných čísel z menšieho rozsah (vyššie uvedený 32-bitový blok môže predstavovať 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).

Blokový kryptoalgoritmus vykonáva na týchto číslach nasledujúce akcie podľa určitej schémy:

1. Matematické funkcie:
- adícia X'= X + V;
- "exkluzívne OR" X '= X x alebo V;
- násobenie modulo 2N + 1 X ’= (X * V) mod (2N + 1);
- násobenie mod 2N X ’= (X * V) mod 2N.
2. Bitové posuny:
- aritmetický posun vľavo X '= X shl V;
- aritmetický posun doprava X '= X shr V;
- cyklický posun doľava X '= X rol V;
- cyklický posun doprava X = X alebo V.
3. Vyhľadávanie v tabuľke:
- S-box (anglická náhrada) X ’= Tabuľka.

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

  • pevné číslo (napríklad X '= X + 125).
  • číslo získané z kľúča (napríklad X ’= X + F (K)).
  • číslo získané z nezávislej časti bloku (napríklad X2'= X2 + F (X1)).

Poznámka

Ten sa používa v schéme nazývanej sieť Feistel (podľa svojho tvorcu) ...

sieť Feistel.

Postupnosť operácií vykonávaných na bloku, kombinácie vyššie uvedených V variantov a funkcie F samotné tvoria charakteristické znaky konkrétneho kryptoalgoritmu symetrického bloku.

Charakteristickým znakom blokových algoritmov je viacnásobné a nepriame využitie kľúčového materiálu. Toto je primárne určené požiadavkou, že nie je možné spätné dekódovanie vzhľadom na kľúč so známym zdrojovým a šifrovaným textom. 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 ten istý blok alebo kľúčový prvok používa viackrát. To umožňuje, keď je splnená podmienka invertibility funkcie vzhľadom na hodnotu X, urobiť funkciu ireverzibilnou vzhľadom na kľúč K.

Feistelova sieť je schéma (metóda) reverzibilných transformácií textu, pri ktorej sa hodnota vypočítaná z jednej z častí textu prekrýva s ostatnými časťami. Sieť Feistel je modifikáciou metódy zmiešania aktuálnej časti šifrovaného bloku s výsledkom nejakej funkcie vypočítanej z inej nezávislej časti toho istého bloku. Táto technika spĺňa dôležitú požiadavku kľúčového a vecného opätovného použitia pôvodného bloku informácií. Štruktúra siete je často navrhnutá tak, aby používal rovnaký algoritmus na šifrovanie a dešifrovanie - rozdiel je len v poradí, v ktorom sa kľúčový materiál používa.

Americký štandard pre šifrovanie dát DES a náš GOST 28147-89 sú postavené na báze siete Feistel.