Kriptografsko razprševanje: vodnik za začetnike

Kriptografsko razprševanje je sestavni del spektra kibernetske varnosti. Pravzaprav se pogosto uporablja v različnih tehnologijah, vključno z Bitcoini in drugimi protokoli kriptovalut.

V tem članku bomo prešli na zgoščevanje v kriptovaluti, kjer bomo spoznali kriptografske razpršilce, njihove primere, zgodovino itd..

Članek je namenjen tistim, ki se želijo naučiti bolj tehničnega pogleda na to temo. Vendar se ne bojite, če niste tehnični, saj bomo poskušali koncept poenostaviti na najboljši možen način.

Kriptografija je bila vedno jedro računalništva. Brez tega nikoli ne bomo mogli imeti varne komunikacije ali izmenjave informacij. Najbolje je opredeliti kot način za zaščito informacij.

 

Kaj je kriptografsko razprševanje?

V kriptografiji je razprševanje metoda, ki se uporablja za pretvorbo podatkov v edinstven niz besedila. Podatki se pretvorijo v zelo učinkovito metodo, pri kateri se podatki zgostijo v nekaj sekundah. Prav tako ni omejitev glede vrste podatkov ali njihove velikosti – razprševanje deluje na vse.

Torej, kaj naredi razprševanje tako priljubljeno in edinstveno? To je zato, ker je ni mogoče obrniti!

Da, je enosmerna funkcija (kriptografska zgoščevalna funkcija) in je zasnovana tako, da deluje le tako.

V enosmerni funkciji podatki, ki so enkrat vstavljeni v algoritem zgoščevanja, oddajo edinstven niz. Vendar enoličnega niza ni mogoče uporabiti za dešifriranje izvirnih podatkov, tako da jih vrnete v funkcijo zgoščevanja. Zaradi te uporabnosti in lastnosti je kriptografsko razprševanje tako koristno pri zaščiti informacij in podatkov.

Preverite tudi

  • Kako zgraditi verigo blokov v Pythonu
  • Začetniški vodnik: Uporaba kriptografije v kriptovaluti

Za metodo razpršitve velja še ena funkcija. Vsak dani del podatkov bo dal enak razpršeni izhod.

Zaradi teh funkcij je zelo uporaben v kriptovalutah, kot je bitcoin. 

 

Kako deluje razprševanje?

Da bi bolje razumeli razprševanje, se moramo naučiti tudi, kako deluje. Razprševanje je matematična operacija, ki za izvedbo potrebuje manj računske moči. Vendar je računska moč, potrebna za obrat, draga in je zato sedanja generacija računalnikov ne more narediti.

Vendar lahko kvantni računalniki obrnejo računalniško zgoščevanje. Toda že obstajajo metode razprševanja, ki so kvantno odporne.

Za zgoščevanje je na voljo veliko algoritmov. Sem spada naslednje.

  • Sporočilo neposredno (MD5)
  • Funkcija varnega razprševanja (SHA1)
  • Funkcija varnega razprševanja (SHA-256)

Vse funkcije razprševanja niso 100% varne. Na primer, SHA1 je enostavno razbiti in zato ni priporočljiv za praktično uporabo. Ena najpogostejših funkcij razprševanja vključuje MD5 in SHA-256.

MD5 se večinoma uporablja za preverjanje prenesenih datotek. Torej, če prenesete datoteko, lahko izračunate njeno kontrolno vsoto s pomočjo kalkulatorja kontrolne vsote. Če se niz zgoščevanja ujema z nizom tistega, kar je naložil prenosnik, to pomeni, da je prenos opravljen pravilno, brez poškodb datotek. Skratka, preverja celovitost datoteke.

 

Kje se Hashing večinoma uporablja?

Razprševanje se večinoma uporablja za gesla. Vzemimo primer, da ga razumemo.

Pri ustvarjanju e-poštnega računa vas bo ponudnik e-pošte vprašal za e-poštni naslov in geslo. Jasno je, da e-pošte in gesla ne shranijo v preprostem navadnem besedilu. V nasprotnem primeru ogrožajo zasebnost in varnost vaših podatkov. Da bi zagotovili, da je težko razbrati te podatke, uporabljajo geslo na vašem geslu, tako da ga ne more razvozlati niti vsak, ki interno dela pri ponudniku e-pošte.. 

Če se poskusite naslednjič prijaviti, ga funkcija razpršitve dešifrira in se ujema s shranjenim ter vam tako omogoči dostop do e-pošte.

Druge uporabe vključujejo ustvarjanje in preverjanje podpisa ter preverjanje celovitosti datotek.

Seveda obstajajo tudi druge aplikacije za razprševanje. Druga najbolj priljubljena uporaba zgoščevanja so kriptovalute, o katerih razpravljamo spodaj.

 

Kako se hashiranje uporablja v kriptovalutah

Razprševanje se večinoma uporablja v kriptovalutah za rudarske namene. Torej, v Bitcoinu je rudarstvo postopek preverjanja funkcij razprševanja SHA-256. To pomeni, da lahko zgoščevanje uporabite za pisanje novih transakcij, njihovo sklicevanje na prejšnji blok in časovni žig

Omrežje naj bi doseglo soglasje, ko je novi blok dodan v verigo blokov. S tem potrdi transakcije, ki jih vsebuje blok. Poleg tega dodatek onemogoča, da bi ga kdo odpravil. Vse to je mogoče zaradi zgoščevanja in zato se uporablja za vzdrževanje integritete verige blokov.

Bitcoin uporablja metodo soglasja Proof-of-Work, ki v zameno uporablja enosmerno zgoščevalno funkcijo SHA-256.

 

Primer funkcije razpršitve

Zdaj pa si oglejmo primer funkcije kriptografske razpršitve.

Da bomo olajšali nas in vas, bomo uporabili spletna orodja SHA-256.

Tu je povezava do njega: SHA256 na spletu

Če zdaj vnesete 101Blockchains kot vhod, bo to dalo naslednji izhod.

Vhod: 101Blockchains.com

Izhod: fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

Uporaba funkcije razpršitve SHA256

Zdaj, če za vhod postavite preprost »Hello World«, bo to dalo naslednji rezultat.

Vhod: Pozdravljen, svet

Izhod: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

Med obema izhodoma boste videli, da sta obe izhodni vrednosti enake dolžine, to je 256 bitov, to je dolžine 64 znakov.

Zdaj vnesite 101blockchain v vhod. Upoštevajte, da smo s strani 101Blockchains odstranili »s«, ki je bil uporabljen za generiranje prvega razprševanja.

Vhod: 101Blockchain

Izhod: c4d67db72f3d18eaca2e8e8498271de353d25874e4448be4887f2563576c6fe8

Če ga primerjate z našim prvim izhodom zgoščenke, boste videli veliko razliko, tudi če smo iz vnosa odstranili samo eno črko.

Kaj smo se torej naučili iz primera? Povzemimo v nadaljevanju.

  • Vsi izhodi so enake dolžine
  • Majhne spremembe na vhodu povzročijo popolnoma drugačne izhode
  • Izhodov v vhode ni mogoče obrniti.

Lastnosti funkcije kriptografske razpršitve

Da bi bolje razumeli kriptografsko zgoščevanje ali zgoščevanje na splošno, si oglejmo lastnosti kriptografske zgoščevalne funkcije.

Deterministično

Znano je, da so kriptografske zgoščevalne funkcije deterministične. To pomeni, da bo za dani vhod izhod enak. Preprosteje rečeno: če enak vhod skozi funkcijo zgoščevanja daste stotič, bo izhod v vseh primerih enak. 

Deterministična lastnost je pomembna, saj omogoča koncept enosmerne funkcije. Če ne bi delovalo tako, ga ne bi bilo mogoče uporabiti za zgoščevanje informacij. Naključni izhod za isti vhod lahko celoten postopek naredi neuporabnega.

 

Odporen na slike

Kriptografska zgoščevalna funkcija je odporna na predhodno sliko, kar pomeni, da enkrat ustvarjena zgoščena vrednost ne razkrije ničesar o vnosu.

To je pomembna lastnost, saj daje veliko pomembnega.

 

Računalniško učinkovito

Funkcije razpršitve so računsko učinkovite. To pomeni, da bo ne glede na to, kako dolg in zapleten je vhod, hitro ustvaril razpršitev. Učinkovitost je dobrodošla pri storitvah, ki želijo uporabljati zgoščevalno funkcijo za shranjevanje občutljivih informacij. Vendar je računsko učinkovit le na en način, to je od vhoda do izhoda. Ker ni reverzibilen, ga noben računalnik ne more obrniti nazaj.

Če pa želite govoriti o številkah, lahko trajajo vsa sodobna računalniška leta, da uganite vnos iz dane zgoščene vrednosti. S sodobnimi računalniki, ki z vsakim dnem postajajo zmogljivejši, so funkcije razprševanja učinkovitejše kot kdaj koli prej.

 

Ni mogoče razveljaviti

Funkcij razpršitve ni mogoče zamenjati. To pomeni, da je varna. Kot bi morali vedeti, da se kriptografske zgoščevalne funkcije ustvarjajo s predpostavko nereverzibilnih funkcij. Matematične enačbe in postopki, ki se uporabljajo za ustvarjanje izhoda, so poenostavljeni in jih ni mogoče razveljaviti. V tehničnem smislu funkcija zgoščevanja ne podpira obratnega delovanja.

 

Odporna na trke

Odpornost na trke je zadnja lastnost, o kateri bomo razpravljali. Ta lastnost zagotavlja, da dva različna vhoda ne ustvarjata enakega izhoda.

Kot bi morali že vedeti, je lahko vnos poljubno dolg. Po tej definiciji je lahko vnos neskončno število. Zdaj mora biti izhod, ki je fiksne dolžine, vsakič drugačen. Omejitev fiksne dolžine pomeni tudi, da so izhodi končnih števil – čeprav je končno število ogromne vrednosti. To predstavlja matematični izziv za ločevanje izhodov za vsak vhod. 

Dobra novica je, da je večina priljubljenih hash funkcij odporna na trke.

 

Priljubljeni razredi razprševanja – seznam algoritmov razpršitve

To nas vodi do naslednjega poglavja, kjer bomo razpravljali o priljubljenih razredih razprševanja. Našteli bomo tri razpršene razrede, ki so med kriptografsko sfero zelo priljubljeni.

  • Povzetek sporočila (MD)
  • Funkcija varnega razprševanja (SHF)
  • RIPE Message Direct (RIPEMD)

Pojdimo skozi enega po enega.

Povzetek sporočila (MD)

Message Digest je družina zgoščevalnih funkcij, ki se uporabljajo v celotni zgodovini interneta.

Družino sestavljajo zgoščevalne funkcije, kot so MD2, MD4, MD6 in najbolj priljubljeni MD5. Vse funkcije razprševanja MD so 128-bitne razpršilne funkcije, kar pomeni, da so velikosti izvlečkov 128 bitne.

Kot smo že omenili, MD5 razpršilne funkcije MD5 uporabljajo ponudniki programske opreme za preverjanje celovitosti datotek, ki jih uporabniki prenesejo prek datotečnih strežnikov. Da bi deloval, ponudnik dodeli prenosniku dostop do kontrolne vsote MD5 za datoteke. Za preverjanje celovitosti datoteke se uporablja kontrolna vsota MD5, ki izračuna kontrolno vsoto in nato navzkrižno preveri s priloženo vrednostjo zgoščene vrednosti. Če je vrednost drugačna kot preverjanje celovitosti omenjene datoteke ni uspelo in mora uporabnik prenesti celotno datoteko ali njen del.

MD5 ni tako varen kot druge funkcije razprševanja. Leta 2004 je bil izveden analitični napad na zgoščevalno funkcijo, ki je bil izveden v samo eni uri. Narejeno je bilo z uporabo računalniške gruče. Zaradi tega MD ni tako uporaben za varovanje informacij in se zato uporablja za naloge, kot je preverjanje celovitosti datoteke.

Če vas zanima več o MD5, si oglejte Wiki stran za MD5 – MD5.

 

Funkcija varnega razprševanja (SHA)

Funkcije varnega razprševanja so še ena družina zgoščevalnih funkcij, ki so zelo priljubljene. Razvil in objavil ga je Nacionalni inštitut za standarde in tehnologijo (NIST). Izdali so štiri različice SHA, vključno s SHA-0, SHA-1, SHA-2 in SHA-3.

Kot ste že slutili, poznejše različice odpravijo nekatere težave ali slabosti pri starejših različicah SHA. Na primer, SHA-1 je bil izdan po ugotovitvi šibkosti SHA-0. SHA-1 je bil izdan leta 1995.

SHA-1 si je po izidu ustvaril svoje ime. Takrat so ga uporabljale različne aplikacije, vključno s plastjo Secure Socket Layer (SSL).

Vendar so sčasoma izkoriščevalci odkrili tudi trke SHA-1, zaradi katerih je bil neuporaben. NIST je pripravil svojo družino varnih zgoščevalnih funkcij SHA-2, ki je uporabljala štiri različice SHA, vključno s SHA-256, SHA-224, SHA-512 in SHA-384. V teh štirih različicah sta bili dve jedri, vključno s SHA-256 in SHA-512. Razlika med njima je, da je SHA-512 uporabil 64-bajtne besede, medtem ko je SHA-256 uporabil le 32-bajtne besede. 

Družina zgoščevalnih funkcij SHA-2 se še vedno pogosto uporablja. Vendar pa je obstajal tudi SHA-3, ki so ga oblikovali in sprostili oblikovalci, ki niso člani NSA, med javnim natečajem leta 2012. Prej je bil znan kot Keccak. Prednosti Keccaka so vključevale boljšo odpornost proti napadom in učinkovito delovanje.

 

RIPE Message Direct (RIPEMD)

RIPE Message Direct (RIPEMD) je družina zgoščevalnih funkcij, izdana leta 1992. Poleg tega RIPE pomeni RACE Integrity Primitive Evaluations.

Oblikuje in upravlja odprta raziskovalna skupnost. Med družino je pet funkcij, vključno z RIPEMD, RIPEMD-160, RIPEMD-128, RIPEMD-320 in RIPEMD-256. Vendar je najpogosteje uporabljena funkcija RIPEMD-160.

Zasnova RIPEMD temelji na Message Direct.

 

Razlika med razprševanjem, šifriranjem in soljenjem

V tem poglavju bomo na kratko preučili razliko med zgoščevanjem, šifriranjem in soljenjem.

Začnimo s šifriranjem.

Šifriranje je postopek šifriranja izvirnih informacij z javnim ključem in nato odklepanje z zasebnim ključem. Je dvosmerna funkcija.

Hashing pa je enosmerna funkcija, ki se uporablja za branje informacij za namene preverjanja.

Zadnji izraz je “soljenje”.

Osoljevanje je podobno razpršitvi, vendar je tukaj geslu dodana edinstvena vrednost, da se ustvari drugačna vrednost razpršitve. Tu mora biti vrednost soli edinstvena in ostati skrita. 

 

Zaključek

To nas vodi do konca našega razprševanja v kriptografiji. Poskušali smo razumeti razpršitev, tako da smo najprej izvedeli, kaj ponuja, nato pa se hitro naučili, kako deluje, katere vrste itd.!

Kot lahko vidite, obstaja veliko primerov uporabe za zgoščevanje, vključno s kriptovaluto, zaščito z geslom, preverjanjem podpisa itd. Čeprav je razprševanje po svoje edinstveno, se njegova učinkovitost pri zaščiti informacij z vsakim dnem zmanjšuje, zahvaljujoč zmogljivim računalnikom po vsem svetu.

Raziskovalci si prizadevajo tudi za ohranitev obstoječega stanja z izdajo močnejše funkcije razprševanja, ki je kvantno odporna in lahko prenese napredovanje računalniške moči po vsem svetu..

Torej, kaj menite o zgoščevanju? Komentirajte spodaj in nam sporočite.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me