Pojdi na vsebino

DES

Iz Wikipedije, proste enciklopedije

DES (angl. Data Encryption Standard) je bil najbolj obširno uporabljen enkripcijski algoritem na svetu. Algoritem je bil pripravljen z namenom šifriranja in dešifriranja blokov podatkov velikosti 64 bitov in sicer s 64 bitnim ključem, ki ga morata poznati tako pošiljatelj kot prejemnik.

Sistem vsebuje algoritem in ključ. Ključ je dolžine 64 bitov, od katerega se 56 bitov uporablja za šifriranje, ostalih 8 pa za preverjanje napak. Ker imamo na razpolago le 56 bitov obstaja za to različnih možnosti za izbiro ključa, kar je 256-krat manj, kot če bi lahko uporabili vseh 64 bitov. Cifre za izbiro ključa morajo biti medsebojno neodvisno določene, da popolnoma izkoristimo možnost velike izbire kombinacije simbolov za ključ. Algoritem deluje na principu klasinčnih transpozicij, permutacij in operacij XOR. Z DES-om zagotovljajo visoko stopnjo kriptografijske zaščite podatkov v računalniškem sistemu in omrežjih.

Razvoj

[uredi | uredi kodo]

Kodiranje pomeni napisano besedilo pomešati na tako zapleten način, da ga nihče ne more prebrati. Tradicionalna uporaba kriptografije se je najbolj razvila v času vojn in sicer z namenom da bi nasprotniku onemogočili branje lastnih sporočil. Z uporabo računalnikov se je razvil popolnoma nov način skrivanja podatkov. V sedemdestih letih so se prvič pojavile potrebe po kriptografskih metodah za varovanje in skrivanje podatkov (gesel, osebnih podatkov,...), saj v tem času ni bilo nobenih javnih standardov za enripcijske tehnike. Tako so razvili prvi enkripcijski standard imenovan DES (Data encryption standard). Da bi zagotovili visoko stopnjo zaščite je moral algoritem ustrezat naslednjim zahtevam:

  • mora biti dobro specificiran in enostaven za razumevanje
  • mora sam po sebi zagotoviti varnost
  • mora biti dostopn vsem uporabnikom
  • mora biti prilagodljiv za uporabo v raznolikih aplikacijah
  • mora biti ekonomičen za implementacijo in elektronske naprave
  • mora biti učinkovit
  • mora biti prenosljiv

Danes se kriptografska zaščita pojavlja na vseh področjih komunikacij in sicer jih najdemo pri elektronski pošti, faksih, pri zaščiti proti virusom, pri elektronskem denarju, protokolih za internet, brezžičnih telefonih, kabelski televiziji itd.

Zgodovina

[uredi | uredi kodo]

DES (Data Encryption Standard) ali DEA (Data Encryption Algorithm) je najbolj znani simetrični algoritem, ki sta ga razvila NIST (National Institute of Standards and Technology) ter IBM. Algoritem je naslednik algoritma Lucifer, ki so ga razvili in patentirali pri IBM. Leta 1976 je bil sprejet kot standardni kriptografski algoritem v ZDA in je vključen v ogromno aplikacij. Do leta 1997 je bila dovoljena splošna uporaba znotraj ZDA, prepovedan pa izvoz. Leta 1999 so dovolili izvoz opreme z algoritmom s 56-bitnim ključem, od januarja 2000 pa so te omejitve še zmanjšane (v brskalnikih lahko uporabljamo trojni DES).

DES je široko uporabna metoda za kriptiranje, katera uporablja skrivni ključ. Za vsako poslano sporočilo računalnik naključno izbere eno izmed 7,2 * 1016 kombinacijami simbolov za ključ. Za uspešno kodiranje in dekodiranje morata poznati ključ sprejemnik in oddajnik.

Vzorec za šifriranje podatkov je sestavljen iz zaporedja 56 bitov, kar daje 256 kombinacij. Če bi šifro ugibali na slepo in bi za eno kombinacijo porabili eno milisekundo, bi potrebovali za razbitje šifre 228 milijonov let. DES za šifriranje uporablja substitucije, transpozicije in operacije XOR.

Substitucija je operacija, ki zamenja posamezne bite z določenimi biti, katere poda algoritem. Da dobimo nazaj prvotne bite moramo opraviti obratno substitucijo.

Transpozicija je operacija, ki zamenja pozicije posameznih bitov v določenem nizu.

Varnost

[uredi | uredi kodo]

Zaradi današnje visoke hitrosti računalnikov (10 milijonov vredni ASICs čip premore testiranja do 200 milijonov ključev na sekundo) danes DES ne predstavlja več tako visok nivo zaščite, saj lahko ključ ugotovimo z raznimi algoritmi, kateri s probavanjem vseh kombinacij ključa ugotovijo pravega in to že v par minutah (US National Security Agency (NSA) ga lahko ugotovi v 3. do 15. minutah).

Zraven hitrega naraščanja moči računalnikov pa ima DES znanih še kar nekaj slabosti, ki pa bistveno ne vplivajo na učinkovitost algoritma.

Komplementi

[uredi | uredi kodo]

Če napravimo komplement kodiranega besedila, dobimo enako besedilo, kot bi ga dobili, če bi besedilo kodirali s komplementom originalnega besedila in komplementom ključa. Ker pa se večina aplikacij za enkripcijo ne ukvarja s komplementi in ker se da uporabnike preprosto opozoriti, da naj ne uporabljajo komplementov kot ključev, to ne predstavlja resnega problema.

Šibki ključi

[uredi | uredi kodo]

Pri šibkih ključih gre zato, da lahko ob napačni izbiri ključa dobimo vse vmesne ključe enake. To se lahko zgodi, če imamo pri vrednosti ki ji premikamo bite (angl. shift), ko generiramo vmesne ključe same enke oziroma same ničle. Potem dobimo za vse cikle enake podključe. Tudi ta slabost ne predstavlja resnega problema, saj so šibki ključi splošno znani, in se da prav tako opozoriti uporabnike pred njihovo uporabo.

Polšibki ključi

[uredi | uredi kodo]

Pri tem gre za problem enakega kodiranja za specifične pare ključev. Skratka, če izberemo dva točno specifična različna ključa in z njima kodiramo želen tekst dobimo enak rezultat. So pa takšni ključi zelo lahko prepoznavni, saj imajo po navadi zelo očitne vzorce. Popolnoma različna ključa, ki bi tvorila enake rezultate še niso našli. Delali so sicer poskuse do posameznih ciklov kodiranja in uspelo jim je najti pare, ki so sicer tvorili enake rezultate, vendar le do tretjega cikla kodiranja. Ključev ki bi dali iste rezultate, po vseh šestnajstih ciklih pa jim še ni uspelo najti.

Diferencialna kriptoanaliza

[uredi | uredi kodo]

Leta 1990 sta Biham in Shamir objavila tehniko, ki sta jo poimenovala diferencialna kriptoanaliza. Tehnika se je nanašala predvsem na algoritme, ki uporabljajo substitucije in permutacije kot DES. To je bila prva tehnika, ki je dala impresivne rezultate proti algoritmom tega tipa. Tehnika uporablja pazljivo izbrane vhodne tekste in opazuje dobljene rezultate. Tehnika nato gleda XOR različnih vhodnih parov. Na mestu, kjer sta vhoda enaka, vrne funkcija XOR 0, kjer pa ne pa 1. S to metodo so algoritem Luciferja razbili že s tridesetimi pari kodiranega besedila. Proti DES-u metoda ni bila tako uspešna, saj bi potrebovali za njegovo razbitje kar štirikrat več časa, kot če bi uporabili kakšne druge metode. Metode pa se je izkazala za zelo uspešno, pri preizkušanju pri vmesnih ciklih DES kodiranja.