Simetrično proti asimetričnemu šifriranju
Šifriranje je ključni koncept v kriptografiji. To je postopek, v katerem lahko kodirate sporočilo v format, ki ga prisluškovalec ne more prebrati. To je stara tehnika in en priljubljen starodavni primer uporabe je bil najden v Cezarjevih sporočilih, ki so bila šifrirana s Cezarjevo šifro. Lahko si ga predstavljamo kot preobrazbo. Uporabnik ima navadno besedilo in ko je kodirano v šifrirano besedilo, noben prisluškovalec ne more motiti vašega navadnega besedila. Ko ga prejme predvideni prejemnik, ga lahko dešifrira in pridobi izvirno golo besedilo. Šifriranje se uporablja v skoraj vseh omrežnih komunikacijah v različni meri brez naše vednosti. Včasih je bilo omejeno na vojaške aplikacije in vladno komunikacijo, toda z nedavno razširjenostjo interneta je potreba po varnih informacijskih kanalih postala najpomembnejša in šifriranje je postalo glavna rešitev za to. Obstajata dve glavni vrsti šifriranja, ki sta znani kot simetrično šifriranje in asimetrično šifriranje. Danes jih bomo primerjali drugega ob drugem.
Simetrično šifriranje
To je najpreprostejša vrsta šifriranja, ki vključuje uporabo enega tajnega ključa. Je najstarejša znana metoda šifriranja in Caesarjeva šifra spada v to kategorijo. Skrivni ključ je lahko preprost kot številka ali niz črk itd. Oglejmo si na primer šifro premika, ki je preprosta tehnika simetričnega šifriranja, ki jo je mogoče elegantno prikazati. V rokah imamo golo besedilo 'Želim poslati skrivno sporočilo', naš skrivni ključ pa je, da vsako črko prestavimo za tri položaje. Če imate torej »A« v odprtem besedilu, bo v šifriranem besedilu postal »D«. To je tisto, kar je znano kot Cezarjeva šifra in vaše šifrirano besedilo bi bilo videti kot "L zdqw wr vhqg d vhfuhw phvvdjh". Na prvi pogled je nerazumljivo, a ko ga dekodirate s skrivnim ključem, spet postane golo besedilo. Danes se uporablja veliko algoritmov za šifriranje simetričnih ključev, ki vključujejo pretočne šifre, kot so RC4, FISH, Py, QUAD, SNOW itd., in blokovne šifre, kot so AES, Blowfish, DES, Serpent, Camellia itd.
Asimetrično šifriranje
Asimetrično šifriranje je znano tudi kot kriptografija z javnim ključem, ki je razmeroma novo področje v primerjavi s simetričnim šifriranjem. Asimetrično šifriranje uporablja dva ključa za šifriranje navadnega besedila. To je prišlo v areno, da bi rešilo inherentno težavo s simetrično šifro. Če se prisluškovalec nekako dokopa do simetričnega tajnega ključa, potem je celoten smisel šifriranja izničen. To je zelo verjetno, ker bo morda treba tajni ključ sporočiti prek nezaščitenih komunikacijskih kanalov. Asimetrično šifriranje kot rešitev uporablja dva ključa, pri čemer je en ključ javno dostopen, drugi ključ pa je zaseben in ga poznate samo vi. Predstavljajte si, da vam nekdo želi poslati sporočilo; v tem scenariju boste imeli zasebni skrivni ključ in ustrezen javni ključ za to bo na voljo vsem, ki bi vam želeli poslati šifrirano sporočilo. Pošiljatelj torej šifrira sporočilo z javnim ključem in preoblikuje golo besedilo v šifrirano besedilo, to pa je mogoče dešifrirati samo z ustreznim zasebnim ključem, ki omogoča, da vam kdorkoli pošlje sporočilo, ne da bi mu bilo treba deliti skrivni ključ z vami. Če je sporočilo šifrirano s tajnim ključem, ga je mogoče dešifrirati tudi z javnim ključem. Pravzaprav se asimetrično šifriranje večinoma uporablja v vsakodnevnih komunikacijskih kanalih, zlasti prek interneta. Priljubljeni algoritmi za šifriranje asimetričnega ključa vključujejo ElGamal, RSA, tehnike eliptične krivulje, PGP, SSH itd.
Kakšna je razlika med simetričnim šifriranjem in asimetričnim šifriranjem?
• Simetrično šifriranje uporablja en sam skrivni ključ, ki ga morajo deliti osebe, ki morajo prejeti sporočilo, medtem ko asimetrično šifriranje uporablja par javnih ključev in zasebni ključ za šifriranje in dešifriranje sporočil med komunikacijo.
• Simetrično šifriranje je stara tehnika, medtem ko je asimetrično šifriranje razmeroma novo.
• Asimetrično šifriranje je bilo uvedeno kot dopolnitev inherentnega problema potrebe po skupni rabi ključa v modelu simetričnega šifriranja, ki odpravlja potrebo po skupni rabi ključa z uporabo para javno-zasebnih ključev.
Simetrično šifriranje proti asimetričnemu šifriranju
Lahko vam dam izčrpen pregled o tem, ali izbrati simetrično šifriranje ali asimetrično šifriranje, a resnica je, da je zelo malo verjetno, da boste imeli možnost izbrati eno ali drugo, če niste razvijalec ali programski inženir. To je zato, ker se vsa ta šifriranja zgodijo v aplikacijski plasti in pod njo v modelu mreženja OSI in laiku ne bi bilo treba posegati v nič od tega. Imeli bodo različna zagotovila glede zasebnosti, odvisno od programov, ki jih uporabljajo. Pomembno si je torej zapomniti, da svojega skrivnega ključa nikoli ne posredujte prek javnega omrežja, če uporabljate algoritem simetričnega ključa, asimetrično šifriranje pa se izogne tem težavam. Vendar običajno asimetrično šifriranje traja relativno več časa in zato večina resničnih sistemov uporablja hibrid teh dveh metod šifriranja, pri čemer je skrivni ključ, uporabljen pri simetričnem šifriranju, šifriran z uporabo asimetričnega šifriranja, ki se pošlje po nevarnem kanalu, medtem ko je preostali del podatki so šifrirani s simetričnim šifriranjem in poslani po nevarnem kanalu. Ko prejemnik dobi asimetrično šifriran ključ, ga s svojim zasebnim ključem dešifrira in ko izve skrivnost, lahko preprosto dešifrira simetrično šifrirano sporočilo.