Algoritmy šifrovania údajov. Symetrické šifrovacie algoritmy. Šifrovací algoritmus RSA. DES šifrovací algoritmus. Výber šifrovacieho algoritmu. Symetrický kryptosystém

  • 28.06.2019

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

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

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

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

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

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

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

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

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

Odosielateľ pomocou verejného kľúča príjemcu zašifruje správu odoslanú príjemcovi;

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

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

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

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

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

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

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

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

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

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

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

Šifrovacie algoritmy

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

  • Symetrické algoritmy
  • Asymetrické algoritmy
  • Hash algoritmy

Symetrické algoritmy

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

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

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

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

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

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

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

Medzi výhody symetrických šifier patrí vysoká rýchlosť šifrovania, menšia potrebná dĺžka kľúča pri podobnej sile, väčšia znalosť a jednoduchá implementácia. Nevýhodou symetrických algoritmov je predovšetkým zložitosť výmeny kľúča z dôvodu vysokej pravdepodobnosti narušenia utajenia kľúča pri výmene, ktorá je nevyhnutná, a zložitosť správy kľúčov vo veľkej sieti.

Príklady symetrických šifier

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

Asymetrické algoritmy

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

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

Princíp fungovania asymetrických systémov

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

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

Príklady asymetrických fontov

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

Hashovacie funkcie

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

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

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

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

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

Príklady hash algoritmov

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

Kryptografické primitívy

Aby sa zašifrovaným informáciám dala väčšia kryptografická sila, môžu sa v kryptografickom systéme opakovane aplikovať relatívne jednoduché transformácie – primitíva. Primitívy môžu byť substitúcie, permutácie, rotácie alebo gama.

kvantová kryptografia

Kryptografia v digitálnych technológiách

Príbeh

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

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

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

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

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

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

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

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

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

Literatúra

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

Symetrické šifrovanie

Symetrické šifrovanie

Ako je uvedené vyššie, pri symetrickom šifrovaní sa na šifrovanie a dešifrovanie údajov používa rovnaký kľúč. Je jasné, že kľúč algoritmu musia obe strany držať v tajnosti. Zjednodušene povedané, kľúč v tomto prípade znamená heslo, ktoré, samozrejme, treba udržať v tajnosti.

Populárne symetrické šifrovacie algoritmy sú:

DES (výrazne zastarané) a TripleDES (3DES);

AES (Rijndael);

GOST 28147-89;

Za hlavné parametre symetrických šifrovacích algoritmov možno považovať:

Fortitude;

Dĺžka kľúča;

Počet kôl;

Dĺžka spracovaného bloku;

Zložitosť implementácie hardvéru/softvéru.

Takže, začnime.

Data Encryption Standard (DES). Algoritmus Data Encryption Standard (DES) bol vyvinutý spoločnosťou IBM začiatkom sedemdesiatych rokov. Americký Národný inštitút pre štandardy a technológie (NIST) prijal algoritmus (publikácia FIPS 46) pre DES v roku 1977. Algoritmus bol ďalej modifikovaný v rokoch 1983, 1988, 1993 a 1999.

Donedávna bol DES „štandardom v Spojených štátoch“, pretože vláda USA odporúčala, aby sa používal na implementáciu rôznych systémov šifrovania údajov. Napriek tomu, že sa pôvodne plánovalo používať DES nie dlhšie ako 10-15 rokov, pokusy o jeho nahradenie sa začali až v roku 1997.

DES používa 56-bitový kľúč. Podľa dnešných štandardov je táto dĺžka kľúča neprijateľná. DES je blokový šifrovací algoritmus, ktorý spracováva jeden 64-bitový blok otvoreného textu naraz. Algoritmus DES spustí 16 kôl šifrovania s iným podkľúčom v každom kole. Kľúč je podrobený svojmu vlastnému algoritmu na vytvorenie 16 podkľúčov (obrázok 2.1).

Ryža. 2.1. Ako funguje DES

Pozrime sa podrobnejšie na fungovanie algoritmu. Vstupný dátový blok 64 bitov sa prevedie na výstupný blok rovnakej dĺžky. Šifrovací kľúč musí byť známy odosielajúcej aj prijímajúcej strane. Algoritmus vo veľkej miere využíva textové bitové permutácie.

Zavádza sa funkcia F, ktorá pracuje s 32-bitovými zdrojovými slovami ® a ako parameter používa 48-bitový kľúč (J). Schéma činnosti funkcie F je znázornená na obr. 2.1. Najprv sa 32 vstupných bitov rozšíri na 48, pričom niektoré bity sa zopakujú.

Na výslednom 48-bitovom kóde a kľúči sa vykoná sčítanie Modulo 2. Výsledný 48-bitový kód sa prevedie na 32-bitový pomocou S-matíc.

Pôvodný 48-bitový kód je rozdelený do ôsmich skupín po šiestich bitoch. Prvá a posledná číslica v skupine sa používa ako adresa riadka a prostredné štyri číslice sa používajú ako adresa stĺpca. Výsledkom je, že každých šesť bitov kódu sa prevedie na štyri bity a celý 48-bitový kód sa skonvertuje na 32-bitový (to si vyžaduje osem S-matíc). Existuje vývoj, ktorý umožňuje hardvérové ​​šifrovanie v rámci štandardu DES, ktorý poskytuje pomerne vysoký výkon.

Aby sme pochopili všetky zložitosti algoritmu DES, bolo by celkom vhodné uviesť popis takzvanej Feishtelovej siete (niekedy nazývanej aj Feistelova sieť), ktorá je základom DES.

V roku 1973 Horst Feistel publikoval článok „Cryptography and Computer Privacy“ v Scientific American, v ktorom odhalil niektoré dôležité aspekty šifrovania a tiež predstavil návrh, ktorý sa neskôr nazýval sieť Feistel. Tento obvod bol použitý v projekte Lucifer spoločnosti IBM, na ktorom pracovali Feishtel a Don Coppersmith. Tento projekt bol skôr experimentálny, ale stal sa základom pre Data Encryption Standard (DES). Iteratívna štruktúra algoritmu umožnila zjednodušiť jeho implementáciu v hardvérových prostrediach.

Je vhodné poznamenať, že nasledujúce blokové šifry vo svojom jadre využívajú iba klasickú alebo upravenú sieť Feishtel: Blowfish, Camellia, CAST, DES, FEAL, GOST 28147-89, KASUMI, LOKI97, Lucifer, MacGuffin, MARS, MAGENTA, MISTY1 , RC2 , RC5, RC6, Skipjack, TEA, Triple DES, Twofish, XTEA.

TripleDES (3DES). Zjavná nestabilita DES viedla k hľadaniu nejakej alternatívy. V roku 1992 výskum ukázal, že DES možno použiť trikrát na zabezpečenie silnejšieho šifrovania. Takto sa zrodil trojitý DES (3DES). Triple DES sa používa s dvomi alebo tromi klávesmi. Kľúč použitý v tomto prípade poskytuje väčší výkon ako konvenčné DES.

Advanced Encrypt Standard (AES). Krátko po vydaní DES bola objavená zjavná slabina algoritmu. Potreba nového štandardu bola viac než zrejmá: malá dĺžka kľúča DES (56 bitov) umožnila použiť proti tomuto algoritmu metódu hrubej sily. Architektúra DES bola navyše orientovaná na hardvérovú implementáciu a softvérová implementácia algoritmu na platformách s obmedzenými zdrojmi neposkytovala požadovaný výkon. Modifikácia TDES mala dostatočnú dĺžku kľúča, ale bola ešte pomalšia. TDES neexistuje dostatočne dlho na to, aby bol považovaný za robustný a spoľahlivý. Ako sa očakávalo, bol nahradený robustnejším a spoľahlivejším algoritmom - AES, ktorý bol mimochodom vybraný ako výsledok súťaže a prijatý ako americký šifrovací štandard vládou USA. Trochu o samotnej súťaži.

2. januára 1997 NIST (Národný inštitút pre štandardy a technológie) oznamuje svoj zámer nájsť náhradu za DES, ktorý je od roku 1977 americkým štandardom. NIST dostal od zainteresovaných strán značné množstvo informácií o tom, ako by sa mal algoritmus vybrať. Silná odozva zo strany otvorenej kryptografickej komunity viedla 12. septembra 1997 k vyhláseniu súťaže. Takmer každá organizácia alebo skupina výskumníkov by mohla navrhnúť algoritmus. Minimálne požiadavky na nový štandard boli nasledovné:

Musí to byť bloková šifra;

Dĺžka bloku musí byť 128 bitov;

Algoritmus musí pracovať s kľúčmi 128, 192 a 256 bitov;

Používajte operácie, ktoré sa dajú ľahko implementovať v hardvéri (v mikročipoch) aj softvéri (na osobných počítačoch a serveroch);

Zamerajte sa na 32-bitové procesory;

Zbytočne nekomplikujte štruktúru šifry, aby všetky zainteresované strany mohli nezávisle vykonať nezávislú kryptoanalýzu algoritmu a ubezpečiť sa, že neobsahuje žiadne nezdokumentované prvky.

Okrem všetkého vyššie uvedeného musí byť algoritmus, ktorý tvrdí, že sa stane štandardom, distribuovaný po celom svete bez platenia za použitie patentu.

20. augusta 1998 na prvej konferencii AES bol vyhlásený zoznam 15 kandidátov a to: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER + , Had a Twofish.

Je zrejmé, že v následných diskusiách boli tieto algoritmy podrobené najdôkladnejšej analýze a neštudovali sa len kryptografické vlastnosti, ako je odolnosť voči známym útokom a absencia slabých kľúčov, ale aj praktické aspekty implementácie. Pri výbere algoritmu sa teda osobitná pozornosť venovala optimalizácii rýchlosti vykonávania kódu na rôznych architektúrach (od PC po smart karty a hardvérové ​​implementácie), možnosti optimalizácie veľkosti kódu a možnosti paralelizácie.

V marci 1999 sa konala druhá konferencia AES a v auguste 1999 bolo oznámených päť finalistov, medzi ktorými boli: MARS, RC6, Rijndael, Serpent a Twofish. Všetky boli vyvinuté renomovanými kryptografmi s celosvetovým uznaním. Na 3. konferencii AES v apríli 2000 všetci autori prezentovali svoje algoritmy.

V New Yorku sa 13. a 14. apríla 2000, krátko pred dokončením druhej etapy, konala tretia konferencia AES. Dvojdňová konferencia bola rozdelená do ôsmich zasadnutí po štyri denne. Na zasadnutiach prvého dňa sa diskutovalo o otázkach týkajúcich sa programovateľných polí (FGPA), hodnotili sa implementácie algoritmov na rôznych platformách vrátane PA-RISC, IA-64, Alpha, čipových kariet vysokej úrovne a signálových procesorov, porovnávali sa výkony žiadateľov. pre štandard sa analyzoval počet kôl v kandidátskych algoritmoch. Na druhý deň bol Rijndael analyzovaný s redukovaným počtom kôl a ukázala sa jeho slabosť v tomto prípade, prediskutovala sa otázka integrácie všetkých piatich kandidátskych algoritmov do finálneho štandardu, všetky algoritmy boli opäť testované. Na konci druhého dňa sa uskutočnila prezentácia, na ktorej uchádzači hovorili o svojich algoritmoch, ich výhodách a nevýhodách. Vincent Rijmen hovoril o Rijndaelovi ako o lídrovi, pričom deklaroval spoľahlivosť ochrany, vysoký celkový výkon a jednoduchosť architektúry svojho kandidáta.

2. októbra 2000 bolo oznámené, že víťazom súťaže sa stal Rijndaelov algoritmus a začala sa štandardizácia. 28. februára 2001 bol návrh zverejnený a 26. novembra 2001 bol AES prijatý ako FIPS 197.

Presne povedané, AES a Rijndael nie sú rovnaké, pretože Rijndael podporuje širokú škálu dĺžok kľúčov a blokov.

Za zmienku stojí najmä skutočnosť, že Rijndaelov algoritmus je na rozdiel od väčšiny známych symetrických šifrovacích algoritmov založených na sieti Feishtel. Pripomíname našim čitateľom, že vlastnosťou siete Feishtel je, že vstupná hodnota je rozdelená do dvoch alebo viacerých podblokov, z ktorých niektoré sú spracované podľa určitého zákona v každom kole, po ktorom sa prevrství na nespracované podbloky.

Na rozdiel od GOST 28147, o ktorom sa bude diskutovať nižšie, Rijndaelov algoritmus predstavuje dátový blok vo forme dvojrozmerného bajtového poľa s veľkosťou 4 x 4, 4 x 6 alebo 4 x 8 (povolených je niekoľko pevných veľkostí šifrovaného informačného bloku ). Všetky operácie sa vykonávajú na jednotlivých bajtoch poľa, ako aj na nezávislých stĺpcoch a riadkoch.

Rijndaelov algoritmus zabezpečuje vykonanie štyroch po sebe nasledujúcich transformácií.

1. BS (ByteSub) - tabuľková náhrada každého bajtu poľa (obr. 2.2).

Ryža. 2.2. Nahradenie každého bajtu poľa tabuľkou

2. SR (ShiftRow) – posun riadkov poľa. Pri tejto operácii zostane prvý riadok nezmenený a zvyšok sa cyklicky bajt po byte posúva doľava o pevný počet bajtov v závislosti od veľkosti poľa. Napríklad pre pole 4 x 4 sú riadky 2, 3 a 4 posunuté o 1, 2 a 3 bajty (obr. 2.3).

3. Nasleduje MC (MixColumn) - operácia na nezávislých stĺpcoch poľa, kedy je každý stĺpec vynásobený pevnou maticou C (X) podľa určitého pravidla (obr. 2.4).

4. Záverečná fáza - AK (AddRoundKey) - pridanie kľúča. Každý bit poľa sa pripočíta modulo 2 k zodpovedajúcemu bitu okrúhleho kľúča, ktorý sa zase určitým spôsobom vypočíta zo šifrovacieho kľúča (obr. 2.5).

Ryža. 2.3. Posun riadkov

Ryža. 2.4. Operácia MixColumn

Ryža. 2.5. Pridať kľúčovú operáciu

Vyššie uvedené transformácie zašifrovaných údajov sa vykonávajú postupne v každom kole (obr. 2.6).

Ryža. 2.6. Postupnosť kôl Rijndael

V algoritme Rijndael je počet kôl šifrovania ® variabilný (10, 12 alebo 14 kôl) a závisí od veľkosti bloku a šifrovacieho kľúča (pre kľúč existuje aj niekoľko pevných veľkostí).

Prečo sa Rijndael stal novým štandardom šifrovania pred inými algoritmami? Po prvé, poskytuje vysokú rýchlosť šifrovania a na všetkých platformách: v softvérovej aj hardvérovej implementácii. Algoritmus sa vyznačuje úspešným mechanizmom na paralelizáciu výpočtov v porovnaní s inými algoritmami prihlásenými do súťaže. Okrem toho sú požiadavky na zdroje na jeho prevádzku minimálne, čo je dôležité pri jeho použití v zariadeniach s obmedzenými výpočtovými schopnosťami.

So všetkými výhodami a originalitou algoritmu AES by sa dal považovať za absolútnu spoľahlivosť a odolnosť, ale ako sa vždy stáva, neexistujú žiadne dokonalé produkty.

Nicolas Tadeusz Courtois (poľský kryptograf žijúci vo Francúzsku) predložil 26. mája 2006 na konferencii Quo Vadis IV praktický dôkaz existencie algebraických útokov optimalizovaných proti šifre AES-Rijndael. Za hodinu a pol na svojom notebooku vykonal demo-lámanie s použitím iba niekoľkých šifrových textov blízkeho analógu Rijndaela. Hoci išlo len o modelovú šifru, bola rovnako silná, nepridali sa k nej žiadne výrazné slabiny, mala rovnako dobré difúzne vlastnosti a odolnosť voči všetkým predtým známym typom kryptoanalýzy. Jediným rozdielom boli len zmenené parametre S-boxov v rámci algebraického modelu útoku a pre prehľadnosť znížený počet nábojov. To však stačilo na presvedčenie skeptikov o reálnosti algebraických útokov a nedokonalosti aj takej zdanlivo dokonalej šifrovacej metódy.

GOST 28147.Ďalším symetrickým šifrovacím algoritmom, ktorý zvážime, bude GOST 28147-89. Toto je sovietsky a ruský štandard pre symetrické šifrovanie, ktorý bol zavedený 1. júla 1990. Norma je povinná pre organizácie, podniky a inštitúcie, ktoré využívajú kryptografickú ochranu údajov uložených a prenášaných v počítačových sieťach, v samostatných počítačových systémoch alebo počítačoch.

Algoritmus bol vyvinutý v bývalom hlavnom riaditeľstve KGB ZSSR alebo v niektorom z tajných výskumných ústavov v jeho systéme. Spočiatku mal krk (OV alebo SS - to nie je presne známe), potom sa krk dôsledne 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 DSP (ako viete, DSP sa nepovažuje za krk). V roku 1989 sa stal oficiálnym štandardom ZSSR a neskôr, po rozpade ZSSR, federálnym štandardom Ruskej federácie.

Od chvíle, keď bol GOST zverejnený, mal obmedzujúcu známku „Na úradné použitie“ a formálne bola šifra vyhlásená za „úplne otvorenú“ až v máji 1994. Z dobre známych dôvodov je história vytvorenia šifry a kritériá jej návrhu stále neznáme.

GOST 28147-89 je bloková šifra s 256-bitovým kľúčom a 32 cyklami konverzie, pracujúca na 64-bitových blokoch. Základom algoritmu je nám už známa sieť Feishtel. Hlavným režimom šifrovania podľa GOST 28147-89 je režim jednoduchého nahradenia (definované sú aj zložitejšie režimy gama a gama so spätnou väzbou). Pozrime sa podrobnejšie na mechanizmus algoritmu.

Pri práci s GOST 28147-89 sú informácie šifrované v blokoch po 64 bitoch (takéto algoritmy sa nazývajú blokové algoritmy), ktoré sú potom rozdelené do dvoch podblokov po 32 bitoch (N1 a N2). Po spracovaní podbloku N1 sa jeho hodnota pripočíta k hodnote podbloku N2 (sčítanie sa vykoná modulo 2, to znamená, že sa použije logická operácia XOR - exkluzívne OR) a potom sa podbloky vymenia. Táto transformácia sa vykoná určitý počet krát (kôl): 16 alebo 32 v závislosti od režimu algoritmu. V každom kole sa vykonajú dve operácie (obr. 2.7).

Ryža. 2.7. Konverzia sa vykonáva určitý počet krát

Prvá operácia zahŕňa uloženie kľúča. Obsah podbloku N1 je pridaný modulo 2 do 32-bitovej časti kľúča Kx. Úplný šifrovací kľúč je reprezentovaný ako zreťazenie 32-bitových podkľúčov: K0, K1, K2, K3, K4, K5, K6, K7. Proces šifrovania používa jeden z týchto podkľúčov v závislosti od čísla kola a režimu algoritmu.

Druhá operácia vykoná výmenu stola. Po kľúčovaní sa podblok N1 rozdelí na osem častí po štyroch bitoch, pričom hodnota každého z nich sa nahradí v súlade s náhradnou tabuľkou pre túto časť podbloku. Podblok je potom bitovo doľava otočený o 11 bitov.

Algoritmus definovaný GOST 28147-89 môže pracovať v štyroch režimoch:

Jednoduchá výmena;

hazardné hry;

Hranie so spätnou väzbou;

Generácie imitácie predpôn.

Pri generovaní prefixov sa používa rovnaká transformácia šifrovania opísaná vyššie, ale keďže účel režimov je odlišný, táto transformácia sa v každom z nich vykonáva inak.

V režime jednoduchého nahradzovania sa vykoná 32 kôl opísaných vyššie na zašifrovanie každého 64-bitového bloku informácií. Každý z blokov je šifrovaný nezávisle od druhého, to znamená, že výsledok šifrovania každého bloku závisí len od jeho obsahu (zodpovedajúceho zdrojového bloku). Ak existuje niekoľko rovnakých blokov pôvodného (obyčajného) textu, zodpovedajúce bloky šifrovaného textu budú tiež rovnaké, čo poskytuje ďalšie užitočné informácie pre kryptoanalytika, ktorý sa pokúša otvoriť šifru. Preto sa tento režim používa najmä na šifrovanie samotných šifrovacích kľúčov (často sú implementované viackľúčové schémy, v ktorých sú z viacerých dôvodov kľúče šifrované nad sebou). Na zašifrovanie samotnej informácie sú určené ďalšie dva režimy prevádzky: gama a gama so spätnou väzbou.

V režime gama je každý blok otvoreného textu po bitoch pridaný modulo 2 k bloku gama 64-bitovej šifry. Šifra gama je špeciálna sekvencia, ktorá sa získa ako výsledok určitých operácií s registrami N1 a N2.

1. V registroch N1 a N2 sa zapíše ich počiatočná náplň - 64-bitová hodnota, nazývaná synchronizačná správa.

2. Obsah registrov N1 a N2 (v tomto prípade synchronizačné správy) je šifrovaný v režime jednoduchej výmeny.

3. K obsahu registra N1 sa pripočíta modulo (2 32 – 1) s konštantou C1 rovnajúcou sa 2 24 + 2 16 + 2 8 + 2 4 a výsledok sčítania sa zapíše do registra N1.

4. K obsahu registra N2 sa pripočíta modulo 2 32 s konštantou C2 rovnajúcou sa 2 24 + 2 16 + 2 8 + 1 a výsledok sčítania sa zapíše do registra N2.

5. Obsah registrov N1 a N2 je vyvedený ako 64-bitový šifrovací gama blok (v tomto prípade N1 a N2 tvoria prvý gama blok).

Ak je potrebný ďalší gama blok (t. j. šifrovanie alebo dešifrovanie musí pokračovať), vráťte sa na krok 2.

Na dešifrovanie sa gama vygeneruje podobným spôsobom a potom sa šifrový text a bity gama opäť XORujú.

Aby sa vyvinul rozsah šifry potrebný na dešifrovanie, používateľ dešifrujúci kryptogram musí mať rovnaký kľúč a rovnakú hodnotu synchronizačnej správy, aké boli použité pri šifrovaní informácií. V opačnom prípade nebudete môcť získať pôvodný text zo zašifrovaného.

Vo väčšine implementácií algoritmu GOST 28147-89 nie je synchronizačná správa tajná, existujú však systémy, kde je synchronizačná správa rovnakým tajným prvkom ako šifrovací kľúč. Pre takéto systémy je efektívna dĺžka kľúča algoritmu (256 bitov) zvýšená o ďalších 64 bitov tajnej synchronizačnej správy, ktorú možno tiež považovať za kľúčový prvok.

V spätnoväzbovom gama režime sa na vyplnenie registrov N1 a N2, počnúc od druhého bloku, nepoužíva predchádzajúci gama blok, ale výsledok šifrovania predchádzajúceho bloku otvoreného textu. Prvý blok v tomto režime je generovaný presne rovnakým spôsobom ako predchádzajúci.

Vzhľadom na spôsob generovania imitačných prefixov je potrebné definovať pojem predmetu generovania. Spoof je kryptografický kontrolný súčet vypočítaný pomocou šifrovacieho kľúča a určený na kontrolu integrity správ. Pri generovaní prefixu sa vykonajú nasledujúce operácie: prvý 64-bitový blok informačného poľa, pre ktorý je prefix vypočítaný, sa zapíše do registrov N1 a N2 a zašifruje sa v redukovanom režime jednoduchého nahradzovania (prvých 16 vykonajú sa kolá z 32). Získaný výsledok sa sčíta modulo 2 s ďalším blokom informácií, pričom sa výsledok uloží do N1 a N2.

Cyklus sa opakuje až do posledného bloku informácií. Výsledný 64-bitový obsah registrov N1 a N2 alebo jeho časti v dôsledku týchto transformácií sa nazýva imitačný prefix. Veľkosť predpony sa vyberá na základe požadovanej spoľahlivosti správ: pri dĺžke predpony r bitov je pravdepodobnosť, že zmena v správe zostane nepovšimnutá, 2^. Najčastejšie je 32-bitová predpona ​to znamená polovicu obsahu registrov. To je postačujúce, pretože ako každý kontrolný súčet je predpona imitácie určená predovšetkým na ochranu pred náhodným skreslením informácií. Na ochranu pred úmyselnou úpravou údajov sa používajú iné kryptografické metódy – predovšetkým elektronický digitálny podpis.

Pri výmene informácií slúži predpona imitácie ako druh doplnkového prostriedku kontroly. Vypočítava sa pre čistý text, keď sú niektoré informácie zašifrované a odosielajú sa spolu so šifrovaným textom. Po dešifrovaní sa vypočíta nová hodnota predpony imitácie, ktorá sa porovná s odoslanou hodnotou. Ak sa hodnoty nezhodujú, potom bol šifrovaný text počas prenosu poškodený alebo boli počas dešifrovania použité nesprávne kľúče. Predpona imitácie je užitočná najmä na kontrolu správneho dekódovania kľúčových informácií pri použití schém s viacerými kľúčmi.

Algoritmus GOST 28147-89 sa považuje za dostatočne silný - v súčasnosti neexistujú účinnejšie metódy na jeho odhalenie ako vyššie uvedená hrubá sila. Vysoká bezpečnosť algoritmu je dosiahnutá predovšetkým vďaka veľkej dĺžke kľúča rovnajúcej sa 256 bitom. Navyše, pri použití tajnej synchronizačnej správy sa efektívna dĺžka kľúča zvýši na 320 bitov a tajomstvo náhradnej tabuľky pridáva ďalšie bity. Navyše kryptografickú silu GOST 28147-89 už pri 32 nábojoch možno považovať za viac ako dostatočnú, a to aj napriek tomu, že plný efekt rozptylu vstupných dát sa dosiahne po ôsmich kolách.

Algoritmus GOST 28147-89 k dnešnému dňu plne spĺňa všetky požiadavky kryptografie a má rovnaké výhody ako iné algoritmy, ale nemá svoje nedostatky. Medzi zrejmé výhody tohto algoritmu patria:

Efektívnosť implementácie a teda vysoký výkon na moderných počítačoch;

Zbytočnosť mocenského útoku (útoky XSL sa neberú do úvahy, pretože ich účinnosť ešte nebola úplne preukázaná).

Ako sa však vždy stáva, algoritmus nie je bez chýb: je triviálne dokázané, že GOST má „slabé“ kľúče a S-boxy, ale štandard nepopisuje kritériá na výber a vyradenie „slabých“. Okrem toho norma nešpecifikuje algoritmus na generovanie S-boxov (substitučných tabuliek). Na jednej strane to môže byť dodatočná tajná informácia (okrem kľúča) a na druhej strane to prináša množstvo problémov: nie je možné určiť kryptografickú silu algoritmu bez toho, aby sme vopred poznali substitučnú tabuľku. ; implementácie algoritmu od rôznych výrobcov môžu používať rôzne substitučné tabuľky a nemusia byť navzájom kompatibilné.

Poďme sa rýchlo pozrieť na niektoré ďalšie symetrické šifrovacie algoritmy.

blowfish. Blowfish je 64-bitová bloková šifra vyvinutá spoločnosťou Schneier v roku 1993. Táto šifra, rovnako ako mnohé iné, je založená na algoritme siete Feishtel. Jediné kolo šifrovania tohto algoritmu pozostáva z permutácie závislej od kľúča a substitúcie závislej od kľúča údajov. Všetky operácie sú založené na XOR a prídavkoch na 32-bitových slovách. Kľúč má premenlivú dĺžku (maximálna dĺžka 448 bitov) a používa sa na generovanie niekoľkých polí podkľúčov. Šifra bola vytvorená špeciálne pre 32-bitové stroje a je výrazne rýchlejšia ako algoritmus DES, ktorý sme predtým zvažovali.

NÁPAD(International Data Encryption Algorithm) vyvinuli K. Lai a D. Massey koncom 80. rokov 20. storočia. Ide o šifru pozostávajúcu zo 64-bitových opakujúcich sa blokov so 128-bitovým kľúčom a ôsmimi kolami. Je potrebné poznamenať, že na rozdiel od predtým diskutovaných šifrovacích algoritmov nie je IDEA založená na sieti Feishtel, hoci proces dešifrovania je podobný procesu šifrovania. IDEA bol navrhnutý tak, aby sa dal ľahko implementovať do softvéru aj hardvéru. Okrem toho je bezpečnosť IDEA založená na použití troch nekompatibilných typov aritmetických operácií na 16-bitových slovách.

Jedným z princípov vzniku IDEA bolo čo najviac sťažiť jej diferenciálnu kryptoanalýzu, čo je v súčasnosti vyjadrené absenciou algebraicky slabých miest v algoritme. Aj keď veľká trieda (2 51) slabých kľúčov nájdených niektorými „Daemenmi“ môže teoreticky ohroziť algoritmus, IDEA zostáva pomerne spoľahlivým algoritmom, pretože existuje 2 128 možných kľúčov, čo sťažuje prelomenie.

RC5 je pomerne rýchla bloková šifra vyvinutá Rivestom (Ronald Linn Rivest) špeciálne pre RSA Data Security. Tento algoritmus je parametrický, to znamená, že jeho blok, dĺžka kľúča a počet prechodov (kôl) sú variabilné.

Veľkosť bloku môže byť 32, 64 alebo 128 bitov. Počet prechodov sa môže meniť od 0 do 2048 bitov. Tento druh parametricity robí z RC5 mimoriadne flexibilný a efektívny algoritmus vo svojej triede.

Výnimočná jednoduchosť RC5 uľahčuje používanie. RC5 s veľkosťou bloku 64 bitov a 12 alebo viac priechodmi poskytuje dobrú odolnosť proti diferenciálnej a lineárnej kryptoanalýze.

Z knihy Chráňte svoj počítač na 100 % pred vírusmi a hackermi autora Bojcev Oleg Michajlovič

Asymetrické šifrovanie Na rozdiel od symetrických šifrovacích algoritmov, kde sa na dešifrovanie aj šifrovanie používa rovnaký kľúč, asymetrické šifrovacie algoritmy používajú verejný (na šifrovanie) a súkromný alebo tajný (napr.

Z AS/400 Fundamentals autor Soltis Frank

Symetrický multiprocessing Už skôr sme videli, že symetrický multiprocessing (SMP) systém umožňuje OS spracovávať úlohy na akomkoľvek voľnom procesore alebo na všetkých procesoroch naraz, pričom pamäť zostáva spoločná pre všetky procesory. presne tak

Z knihy Windows Script Host pre Windows 2000/XP autora Popov Andrej Vladimirovič

Z knihy TCP/IP Architecture, Protocols, Implementation (vrátane IP verzie 6 a IP Security) autorka Faith Sidney M

3.8.6 Kombinované šifrovanie Kombinované šifrovanie je implementované nasledovne:? Vyberie sa náhodný symetrický kľúč. Údaje sú šifrované pomocou tohto kľúča. Náhodný kľúč je zašifrovaný verejným šifrovacím kľúčom príjemcu a je súčasťou súboru

Z knihy 500 najlepších programov pre Windows autora Uvarov Sergej Sergejevič

Šifrovanie údajov Aké dôležité je udržiavať integritu informácií, mnohí moderní používatelia, ktorí nepoznajú ochranu údajov a čelia ich strate, ani slovami nevedia. Obmedzenie prístupu k údajom neznamená úplne sa chrániť pred tým

Z knihy Programovanie v jazyku Ruby [Jazyková ideológia, teória a prax aplikácie] autor Fulton Hal

2.26. Šifrovanie reťazcov Niekedy nechcete, aby boli reťazce ľahko rozpoznateľné. Napríklad heslá by sa nemali uchovávať v čistom stave, bez ohľadu na to, aké obmedzujúce môžu byť oprávnenia súboru. Štandardná metóda šifrovania používa štandardnú funkciu s rovnakým názvom na

Z knihy PGP: Encoding and Encrypting Public Key Information. autor Levin Maxim

Podpisovanie a šifrovanie. Ak chcete podpísať textový súbor svojím súkromným kľúčom a potom ho zašifrovať verejným kľúčom príjemcu, napíšte: pgp –es textový súbor her_id_užívateľa [-u id_vašeho_používateľa] Všimnite si, že zátvorky označujú iba voliteľné pole, samotné zátvorky nezadávajte.

Z knihy Delphi. Triky a efekty autora Chirtik Alexander Anatolievich

Kapitola 12 Šifrovanie Základy kryptografie Transpozícia jednoduchej substitučnej šifry Vigenèrova šifra a jej variácie Hackovanie autokey šifry

Z knihy Windows Vista. Pre profesionálov autora Klimenko Roman Alexandrovič

7.4. Šifrovanie Systém Windows Vista má tiež nové možnosti šifrovania súborov a priečinkov, ako aj celých oblastí pevného disku. Preto nie je možné nespomenúť tieto funkcie v knihe venovanej inováciám v operačnom systéme Windows Vista. Práca s

Z knihy Firebird DATABASE DEVELOPER'S GUIDE autorka Borri Helen

Šifrovanie hesiel Rozhranie gsec šifruje heslá pomocou skromnej metódy založenej na hašovacom algoritme Data Encryption Standard (DES). Z dôvodu limitu ôsmich znakov momentálne nie je možné overenie používateľa vo Firebirde

Z knihy Úvod do kryptografie autora Philipp Zimmermann

Symetrické šifrovanie a správa kľúčov Symetrické šifrovanie má množstvo výhod. Prvým je rýchlosť kryptografických operácií. Je to užitočné najmä na šifrovanie údajov, ktoré uchovávate. Avšak symetrické šifrovanie, aplikované samostatne ako

Z knihy Linux očami hackera autora Flenov Michail Evgenievich

5.2. Šifrovanie V čase zrodu internetu a prvých sieťových protokolov sa na bezpečnosť ešte nemyslelo. Táto otázka sa stala aktuálnou až vtedy, keď sa začali objavovať skutočné hacky. Jedným z najväčších opomenutí bolo, že vo väčšine protokolov boli údaje

Z knihy Bezpečnosť IT: oplatí sa korporácii riskovať? od Lindy McCarthyovej

5.2.3. Šifrovanie súborov Niektoré servery je možné použiť na ukladanie archivovaných údajov, ktoré by napriek tomuto stavu mali byť skryté pred zvedavými očami. Najlepšou ochranou je zašifrovať súbory, aby ich obsah nikto nevidel, a balík OpenSSL

Z knihy Anonymita a bezpečnosť na internete. Od „čajníka“ až po užívateľa autora Kolisničenko Denis Nikolajevič

Použite šifrovanie! Moderné šifrovacie softvérové ​​balíky sa ľahko inštalujú a udržiavajú a sú pre používateľa skutočne transparentné. Bohužiaľ, veľa ľudí si pamätá staré ťažkopádne balíky takýchto programov a nepoznajú ich jednoduchšie moderné.

Z knihy autora

10.4. Šifrovanie v systéme Windows 7 Najdrahšie vydania systému Windows 7: Professional (Professional), Corporate (Enterprise) a Maximum (Ultimate) - podporujú šifrovanie súborov a adresárov (systém EFS). Zašifrované súbory nie je možné zobraziť na inom počítači - ak,

Symetrické kryptosystémy sú systémy, v ktorých sa na šifrovanie a dešifrovanie správ používa rovnaký kľúč (obr. 9.1).

Celá škála symetrických systémov je založená na nasledujúcich základných triedach:

Mono- a multi-abecedné substitúcie;

permutácie;

Blokové šifry;

Hazardné hry.

Substitúcie

Pri priamych zámenách je každý znak v zdrojovom texte nahradený jedným alebo viacerými znakmi. Jednou z dôležitých podtried priamych substitúcií sú monoalfabetické substitúcie, v ktorom sa vytvorí vzájomná korešpondencia medzi znakom e i pôvodnej abecedy a zodpovedajúcim znakom c j šifrového textu. Všetky metódy monoalfabetickej substitúcie možno znázorniť ako číselné transformácie písmen zdrojového textu, ktoré sa považujú za čísla, podľa nasledujúceho vzorca:

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

kde a je desatinný koeficient; s je koeficient posunu; e – písmenový kód zdrojového textu; c je kód zašifrovaného písmena; K je dĺžka abecedy; mod je operácia výpočtu zvyšku po vydelení výrazu v zátvorkách modulom K.

Príklad. Caesarovu šifru

Zvážte šifrovanie v abecede pozostávajúcej z 26 latinských písmen a znaku medzery (medzeru budeme reprezentovať znakom #). Znaku # priradíme kód 0, písmenu A kód 1, písmenu Z kód 2, písmenu Z kód 26.

Zoberme si nasledujúce parametre: 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ísmená sú posunuté o dve pozície: A-C B-D atď.)

Potom bude pôvodná správa v zašifrovanej podobe vyzerať takto:

Na dešifrovanie (pre prípad, keď a=1) sa používa nasledujúci vzorec

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

Jednoduchá polyalfabetická substitúcia sekvenčne a cyklicky mení použité abecedy (v predchádzajúcom prípade bola na šifrovanie použitá jedna abeceda). Pri m-abecednej substitúcii sa znak a 1 z pôvodnej správy nahradí znakom z abecedy B 1 , znak a 2 sa nahradí znakom z abecedy B 2 , ... znak a m ​​sa nahradí znakom a znak z abecedy B m , znak a m ​​+1 sa nahradí znakom z abecedy B 1 a t .d. Výsledkom použitia polyalfabetickej substitúcie je, že frekvenčná štatistika zdrojového jazyka je maskovaná, pretože konkrétny znak z abecedy A sa prevedie na niekoľko rôznych znakov zo šifrovej abecedy B.

Príklad

Pôvodná správa: MY#POTREBUJEME#SNEH

Kľúč: SECURITYSECU

Ako kľúč je zvolené slovo SECURITY. Slovo sa píše pod pôvodnú správu, keď sa vyčerpajú písmená kľúča, začneme slovo opakovať, kým sa neminú písmená pôvodnej správy. Každé písmeno kľúča (presnejšie jeho kódu) nastaví posun v pôvodnej abecede, aby sa získal zašifrovaný znak. Ako abecedu používame latinské písmená a znak # namiesto medzery.

Šifra zdrojového kľúča

(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čenie

Ako cvičenie odporúčame zostaviť šifrovanie až do konca.

Permutácie

Znaky zdrojového textu môžu byť preusporiadané v súlade s určitým pravidlom.

Príklad 1 Lineárna permutácia

Zašifrujeme nasledujúci text:

NAČÍTAJTE#POMARANČA#NAKLADAČE

Rozdeľme text do skupín podľa dĺžky, napríklad po 4 znaky:

LOAD ITE# APELSIN Y#BOTTLE

Stanovme si nasledujúce permutačné pravidlo: „preskupenie štyroch písmen v poradí 1-2-3-4 preusporiadať do poradia 3-1-4-2“.

Získame nasledujúci zašifrovaný text:

UGRZ EI#T EALP INNS BYO# ACHK

Komentujte

Ak dĺžka správy nie je násobkom dĺžky skupiny, posledná skupina sa doplní znakmi (napríklad medzerami) na požadovanú dĺžku.

Napísanie pôvodného textu a následné čítanie zašifrovaného textu možno vykonať rôznymi spôsobmi geometrického útvaru, napríklad štvorca alebo obdĺžnika.

Príklad 2. Mriežka Cardano

Mriežka Cardano je obdĺžniková karta s otvormi, častejšie štvorcová, ktorá po priložení na hárok papiera ponechá otvorené len niektoré jej časti. Počet riadkov a stĺpcov je párny. Karta je vyrobená tak, že pri jej postupnom otáčaní bude obsadená každá bunka listu ležiaceho pod ňou. Ak je mriežka štvorcová, môžete ju postupne otočiť okolo stredu štvorca o 90 °.

Šifrovanie:

VAVOCHS MUNOTI MYZHROE YUKHSOY MDOSTO YASNTV

Dekódujte správu otočením roštu v smere hodinových ručičiek o 90°. Napíšte správu do štvorca riadok po riadku.

Samotné substitučné a permutačné metódy neposkytujú potrebnú kryptografickú silu. Preto sa používajú spoločne, ako aj aditívnou metódou. Pri šifrovaní aditívnou metódou sa na začiatku zdrojový text zašifruje substitučnou metódou, pričom sa každé písmeno prevedie na číslo a potom sa ku každému číslu pridá tajná gama (pozri nižšie) - pseudonáhodná číselná postupnosť.

Blokové šifry

Blokové šifry sú rodinou reverzibilných transformácií blokov (častí pevnej dĺžky) zdrojového textu.

N-bitovým blokom rozumieme postupnosť núl a jednotiek dĺžky N:

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

x v Z 2 možno N interpretovať ako vektor a ako binárnu reprezentáciu celého čísla

(5.6)

Blokovou šifrou rozumieme prvok

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

Hoci blokové šifry sú špeciálnym prípadom substitúcií, mali by sa posudzovať oddelene, pretože po prvé, väčšina symetrických šifier používaných v systémoch prenosu údajov sú blokové šifry a po druhé, blokové šifry je vhodnejšie opísať v algoritmickej forme a nie ako bežné náhrady.

Prúdové šifry

Prúdové šifry sú typom gama a konvertujú obyčajný text na šifrovaný text po jednotlivých bitoch. Generátor postupnosti kľúčov, niekedy nazývaný generátor spustených kľúčov, vydáva postupnosť bitov k1, k2, ... kN. Táto postupnosť kláves je pridaná modulo 2 („exkluzívny alebo“) so sekvenciou bitov zdrojového textu e 1 , e 2 , …, e N:

Na prijímacej strane sa k šifrovému textu pridá modulo 2 s identickou sekvenciou kláves, aby sa získal čistý text:

Stabilita systému úplne závisí od vnútornej štruktúry generátora postupnosti tlačidiel. Ak generátor vytvára sekvenciu s krátkou periódou, potom je stabilita systému nízka. Naopak, ak generátor produkuje nekonečnú sekvenciu skutočne náhodných bitov, potom dostaneme jednorazovú podložku s ideálnou životnosťou.

Streamové šifry sú najvhodnejšie na šifrovanie nepretržitých dátových tokov, napríklad v dátových sieťach.

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

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

Tieto kryptosystémy sa vyznačujú najvyššou rýchlosťou šifrovania a s ich pomocou je zabezpečená dôvernosť a autenticita, ako aj integrita prenášaných informácií.

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

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

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



Symetrické šifrovanie je ideálne na zašifrovanie informácií „pre seba“, napríklad s cieľom zabrániť neoprávnenému prístupu k nim v neprítomnosti vlastníka. Môže to byť buď archívne šifrovanie vybraných súborov alebo transparentné (automatické) šifrovanie celých logických alebo fyzických diskov.

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

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

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

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

. (4.3)

Obr.4.4. Kľúčová matica

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



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

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

kľúč Komu je parameter symetrického blokového kryptalgoritmu a je blokom binárnej informácie pevnej veľkosti. originálny M a zašifrované OD dátové bloky majú tiež pevnú bitovú šírku, ktorá sa navzájom rovná, ale nemusí sa nevyhnutne rovnať dĺžke kľúča Komu.

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

Spôsob vytvárania reťazcov bajtov š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 prúdu blokovej šifry sa používa na výpočet kontrolných súčtov dátových paketov a pri hashovaní hesiel.

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

Ak chcete získať silné blokové šifry, použite dva všeobecné princípy:

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

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

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

Bežným spôsobom dosiahnutia efektov rozptylu a miešania je použitie zloženej šifry, to znamená takej, ktorá môže byť implementovaná ako nejaká postupnosť jednoduchých šifier, z ktorých každá prispieva k výraznému celkovému rozptylu a miešaniu.

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

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

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

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

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

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

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

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

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

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

Charakteristickým znakom blokových algoritmov je opakované a nepriame použitie kľúčového materiálu. Toto je determinované predovšetkým požiadavkou nemožnosti spätného dekódovania vzhľadom na kľúč, keď je známy pôvodný a šifrový text. Na vyriešenie tohto problému uvedené transformácie najčastejšie nepoužívajú samotnú kľúčovú hodnotu alebo jej časť, ale nejakú, niekedy nezvratnú, funkciu kľúčového materiálu. Navyše pri takýchto transformáciách sa opakovane používa rovnaký blok alebo kľúčový prvok. To umožňuje za podmienky, že funkcia je invertovateľná vzhľadom na množstvo X urobiť funkciu nevratnou vzhľadom na kľúč Komu.