Zgoščena vrednost je niz fiksne dolžine (digest), ustvarjen iz vhodnih podatkov poljubne velikosti z uporabo zgoščene funkcije. Postopek je enosmeren – zgoščene vrednosti ne morete dešifrirati ali obrniti, da bi dobili izvirne podatke. Zato je "šifriranje zgoščene vrednosti" napačno poimenovanje; Zgoščevanje ni šifriranje.
Priljubljeni algoritmi za zgoščevanje vključujejo:
MD5 (zastarelo za varnostne namene)
SHA-1 (zastarelo)
SHA-256, SHA-512 (del družine SHA-2)
SHA-3
bcrypt, scrypt, Argon2 (za varno zgoščevanje gesel)
Heširanje služi več namenom pri kibernetski varnosti in integriteti podatkov. Ključni razlogi za uporabo zgoščevanja vključujejo:
Celovitost podatkov: Zagotavlja, da podatki niso bili spremenjeni (npr. kontrolne vsote datotek).
Shranjevanje gesel: Varno shranjuje gesla s primerjavo zgoščevalnih vrednosti namesto shranjevanja dejanskih gesel.
Digitalni podpisi: Zgoščene vrednosti so podpisani in ne veliki dokumenti.
Učinkovitost: Majhne vrednosti zgoščene vrednosti fiksne velikosti je hitreje primerjati kot velike bloke podatkov.
Ker so zgoščene vrednosti deterministične in hitre, so idealne za naloge preverjanja.
Uporaba Zgoščevalna funkcija vključuje:
Vnos podatkov (npr. datoteke, niza ali gesla).
Obdelavo podatkov z algoritmom zgoščevanja.
Pridobitev zgoščene vrednosti, ki je niz fiksne velikosti, ki enolično predstavlja vhod.
Za zaščito z geslom:
Geslo združite s soljo (naključni podatki).
Uporabite varno zgoščevalno funkcijo (npr. bcrypt ali Argon2).
Nastalo zgoščeno vrednost in sol varno shranite.
Ker zgoščevalnih vrednosti ni mogoče razveljaviti, vnos (kot geslo) preverite tako, da ga ponovno zgoščite in primerjate novo zgoščeno vrednost s shranjeno.
Zgoščeno vrednost je treba uporabiti, kadar:
Treba je preveriti celovitost podatkov (npr. preverjanje morebitne poškodbe ali nedovoljenega spreminjanja).
Gesla morajo biti varno shranjena (ne šifrirana ali v obliki navadnega besedila).
Gre za digitalne podpise in potrdila (zgoščevanje zagotavlja pristnost dokumenta).
Potrebna je hitra primerjava podatkov (npr. v zgoščevalnih tabelah ali predpomnilnikih).
Zgoščevanje ni primerno, kadar morate pozneje obnoviti izvirne podatke – za to je namenjeno šifriranje.