Digitální podpisy a hašování

Digitální podpisy a kryptografické hashovací funkce tvoří tajnou omáčku, díky níž funguje kryptoměna. Kryptomenu vložili do měny, abych tak řekl. Váš digitální podpis prokazuje, že máte soukromý klíč, který si nárokuje vlastnictví aktiv popsaných v transakci. Funkce hash definuje a zajišťuje transakci.

Kryptografie – chcete vědět tajemství??

Digitální podpisy a hashovací funkce žijí v kryptografii, tak co je to kryptografie? Kryptografie definuje umění a vědu kódování a dekódování zpráv pro zachování soukromí mezi komunikátory.

Salátové dny kryptografie

V různých obdobích v průběhu let převládají různé formy kryptografie. Ve dnech Julia Caesara stačilo pouhé otáčení abecedy. A kryptografové to tedy označují jako „Caesarovu šifru“. Namísto slova „kočka“ může zašifrovaná zpráva jednoduše otočit všechna písmena o jeden krok doleva, takže „kočka“ se promění v „dbu“. Ve filmu 2001: Vesmírná odysea, stejným způsobem otáčejte písmena „HAL“ a co získáte?

Postupem času se systémy kryptografie rozpadají, když kryptoanalytici řeší každý daný systém.

Kryptografie veřejného klíče

obrázek digitálních podpisů

V současné době převažuje asymetrická kryptografie, známá také jako šifrování veřejným klíčem / soukromým klíčem nebo jednoduše kryptografie veřejného klíče. Veřejné klíče a soukromé klíče jsou jednoduše čísla.

Termín asymetrický ji odlišuje od symetrické kryptografie. V symetrické kryptografii stejný klíč šifruje i dešifruje zprávu. Klíč tedy musí zůstat skrytý. To vytváří problém s distribucí klíčů – jak bezpečně přenášet klíč příjemci i šifrovanou zprávu?

Kryptografie veřejného klíče řeší tento problém publikováním veřejného klíče, který může k zašifrování zprávy použít kdokoli, a uživatel si ponechá soukromý klíč, který bude použit k dešifrování zprávy. To funguje prostřednictvím kouzla jednosměrných matematických funkcí. Jednosměrné funkce se počítají jednoduše a snadno, ale brání zpětnému inženýrství.

Příklad kryptografie veřejného klíče

Pro ilustraci na velmi jednoduchém příkladu, vynásobte dvě prvočísla: prime1 * prime2 = výsledek. Vzhledem k dostatečně velkým číslům se na výsledek může podívat kdokoli, ale určení, která dvě prvočísla byla použita k dosažení tohoto výsledku, představuje velké potíže. Výsledek představuje veřejný klíč a prime1 a prime2 představují soukromý klíč.

Asymetrická kryptografie se přeruší, když proti ní hackeři použijí dostatečný výpočetní výkon. Hackeři však potřebují superpočítače, aby toho dosáhli v rozumném časovém rámci. Až se kvantové počítače stanou normou, bude se muset vyvíjet šifrování.

Digitální podpisy

Digitální podpis vytvořený soukromým klíčem představuje soukromý klíč a tím ukazuje, že je uživatel při dané transakci odhlášen.

Digitální podpis si můžete představit jako variaci šifrované zprávy. Stejně jako kryptografie veřejného klíče vytváří šifrovanou zprávu, soukromý klíč také vytváří digitální podpis. S veřejným klíčem můžete rychle ověřit, že digitální podpis byl vytvořen soukromým klíčem. Přemýšlejte o tom jako o skládačce. Puzzle může být velmi obtížné dokončit, ale po správném dokončení ji na první pohled ověříte.

Hodování v Hash House

Kryptografický hash je výsledkem matematické funkce, která mapuje data libovolné velikosti na řetězec bitů pevné velikosti, známý jako hodnota hash nebo jednoduše hash. Daná vstupní data mají vždy za následek stejný hash. V důsledku toho, pokud zpráva neodpovídá hodnotě hash s ní spojené, víte, že se zprávou bylo manipulováno. Dvě různé zprávy by nikdy neměly vytvářet stejnou hodnotu hash. Pokud ano, představuje to kolizi a hashovací funkce, která vytvořila tuto hodnotu, je fatálně chybná.

Jednoduchý příklad hašování

Pro ilustraci předpokládejme, že chceme jako vstupní data hashovat jednoduchý řetězec „ABCDE“.

Vytvořme jednoduchý hashovací algoritmus. Nejprve překládáme písmena na čísla: A = 1, B = 2, C = 3, D = 4, E = 5. Výsledná hodnota hash musí být jedna číslice. Základní metoda jednoduše přidá všechny číslice dohromady: 1 + 2 + 3 + 4 + 5 = 15. Tím se získá dvouciferné číslo, takže náš algoritmus pokračuje rekurzivně a přidává každou číslici tohoto čísla: 1 + 5 = 6. To dělá 6 naše hash hodnota a 6 představuje „ABCDE“ jako jeho hash.

Pokud obdržíte „ABCDE“ jako zprávu představovanou 6 jako hash, věříte, že zpráva je správná. Pokud jste ale dostali zprávu „ABCXE“ představovanou hashem 6, existuje nesoulad, jasně kvůli manipulaci se zprávou.

Náš jednoduchý hashovací algoritmus selhává samozřejmě na mnoha úrovních. Řetězec „EDCBA“ nebo jakákoli jejich kombinace vytváří stejný hash jako „ABCDE“, čímž vytváří kolize. Složitá matematika tyto problémy překonává. Algoritmus hash, který se v současné době nejčastěji používá v kryptoměně, se nazývá SHA-256 (zkratka znamená Secure Hash Algorithm). V algoritmu SHA-256 je pevná velikost hodnoty hash přijata na 256 bitů.

Digitální podpisy a hašování v kryptoměně

Dobře, tak jak vlastně používáme digitální podpisy a hashování v kryptoměnách?

Podívejme se na bitcoinovou transakci, abychom viděli technologii v akci.

Bitcoinová transakce se dělí na dvě části: 1) vstupní část a 2) výstupní část.

Vstupní část obsahuje veřejný klíč odesílatele, informace ukazující, že odesílatel vlastní dostatek bitcoinů k pokrytí transakce, a další užitečné informace. Soukromý klíč odesílatele vytváří digitální podpis k podepsání této transakce. Tento digitální podpis jde do vstupní části transakce.

Výstupní část obsahuje adresu peněženky příjemce a rejstřík, protože existuje více než jeden výstup (různé výstupy půjdou příjemci, odesílateli a minerovi).

Hashing vstupuje do hry na ochranu integrity transakce. Data, jako je plátce, příjemce a zaplacená částka, vyžadují hašování, aby byla chráněna proti škodlivým činitelům, kteří tyto informace pozmění. Kombinace kryptografického klíče a těchto vstupních parametrů pro krmení hashovací funkce vytvoří ID transakce. Nyní víme s kryptografickou jistotou, že odesílatel má ve skutečnosti oprávnění provést platbu a že podrobnosti transakce jsou správné a nebyly s nimi manipulovány.

Moucha v podmáslí

Známý problém s bitcoinovými transakcemi vznikl u něčeho, čemu se říká tvárnost transakce.

K tvárnosti transakce dochází, protože bitcoin v transakci hashuje různá pole. Během zpracování transakce se některá z těchto polí mohou změnit zdánlivě okrajovými a nevýznamnými způsoby. Ale protože se mění, mění se hodnota hash, což způsobuje změnu ID transakce.

Chcete-li to vizualizovat, přemýšlejte o poli obsahujícím celé číslo 123, ale během zpracování to systém rozšíří na 0123. Oba představují stejné číslo a při pohledu na ně je známe stejné, ale hash funkce je vidí jako různé a následně pro každou vytvoří různé hodnoty hash. Tento vtip představuje příležitosti pro špatné herce hrát systém.

SegWit k záchraně

Technologie Segregated Witness (SegWit) tento problém vyřešila. SegWit vytvoří strukturu oddělenou od bloku (odděleně). Tato samostatná struktura obsahuje informace potřebné k určení platnosti transakce (ověřte platnost transakce), ale neobsahuje samotná data transakce. Takto oddělené údaje o transakcích odstranily možnost tvárnosti.

Závěrečné myšlenky

Kryptografie se vyvíjí s vývojem technologie. Počítače v budoucnu jistě prolomí dnešní kryptografii. Ale pro současný svět, ve kterém žijeme, poskytují digitální podpisy a kryptografické hashe dostatečné záruky k zajištění bezpečnosti a integrity našich transakcí.

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