Yra daug skirtingų kriptografijos dalių. Tačiau jei norite užšifruoti kai kuriuos duomenis, galite naudoti dviejų tipų algoritmus: simetrinius šifravimo algoritmus ir asimetrinius šifravimo algoritmus. Bendra koncepcija yra ta pati, jie gali užšifruoti duomenis, tačiau jie veikia skirtingais principais ir turi skirtingus naudojimo atvejus. Tačiau nominalus skirtumas apibūdina šifravimo raktus. Simetrinis šifravimo algoritmas naudoja vieną bendrinamą raktą duomenims užšifruoti ir iššifruoti. Asimetrinis šifravimo algoritmas naudoja du susietus raktus, vieną iššifruoti ir vieną iššifruoti.
Simetrinio šifravimo algoritmų savybės
Kaip minėta pirmiau, pagrindinis simetrinio šifravimo algoritmo bruožas yra tai, kad duomenims užšifruoti ir iššifruoti naudojate vieną raktą. Tai nereiškia, kad yra tik vienas galimas šifravimo raktas, tiesiog jei ką nors užšifruojate vienu raktu, turite naudoti tą patį raktą, kad jį iššifruotumėte. Kartais tai vadinama bendrojo rakto šifravimu. Taip yra todėl, kad kiekvienas dalyvis turi žinoti tą patį raktą, todėl jūs turite juo dalytis.
Ši savybė naudoti tą patį raktą šifravimui ir iššifravimui gali būti šiek tiek problema. Kad galėtumėte naudoti simetrinį šifravimo algoritmą, turite turėti galimybę jį saugiai perduoti. Bet jūs negalite to padaryti neturėdami saugių komunikacijos priemonių. Laimei, šią problemą galima išspręsti naudojant asimetrinį šifravimą, tačiau tai verta suprasti.
Simetrinio šifravimo algoritmų raktai paprastai yra gana maži, bent jau lyginant su asimetriniu šifravimu. Dėl to juos gana lengva perduoti net lėtu tinklo ryšiu ir jie yra mažiau pažeidžiami dėl klaidų nepatikimame tinkle. Simetriniai šifravimo algoritmai taip pat yra greiti, palyginti su asimetriniais algoritmais.
Dėl visų šių savybių simetriniai šifravimo algoritmai yra ypač naudingi masiniam duomenų šifravimui. Tai ypač pasakytina apie greitį.
Srautinio šifravimo ir blokavimo šifrai
AES yra turbūt geriausiai žinomas simetrinio šifravimo algoritmas. Jis naudojamas beveik visur, kas užšifruoja daug duomenų, ir yra standartinė HTTPS naudojamų šifravimo rinkinių dalis. AES yra blokinis šifras su 128 bitų blokais. Blokų šifras vienu metu šifruoja duomenų blokus. Kiekvienas blokas turi būti tokio pat dydžio. Tai gerai, kai likę duomenys yra didesni už bloko dydį, bet reiškia, kad norint užbaigti bloką reikia naudoti tam tikrą užpildymo formą.
Srauto šifras vienu metu užšifruoja daug mažesnį duomenų kiekį, paprastai po vieną baitą. Šios sąvokos variantas yra raidžių pakeitimo šifras. Pakaitiniai šifrai yra pažeidžiami dažnio analizės, todėl paprastai yra nepatikimi ir nenaudojami. Tačiau srauto šifrai neturi šios problemos.
Simetriniai algoritmai yra linkę būti pažeidžiami žinomo paprasto teksto atakų, pasirinktų paprastojo teksto atakų, diferencinės kriptoanalizės ir linijinės kriptoanalizės. Tačiau šiuolaikiniai algoritmai buvo kruopščiai sukurti atsižvelgiant į tai, todėl šios problemos nėra problema.
Išvada
Simetrinis šifravimas yra šifravimo forma, kuri naudoja tą patį raktą duomenims užšifruoti ir iššifruoti. Kai kuriais atvejais šifravimo ir iššifravimo algoritmas yra tas pats, nors taip yra nebūtinai. Šifravimo raktai paprastai būna palyginti trumpi ir lengvai perduodami. Tačiau raktas turi būti perduodamas saugiu kanalu, nes jį turi perduoti visos susijusios šalys. Simetriniai šifravimo algoritmai paprastai yra daug greitesni nei asimetriniai šifravimo algoritmai.