Kakšna je razlika med šifriranjem SHA in SHA-1?

SHA je akronim za Secure Hash Algoritem, standard šifriranja, ki ga je izumila Nacionalna varnostna agencija in objavila Nacionalni inštitut za standarde in tehnologijo. Ugotovljeno je bilo, da ima prvotni algoritem SHA pomanjkljivosti v metodah šifriranja in je bil zaradi večje varnosti zamenjan s SHA-1.

Algoritem varnega zgoščevanja

SHA je kriptografska hash funkcija. Hash funkcija vzame začetno nešifrirano besedilo, imenovano golo besedilo, in ustvari teoretično edinstveno številko, ki sestavlja šifrirano sporočilo. SHA ustvari 160-bitno število, ki je število med 0 in 1,46 x 10^48. Ni mogoče, da bi bila ta številka edinstvena za vsa možna sporočila z golim besedilom, saj je število takšnih sporočil teoretično neskončno, vendar je verjetnost približno 2^80 ali 1,21 x 10^24 proti dvema sporočilom, ki ustvarjata enako šifrirano rezultat. Če se to zgodi, se to imenuje trk. Trčenje zagotavlja matematični napad na algoritem šifriranja, kar kriptografu omogoča dešifriranje odprtega besedila.

Video dneva

SHA-0 in SHA-1

Po njegovi objavi so bile odkrite napake v izvirnem algoritmu SHA, ki so omogočile kriptografski napad, da povzroči zgoščene kolizije, kar je močno oslabilo njegovo učinkovitost. Razvita je bila revidirana različica SHA, SHA-1, ki je ustvarila enake 160-bitne rezultate brez prvotnih napak v algoritmu. Prvotni SHA je bil retroaktivno preimenovan v SHA-0, da bi razlikovali med njegovo uporabo in uporabo SHA-1.

Spremembe v SHA-1

Prvotne napake v SHA-0 niso bile nikoli objavljene, saj te pomanjkljivosti nudijo komplet orodij za vsakega napadalca, ki poskuša dešifrirati sporočilo s šifriranjem SHA-0. Edina javna informacija o pomanjkljivostih prvotnega algoritma kaže, da so zgoščeni koliziji bolj verjetni kot iz naključnega naključja pri uporabi SHA-0, in da so trki z uporabo neobjavljene metode odpravljeni pri uporabi SHA-1. Ker SHA-1 in SHA-0 dajeta matematične rezultate enake dolžine, se lahko SHA-1 uporabi kot nadomestek v računalniški programski opremi za izvirni algoritem SHA-0 brez večjih prepisov v preostalem delu programsko opremo.

SHA-2 in SHA-3

Ugotovljeno je bilo, da je SHA-1 bolj robusten kot SHA-0, vendar pušča prostor za izboljšave. Matematična analiza rezultatov SHA-1 je pokazala metodo, s katero bi lahko šifriranje SHA-1 pokvarilo 2000-krat hitreje, kot bi bilo teoretično možno s preverjanjem vseh 10^48 možnih kombinacij njegovih izhod. Ker idealen kriptografski algoritem preprečuje tovrstne izboljšave hitrosti dešifriranja, se algoritem SHA-2 izogne ​​temu napadu in poveča možno velikost zgoščevanja na 512-bit ali 1,34 x 10^154. SHA-3, še zmogljivejši algoritem šifriranja, je trenutno v razvoju.