Digitálne podpisy a hašovanie

Digitálne podpisy a kryptografické hašovacie funkcie tvoria tajnú omáčku, vďaka ktorej funguje kryptomena. Kryptomenu dali takpovediac do meny. Váš digitálny podpis potvrdzuje, že máte súkromný kľúč, ktorý si nárokuje vlastníctvo majetku opísaného v transakcii. Hašovacia funkcia definuje a zabezpečuje transakciu.

Kryptografia – chcete vedieť tajomstvo??

Digitálne podpisy a hašovacie funkcie žijú v kryptografii, tak čo je to kryptografia? Kryptografia definuje umenie a vedu kódovania a dekódovania správ na zachovanie súkromia medzi komunikátormi.

Šalátové dni kryptografie

V priebehu rokov prevládajú v rôznych obdobiach rôzne formy kryptografie. V časoch Júliusa Caesara stačilo jednoduché otáčanie abecedy. A kryptografi to teda označujú ako „Caesarovu šifru“. Namiesto slova „mačka“ môže zašifrovaná správa jednoducho otočiť všetky písmená o krok doľava, takže „mačka“ znamená „dbu“. Vo filme 2001: Vesmírna odysea, rovnakým spôsobom otáčajte písmená „HAL“ a čo získate?

Postupom času sa systémy kryptografie rozpadajú, keď kryptoanalytici riešia každý daný systém.

Kryptografia s verejným kľúčom

obrázok digitálnych podpisov

V súčasnosti prevláda asymetrická kryptografia, známa tiež ako šifrovanie verejným kľúčom / súkromným kľúčom alebo jednoducho kryptografia verejného kľúča. Verejné a súkromné ​​kľúče sú jednoducho čísla.

Pojem asymetrický ho odlišuje od symetrickej kryptografie. V symetrickej kryptografii ten istý kľúč správu šifruje aj dešifruje. Kľúč preto musí zostať skrytý. To vytvára problém s distribúciou kľúčov – ako bezpečne preniesť kľúč k príjemcovi, ako aj šifrovanú správu?

Kryptografia verejného kľúča tento problém rieši zverejnením verejného kľúča, ktorý môže ktokoľvek použiť na šifrovanie správy, a používateľ si ponechá pre seba súkromný kľúč, ktorý sa použije na dešifrovanie správy. Toto funguje prostredníctvom kúzla jednosmerných matematických funkcií. Jednosmerné funkcie sa počítajú jednoducho a ľahko, ale bránia sa reverznému inžinierstvu.

Príklad kryptografie verejného kľúča

Na ilustráciu veľmi jednoduchým príkladom, vynásobte dve prvočísla: prime1 * prime2 = výsledok. Pri dostatočne veľkom počte sa môže výsledok pozrieť ktokoľvek, ale určiť, ktoré dve prvočísla sa použili na dosiahnutie tohto výsledku, predstavuje veľké ťažkosti. Výsledok predstavuje verejný kľúč a prim1 a prime2 predstavuje súkromný kľúč.

Asymetrická kryptografia sa zlomí, keď proti nej hackeri použijú dostatočný výpočtový výkon. Hackeri však na dosiahnutie tohto cieľa v rozumnom časovom rámci potrebujú superpočítače. Keď sa kvantové počítače stanú normou, bude sa musieť vyvíjať šifrovanie.

Digitálne podpisy

Digitálny podpis vytvorený súkromným kľúčom predstavuje súkromný kľúč, a tým zobrazuje používateľa prihláseného v danej transakcii.

Digitálny podpis si môžete predstaviť ako variáciu šifrovanej správy. Rovnako ako kryptografia verejného kľúča vytvára šifrovanú správu, súkromný kľúč tiež vytvára digitálny podpis. Pomocou verejného kľúča môžete rýchlo skontrolovať, či bol digitálny podpis vytvorený súkromným kľúčom. Predstavte si to ako skladačku. Možno je veľmi ťažké dokončiť hádanku, ale ak je správne vyplnená, overíte ju na prvý pohľad.

Hodovanie v Hash House

Kryptografický hash je výsledkom matematickej funkcie, ktorá mapuje dáta ľubovoľnej veľkosti na reťazec bitov s pevnou veľkosťou, známy ako hodnota hash alebo jednoducho hash. Výsledkom daných vstupných údajov je vždy rovnaký hash. Preto, ak sa správa nezhoduje s hashovou hodnotou, ktorá je s ňou spojená, viete, že so správou bolo manipulované. Dve rôzne správy by nikdy nemali vytvárať rovnakú hodnotu hash. Ak tak urobia, predstavuje to kolíziu a funkcia hash, ktorá vytvorila túto hodnotu, je fatálne chybná.

Jednoduchý príklad hashovania

Na ilustráciu predpokladajme, že ako vstupné údaje chceme hašovať jednoduchý reťazec „ABCDE“.

Vytvorme jednoduchý hašovací algoritmus. Najskôr preložíme písmená na čísla: A = 1, B = 2, C = 3, D = 4, E = 5. Naša výsledná hodnota hash musí byť jedna číslica. Elementárna metóda jednoducho sčíta všetky číslice: 1 + 2 + 3 + 4 + 5 = 15. Takto sa získa dvojciferné číslo, takže náš algoritmus pokračuje rekurzívne a pridáva každú číslicu tohto čísla: 1 + 5 = 6. Toto robí 6 naša hash hodnota a 6 predstavuje „ABCDE“ ako jej hash.

Ak dostanete „ABCDE“ ako správu predstavovanú 6 ako jej hash, veríte, že správa je správna. Ak ste ale dostali správu „ABCXE“ predstavovanú hashom 6, existuje nesúlad, zjavne kvôli neoprávnenej manipulácii so správou.

Náš jednoduchý hashovací algoritmus samozrejme zlyháva na mnohých úrovniach. Pre jedného reťazec „EDCBA“ alebo akákoľvek ich kombinácia vytvára rovnaký hash ako „ABCDE“, čím vytvára kolízie. Komplexná matematika tieto problémy prekonáva. Šifrovací algoritmus, ktorý sa v kryptomene v súčasnosti používa najviac, sa volá SHA-256 (skratka znamená Secure Hash Algorithm). V algoritme SHA-256 dosahuje pevná veľkosť hodnoty hash hodnotu 256 bitov.

Digitálne podpisy a hašovanie v kryptomene

Dobre, tak ako vlastne použijeme digitálne podpisy a hašovanie v kryptomenách?

Pozrime sa na bitcoinovú transakciu, aby sme videli, ako je táto technológia v akcii.

Bitcoinová transakcia sa delí na dve časti: 1) vstupná časť a 2) výstupná časť.

Vstupná časť obsahuje verejný kľúč odosielateľa, informácie, ktoré ukazujú, že odosielateľ vlastní dostatok bitcoinov na pokrytie transakcie, a ďalšie užitočné informácie. Súkromný kľúč odosielateľa vytvára digitálny podpis na podpísanie tejto transakcie. Tento digitálny podpis ide do vstupnej časti transakcie.

Výstupná časť obsahuje adresu peňaženky príjemcu a index, pretože existuje viac ako jeden výstup (rôzne výstupy pôjdu príjemcovi, odosielateľovi a minerovi).

Hašovanie vstupuje do hry na ochranu integrity transakcie. Údaje, ako sú platiteľ, príjemca a zaplatená suma, si vyžadujú hašovanie, aby boli chránené proti škodlivým činiteľom, ktorí tieto informácie zmenia. Kombinácia kryptografického kľúča a týchto vstupných parametrov na dodanie hashovacej funkcie vytvorí ID transakcie. Teraz vieme s kryptografickou istotou, že odosielateľ má v skutočnosti oprávnenie uskutočniť platbu a že podrobnosti transakcie sú správne a nebolo s nimi manipulované..

Muška v cmare

Známy problém s bitcoinovými transakciami nastal pri tzv transakčná tvárnosť.

Transformovateľnosť transakcie nastáva, pretože bitcoin v transakcii hašuje rôzne polia. Počas spracovania transakcie sa niektoré z týchto polí môžu meniť zdanlivo okrajovo a nevýznamne. Ale pretože sa menia, mení sa hodnota hash, čo spôsobuje zmenu ID transakcie.

Aby ste si to vizualizovali, predstavte si pole, ktoré obsahuje celé číslo 123, ale počas spracovania to systém rozšíri na 0123. Oba tvoria rovnaké číslo a pri pohľade na ne ich poznáme, že sú rovnaké, ale hashová funkcia ich vidí ako rôzne a následne pre každú vytvorí rôzne hodnoty hash. Tento vtip predstavuje príležitosti pre zlých hercov hrať systém.

SegWit na záchranu

Technológia Segregated Witness (SegWit) tento problém vyriešila. SegWit vytvára štruktúru oddelenú od bloku (segregovanú). Táto samostatná štruktúra obsahuje informácie požadované na určenie platnosti transakcie (overte platnosť transakcie), ale neobsahuje samotné údaje o transakcii. Týmto oddelením údajov o transakciách sa odstránila možnosť predajnosti.

Záverečné myšlienky

Kryptografia sa vyvíja s vývojom technológií. Počítače v budúcnosti určite prelomia dnešnú kryptografiu. Ale pre súčasný svet, v ktorom žijeme, poskytujú digitálne podpisy a kryptografické hashe dostatočné záruky na zabezpečenie bezpečnosti a integrity našich transakcií..

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