Uvod v simetrične algoritme

Simetrični algoritmi, znani tudi kot tajni ključni algoritmi, se pogosto uporabljajo pri šifriranju podatkov v velikem obsegu ali v toku podatkov. To je vrsta kriptografskega algoritma, ki podatke šifrira in dešifrira z istim ključem (zaradi česar je ta algoritem simetričen). Imenuje se tajni ključ, ker uporabljeni ključ hranijo v tajnosti s strani sistemov, ki sodelujejo v postopku šifriranja in dešifriranja. Šifriranja, ki ga opravi ta algoritem, ni enostavno prekiniti, če oseba, ki poskuša dešifrirati, nima skrivnega ključa, bi morala uporabiti napredne tehnike, da ga razbijejo. Ti algoritmi so na splošno zelo hitri, kar je še toliko bolj razlog, da se uporabljajo, kadar je treba šifrirati velike količine podatkov. Fig1.a prikazuje osnovno simetrično šifriranje ključev:

Slika1.a Šifriranje s simetričnim ključem

Vrste simetričnih algoritmov

Široko simetrični algoritmi so razvrščeni v dva

  • Blok
  • Tok

Blokirajte algoritme

Algoritmi blokov šifrirajo podatkovni blok po bloku (veliko bajtov). Blok se nanaša na določen niz bitov in ti bitji se spremenijo / šifrirajo s skrivnim ključem. Pri algoritmih blokov obstaja pomanjkljivost, kar je, predpostavimo, da bomo šifrirali podatke omrežnega toka, ki jih sistem za šifriranje hrani v svojih pomnilniških komponentah. Shranjevanje podatkov se opravi, ko sistem dejansko čaka na popolne bloke podatkov. Ta čas čakanja lahko privede do varnostne vrzeli, ki lahko ogrozi varnost in celovitost podatkov. Da bi se izognili tej grožnji, lahko zmanjšamo blok in združimo podatke s predhodno šifriranim blokom podatkov, dokler ne prejmemo nadaljnjih blokov, preprosto rečeno, ta tehnika se imenuje povratna informacija. Ta algoritem bo šifriran le, če je prejet celotni blok.

Algoritmi toka

V algoritmih v toku so podatki šifrirani byte byte in včasih celo bitni. V primeru algoritma toka sistem ne hrani podatkov v pomnilniku, zato lahko rečemo, da je to veliko varneje v primerjavi z blokovnim algoritmom, saj se podatki v sistemu ne hranijo brez šifriranja.

Poleg tega je več tipov algoritmov za šifriranje, od teh nekaj je spodaj navedenih

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES pomeni standard za šifriranje podatkov, ki sprejme 64-bitno navadno besedilo in ga šifrira v 64-bitni šifrotekst ter dešifrira nazaj s pomočjo 56-bitnega ključa. V DES se postopek šifriranja začne z začetno fazo permutacije, kjer bo vhod sprejel kot 64-bitne podatke in jih vnaprej določil. Sledi začetna permutacija, da 16 krogov Feistel šifre (Feistel šifra prevzame vhod in ga razdeli na dva dela in šifrira samo na enem delu), kjer bo vsak krog uporabil različen 48-bitni ključ šifre. Za namene šifriranja in dešifriranja uporablja šifro in obrne algoritem šifriranja. Končno podatki preidejo v zadnjo fazo permutacije, da dobijo nazaj šifrotekst. Podobno kot DES Triple DES ni nič drugega kot šifra DES ponovljena 3-krat. Fig2.a prikazuje splošno arhitekturo algoritma DES.

Splošna arhitektura algoritma DES

RC2

To je algoritem šifriranja blokov, kjer se sprva podatki delijo na velikost bloka 8 bajtov in ti bloki se obdelujejo ločeno. Ta algoritem se je široko uporabljal v 90. letih. Šifra Rc2 uporablja skrivni uporabniški ključ, katerega velikost se lahko razlikuje od enega do 128 bajtov. Vzame ta tajni uporabniški ključ in uporabi algoritem razširitve ključev in šifrira podatke. Ta algoritem je zasnovan tako, da ga je mogoče enostavno implementirati v 16-bitne mikroprocesorje. Tu ni nobenih krogov Feistel, namesto tega se podatki podvržejo 18 krogov mešanja in pirjenja. Fig2.b prikazuje splošno arhitekturo algoritma RC2.

Splošna arhitektura algoritma RC2

Blowfish

To je asimetrični algoritem, ki nadomešča DES. Tu je uporabljena velikost bloka 64 bitov, velikosti ključev pa od 32 do 448 bitov. Šifriranje z uporabo metuljčkov je sestavljeno predvsem iz dveh stopenj

  • Okrogla funkcija
  • Izhodno delovanje

Okrogla funkcija izvaja naslednje korake

  1. Ključno beljenje, pri katerem se odvzame levi del vhodnih podatkov in se na njem izvaja izključno operacija ALI.
  2. V drugem koraku uporablja S-polja, ti S-boxi preslikajo 8-bitne podatke v 32-bitne in izhod se vzame v kombinaciji s kombinacijo operacij seštevanja in XOR
  3. Zgornja dva koraka skupaj omenjena kot F funkcija. Z izhodom funkcije F in desno stranjo vhodnih podatkov se izvede XOR operacija.
  4. Zadnji korak vključuje zamenjavo rezultata.

Izhodna funkcija razkriva končno zamenjavo in izvaja beljenje izhoda. Rezultat te funkcije je širok tekst. Dešifriranje z metlico vključuje uporabo iste strukture kot šifriranje, saj uporablja Feistel šifro, vendar morajo biti okrogle tipke uporabljene v obratnem vrstnem redu. Glavna prednost tega algoritma je, da je na voljo v javni domeni, tako da je lahko dostopen. Pomanjkljivosti so v bistvu zamudne pri ustvarjanju tipk in če je velikost bloka majhna, je ranljiva za napade.

Uporaba simetričnih algoritmov

Nekatera mesta, kjer se uporablja algoritem simetričnega šifriranja, so

  • Transakcije s karticami se uporabljajo za preprečevanje kraje identitete in goljufivih transakcij.
  • Za potrditev identitete pošiljatelja.
  • Hashing in generacija naključnih števil
  • Šifriranje baze podatkov

Zaključek - Simetrični algoritmi

Simetrični algoritmi so v primerjavi z asimetričnimi algoritmi veliko hitrejši in učinkovitejši. To je še toliko bolj razlog za njihovo široko šifriranje. Vendar je njegova pomanjkljivost ta, da je upravljanje s ključi zelo izčrpno, zato je vzdrževanje v velikem obsegu dolgočasna naloga, kjer moramo imeti visoko kakovost, da bi dosegli to, moramo ohraniti življenjski cikel ključa, ustvarjenega z ločenim sistemom . Zato moramo vedno uporabljati pravilno šifriranje, da se izognemo napadom na naše podatke.

Priporočeni članki

To je vodnik po simetričnih algoritmih. Tukaj obravnavamo Uvod in vrste simetričnih algoritmov skupaj z DES in Triple DES. Obiščite lahko tudi druge naše predlagane članke, če želite izvedeti več -

  1. Kaj je WebSocket?
  2. Varnost spletnih aplikacij
  3. Kariera pri spletnem razvoju
  4. Poklic v spletnem oblikovanju
  5. Načini delovanja blokirnih šifrantov
  6. Primeri algoritma C ++