DES algoritem: opis in primer

Standard za šifriranje podatkov (DES) je standard za šifriranje podatkov, izumljen v Združenih državah v 80. letih 20. stoletja. Med šifri se šteje, da je "upokojen", medtem ko ostaja delovni konj kriptografije. DES ni primeren za visoke hitrosti in velik obseg podatkov zaradi omejitev 56 bitov na ključ in 64 bitov na podatke. Vendar se še vedno uporablja.

Kaj so blokovne šifre?

DES - algoritem za šifriranje blokov. V zadnjih 20-30 letih je bilo ustvarjenih veliko blokovnih šifri, toda za ustvarjanje dobre šifre, ki je varna, je naloga precej zapletena. Pomembno je, da ima šifra značilnosti, ki mu omogočajo delovanje na številnih področjih in industrijah. Blokirne šifre so sestavljene iz več ponovitev izmenične uporabe neke šifre. Vsaka ponovitev se imenuje krog. Kot kaže praksa, lahko celo nekateri primitivni algoritmi z dosledno uporabo ustvarijo zanesljive šifre. DES-algoritem je primer, ki je ostal stabilen in neranljiv že 20 let.


Ta pristop pri razvoju šifer močno olajša in poenostavi analizo varnosti. Na primer, testni napad na blok kodo se začne z minimalnim številom krogov in se metodično nadaljuje s povečanjem števila krogov.

Uporaba DES

Čeprav je DES zastarel in ne ustreza trenutnim zahtevam, se lahko uporablja, na primer, kot 3DES, ko se šifra uporablja trikrat zaporedoma. Ta pristop odstrani omejitev velikosti ključa, šifrirani blok podatkov pa ostane nespremenjen. V svojemČas DES je bil dovolj hiter in kriptografski. To trenutno ne drži, 3DES pa je sploh trikrat počasnejši. Kljub temu se DES še vedno uporablja v številnih sistemih, vendar je njegova uporaba v novih projektih prepovedana.


Uradni algoritem DES je bil standard v ZDA do leta 1998. Leta 1997 se je začelo uvajanje novega standarda, imenovanega AES (Advanced Encryption System), in čeprav kriptoanaliza kaže, da poskus razpada DES povzroči niz sistemov nelinearnih enačb, analitične metode ne morejo pomagati pri reševanju problema - njegova šibkost je majhen nabor možnih tipk . Njihovo število je enako 2 56 in vse variante lahko premagamo s pomočjo sodobnih tehnologij v relativno kratkem času.

En krog v algoritmu

Za jasnost predstavitve in opisa algoritma DES z risbo (linearni računski diagram) 4.1 prikazuje strukturo enega kroga.
Vsak pravokotnik v linearnem diagramu predstavlja nekakšen izračun, puščica v levo pa kaže, kje se bodo posredovali rezultati bloka. Znak plus v krogu je označen z operacijo "izključi ali", ki se imenuje programiranje XOR. Operacija še vedno nosi ime "dodajanje bitov" ali "dodaj brez prenosa". Omrežje lahko najde algoritem DES na C in ga preuči za boljše razumevanje. DES sprejme 64-bitni tekstovni blok. Prehaja skozi začetno preureditev po določenem načelu. Pri analizi algoritma je postalo jasno, da je pomen te permutacije majhen, saj ne daje nobenega kriptografskega učinka. BesediloEnota je razdeljena na 2 enaka dela: desno (R) in levo (L). Potem se šifrirani deli spremenijo in združijo, na koncu okroglega 64-bitnega podatkovnega bloka pa se šifrira.

Splošni algoritem

DES algoritem vključuje 16 krogov, ki se izvajajo po zgoraj opisani shemi. Vsi krogovi so oštevilčeni skozi i, kjer je i = (1; 16). Vsak i-ti krog pare (Li-1 Ri-1) prejme nov par (Li, Ri) z uporabo ključa Ki. Glavne transformacije potekajo v funkciji F.

Algoritem za funkcijo F

Kot je razvidno iz slike 4.1, R skozi operacijo "razširitev". Ta blok podvoji niz bitov iz R in jih dopolni z njimi, pri čemer prejme 48-bitno vrednost. Nastali rezultat prehaja skozi bitno dodajanje s 48-bitnim ključem Ke. Rezultat te operacije se posreduje bloku S. Blok S vsebuje 8 majhnih matrik za nadomestitev, ki so izbrane na poseben način.
Vsaka matrika prejme na vhodu 6 bitov informacij in izda 4-bitno vrednost. Kot rezultat, blok S prejme 48-bitne podatke na vhodu, na izhodu pa je rezultat 32-bitna vrednost.
Ta 32-bitna vrednost preide skozi drugo operacijo permutacije, po kateri se jo sešteje z operacijo xor od L. Končno se pravice in levi del spremenita in krog konča. Kot smo že omenili, 16 takih algoritmov opravi take kroge. Pri tem ne bomo preobremenili članka s primeri, ki zavzemajo veliko prostora. Delo algoritma za šifriranje DES in primere si lahko ogledate na spletu.

Koda Fiesteel

algoritem DES temelji na šifri Fiesteel.Njegova ideja je zelo prefinjena. V vsakem krogu je del L sestavljen iz vrednosti F (R, Ki) in L se nadomesti s položajem R. Ključna značilnost algoritma Feistle je, da dešifriranje in šifriranje sestoji iz enakih korakov: deli L in R spremenita mesta in nato operacijo dodajanja L in F (R, Ki). Zaradi tega so postopki šifriranja in dešifriranja preprosti in lahko razumljivi.
V kodeksih Feistela so najpogosteje uvedli eno zanimivo spremembo - odpravo permutacije L in R v zadnji iteraciji. Zaradi tega so algoritmi za šifriranje in dešifriranje popolnoma simetrični. Razlika leži v uporabi ključev Ke. To načelo se je izkazalo za zelo uporabniku prijazno za programsko raven, saj se šifriranje in dešifriranje izvaja z eno funkcijo. Na primer, jedrnato izvajanje algoritma za šifriranje DES za C.

Ključi za šifriranje

Šestnajst 48-bitnih ključev se uporablja za šifriranje podatkov DES. En ključ na krog. Vsak ključ je ustvarjen z vzorčenjem 48 bitov od 56-bitnega ključa. Izdelava ključev ali drugih krogov je določena z mehanizmom, ki je podrobno opisan v dokumentaciji DES. Skratka, algoritem za vzorec in ključ je naslednji. Bat se doda glavnemu ključu na položaju 81624 324048 5664. To je narejeno tako, da vsak bajt vsebuje liho število enot. Skladnost s pravili pomaga pri prepoznavanju napak pri preklapljanju tipk. Po tem, s pomočjo posebnih preglednic, je zaključeni ključ predmet permutacij in premikov, razen bitov, ki so bili dodani. Tako, takopotreben ključ.

DES komponente

Vsaka komponenta algoritma DES rešuje določen problem:
  • Algoritem Fiestel poenostavlja šifriranje in dešifriranje, hkrati pa zagotavlja, da sta obe strani besedila mešani.
  • Dodajanje besedilnih delov s ključi vzporedno z vmesniki odprtih podatkov s ključem in njihovo šifriranje.
  • S-blok in tabele ujemanja naredijo algoritem nelinearen, kar povečuje njegovo odpornost na različne napade.
  • Širitev, S-blok in permutacije omogočajo difuzijo algoritma - učinek plazov. Z drugimi besedami, če se vhodni podatki F spremenijo vsaj 1 bit, bo to povzročilo spremembo niza bitov naenkrat. Če v šifri ni opaziti učinka plazov, bodo spremembe odprtih podatkov povzročile enakovredne spremembe v šifrirani obliki, ki jih je mogoče slediti in uporabiti za hekanje. V kriptografiji obstaja merilo za plazovit učinek. Algoritem ga zadovolji, če se pri spreminjanju ene bitne vrednosti odprtih podatkov spremeni vsaj polovica šifriranih podatkov. Algoritem DES ga zadovolji, začenši s 4 krogi. Povzetek - ko spremenite 1 bit odprtih podatkov v DES šifri, se bo spremenilo 29 bitov.

    Varnostna vprašanja v programu DES

    Očiten problem DES je izbor šifrirnih ključev s splošnim ključem. Kaj se bo zgodilo, če kot ključ izberete ničlo (vsi ključni biti so 0)? To bo imelo za posledico, da bodo vzorci vseh tipk za šifriranje v vsakem krogu enaki, vsi ključi pa bodo enaki nič. Ne samo to, 16 šifriranih bo šlo z enim ključem, saj algoritmi šifriranja in dešifriranja DESse razlikujejo le po vrstnem redu uporabe ključev, bodo popolnoma enaki. Celoten pomen šifriranja bo izgubljen.
    DES ima 4 ključe, ki se imenujejo šibki, kar povzroči opisani učinek. DES ima 12 polslabih in 48 psevdo-šibkih tipk, ki povzročajo omejitev variacij ustvarjenih ključev v krogih. Z drugimi besedami, obstaja verjetnost, da se bo 16 šifrirnih tipk uporabljalo med šifriranjem v 16 krogih in 8 4 ali celo 2. Manj očitna pomanjkljivost DES je lastnost komplementarnosti. To pomeni, da če šifrirate z odprtim besedilom in dodatki ključev, bo rezultat vrednost, ki je dodatek šifriranemu besedilu. Ta nesmiselna lastnost lahko vodi do uspešnih napadov na projekte, ki uporabljajo DES za zagotavljanje varnosti.

    Problem ključa za šifriranje

    je bistvenega pomena za DES in se šteje za glavni razlog za opustitev tega algoritma. Ker je velikost ključa DES 56 bitov, boste morali pregledati 2 56 možnosti za skeniranje vseh ključev. Je to toliko? Če naredite 10 milijonov ključnih preverjanj na sekundo, bo potrebno preveriti 2000 let. Zdi se, da je algoritem precej stabilen. Tako je bilo v zadnjem stoletju, ko je bila izdelava računalnika podobne moči skoraj nemogoča naloga s tehničnega in finančnega vidika. Če ustvarite računalnik z milijonom žetonov, bo iskanje vseh številnih DES ključev trajalo 20 ur. Prvi tak računalnik za dekodiranje algoritma DES se je pojavil leta 1998, kar56 ur. Sodobne tehnologije omrežij in vzporedni procesi omogočajo, da se ta čas še bolj skrajša.

    Kriptoanaliza in DES

    Brez pretiravanja je mogoče trditi, da je DES razlog za pojav uporabne znanosti, imenovane "kriptografska analiza". Od začetka nastanka poskusa DES so ga prekinili, na njeni študiji pa je bilo izvedeno znanstveno delo. Vse to je pripeljalo do nastanka takih področij matematike, kot so:
  • linearna kriptoanaliza - preučevanje in odkrivanje odnosa med odprtokodnimi in šifriranimi;
  • diferencialna kriptoanaliza - proučevanje in analiziranje odvisnosti med več odprtokodnimi besedili in njihovimi šifriranimi različicami;
  • kriptoanaliza na povezanih ključih - preučevanje razmerja med šifriranimi besedili, prejetimi na primarnem ključu, in ključi, povezanimi s primarnim, na kakršenkoli način.
  • DES je trajal 20 let globalne kriptoanalize in napadov, vendar je ostal močna šifra. Toda kdo išče - vedno bo našel
  • izraelski znanstveniki Bihamas in Shamir, leta 1991, so z diferencialno kriptoanalizo pokazali, da se lahko izvede napad na DES, kjer je bil izračunan ključ, pod pogojem, da ima napadalec 2 47 izbranih parov. odprta in šifrirana besedila.
  • Japonski znanstvenik Mitsui Matsui leta 1993 je pokazal, da je ključ mogoče izračunati z uporabo linearne kriptoanalize. Za to morate poznati samo 2 47 parov odprtega besedila in ustrezne šifrirane različice.
  • Poleg tega so bile te tehnike vdora v rahlo popravljene, izboljšane in poenostavljene ter številne novenačini lomljenja. Vendar ostajajo preveč zapleteni, v ozadju pa se zdi, da je popoln pregled vseh ključnih možnosti najbolj ustrezen napad na DES.

    Sorodne publikacije