Viac

    Všetko o tom, ako kryptomeny používajú kryptografiu

    Niet pochýb o tom, že kryptomeny sú obrovský fenomén. Sú tu len desať rokov, no aj za taký krátky čas na seba dokázali strhnúť veľkú pozornosť.

    Niet pochýb o tom, že kryptomeny sú obrovský fenomén. Sú tu len desať rokov, no aj za taký krátky čas na seba dokázali strhnúť veľkú pozornosť.

    Myšlienka otvoreného, nielen monetárneho systému, ale akéhokoľvek systému, ktorý vyžaduje istý druh konsenzu je po celom svete vítaná skutočne pozitívne.

    Asi to znamená, že so súčasnými systémami ľudia skrátka nie sú spokojní a volajú po alternatíve.

    Kryptomeny a kryptomenové siete sú poprepletané množstvom nových technológií a ideí. No nie všetky koncepty, na základe ktorých tieto idey vznikli sú také nové a prelomové.

    Ich spojením sa pre ne našlo nové využitie vo forme decentralizovaných transakčných systémov. Jedným takýmto konceptom je využitie kryptografie pre zaistenie správneho fungovania spomínaných systémov.

    V tomto článku sa detailnejšie pozrieme práve na to, akú rolu hrá kryptografia v kryptomenových systémoch.

    Keďže kryptomeny a kryptografia zdieľajú spoločný prefix “krypto”, každému je viac menej jasné, že bez kryptografie by to kryptomeny ďaleko nedotiahli.

    Práve preto si tento nový fenomén zobral ten istý prefix ako veda skúmajúca šifrovanie správ, dát a nielen internetovej komunikácie.

    Trochu teórie o kryptografii

    Kryptografia sa študuje azda na všetkých technických školách. Je to vedná disciplína a nechceme ju tu rozoberať dopodrobna. Poďme sa ale pozrieť aspoň na jej stručnú históriu a základy.

    Kryptografiu ako vednú disciplínu zahŕňa kryptológia. Kryptológia je teda zastrešujúci vedný odbor, pod ktorý patrí aj kryptoanalýza a steganografia.

    Kryptológia sa skladá z troch samostatných disciplín:

    • Kryptografia: Zaoberá sa hlavne tvorbou šifier, ktoré majú jediný cieľ, a to skryť citlivé dáta pred nepovolanými osobami. Jej cieľom je bezpečnosť informačných systémov so zameraním na:
      • dôvernosť / utajenie (confidentiality) – pri prenose údajov, uložení na média apod.
      • integritu (data integrity) – správnosť obsahu prenesenej správy
      • overenie pravosti (authentication) – potvrdenie totožnosti odosielateľa
    • Kryptoanalýza: Vedná disciplína, ktorá sa narozdiel od kryptografie zaoberá lúštením šifier, ktoré boli vytvorené nejakým kryptosystémom. Ide teda o nájdenie spôsobu ako dešifrovať (neautorizovane) zašifrovaný text.
    • Steganografia: Oblasť kryptológie, ktorej cieľom je zatajiť existenciu správy. Steganografické metódy obsahujú napríklad používanie neviditeľných atramentov apod.

    Stručný pohľad na zaujímavé udalosti z histórie kryptografie

    Kryptografia nepatrí medzi mladé disciplíny, práve naopak. Potreba šifrovať údaje siaha hlboko do minulosti, až do čias faraónov. Prvá zmienka o šifrovaní pochádza z Egypta približne 4,000 rokov dozadu.

    Starovek

    Z historického hľadiska patria medzi klasické typy šifier také, ktoré spočívajú v zamiešaní poradia písmen textu alebo správy, napr. slovo „bitcoin“ by sa zmodifikovalo na „inbitco“.

    Takéto šifry sa nazývajú transpozičné šifry. Ďalej to sú substitučné šifry, ktoré spočívajú v systematickom nahradzovaní jednotlivých symbolov obsahu textu za určené ďalšie symboly alebo skupinu symbolov.

    Napríklad substitučná šifra slova „bitcoin“ by mohla vyzerať ako „cjudpjo“ pričom v tomto spôsobe sa symboly šifrovanej abecedy posunuli o jeden symbol oproti abecede otvoreného textu.

    Jednoduché verzie oboch šifier však poskytovali v prípade zachytenia správy nepovolanou osobou len malú ochranu a boli ľahko dešifrovatelné.

    Medzi najstaršie substitučné šifry patrí Cézarova šifra, ktorá spočíva v tom, že každé písmeno n otvoreného textu bolo nahradené písmenom na pozícii n+k.

    Táto šifra je pomenovaná po Caesarovi, ktorý ju používal s posunutím k o 3 miesta (teda n+3) v abecede pri komunikácií s jeho generálmi počas vojenských operácií.

    20. storočie

    Významný rozvoj v kryptografii nastal začiatkom 20. storočia, keď došlo k vynájdeniu a zavedeniu telegrafu.

    V roku 1917 bol vynájdený prvý bezpečný kryptosystém Vernam, ktorý bol postavený na ďalšom type šifier – prúdovej šifre.

    Obdobie do konca 50-tych rokov je charakteristické hlavne používaním zložitých mechanických a elektromechanických šifrovacích strojov.

    Veľký pokrok v kryptografii nastal hlavne počas I. a II. svetovej vojny, keď sa šifrovanie stalo veľmi dôležitou disciplínou.

    Medzi asi najznámejší príbeh a medzi najvýznamnejšie šifrovacie prístroje tej doby patrila Enigma. Prístroj používaný Nemcami počas druhej svetovej vojny, ktorý dlhý čas predstavovala skutočne „tvrdý oriešok“.

    Nemci verili, že táto šifra je bez kľúča neprelomiteľná. Šifru však prelomili poľskí matematici Marian Rejewski, Henrik Zygalski a britský matematik Alan Turing.

    Práca Alana Turinga je považovaná za moderný počiatok doby počítačov ako takej. V roku 1932 Rejewski rozkódoval jeden z jednoduchších typov Enigmy.

    Bez jeho práce, by aj Alanovi Turingovi, trvalo rozkódovanie Enigmy príliš dlho a stalo by to mnoho spojeneckých životov.

    Novší typ Enigmy (tzv. ponorková Enigma) bola rozkódovaná aj vďaka šťastnej náhode, keď bola zajatá nemecká ponorka, ktorá mala na svojej palube jeden prístroj Enigma.

    Skôr, ako ju Nemci stihli zničiť sa dostala do rúk Angličanom, a tí konečne rozlúštili „záhadu neprelomiteľného kódu“ šifrovacieho stroja Enigma.

    Kryptografia v kryptomenách

    Väčšina kryptomien si samozrejme nezakladá na odosielaní tajných zašifrovaných správ. Všetky informácie týkajúce sa transakcií, ako v prípade Bitcoinu, sú verejné, a preto nie je potrebné zasielať medzi zúčastnenými stranami „skryté správy“.

    Niektoré novšie meny ako Monero alebo ZCash sa v skutočnosti pokúšajú skryť aj podrobnosti o transakciách a používajú kryptografiu v tradičnejšom slova zmysle, aby tieto informácie skryli.

    Niektoré z nástrojov, ktoré boli vyvinuté pre tradičnú kryptografiu, majú aj iné užitočné funkcie. Dve najdôležitejšie z nich sú hešovanie (hashing) a digitálne podpisy.

    Napriek tomu, že ani jedna z nich nezahŕňa odosielanie „skrytých správ“, sú stále považované za formy kryptografie. Práve toto sú princípy, bez ktorých by sa kryptomeny len ťažko zaobišli. Poďme si ich predstaviť bližšie.

    Hešovanie

    Hešovanie, alebo tiež hashing či hash funkcia sa používa na efektívnu kontrolu integrity údajov.

    Jedná sa o spôsob, ako zobrať veľké množstvo rôznych údajov (vstupné dáta označíme x) a jednoducho ich reprezentovať ako jeden reťazec znakov vždy rovnakej, vopred stanovenej dĺžky. Takýto reťazec generuje práve spomínaná hash funkcia (tú si označíme H(x)).

    Aby táto funkcia bola efektívna, musí spĺňať tri dôležité vlastnosti:

    • Rýchlosť transformácie: Funkcia rýchlo spočíta zo vstupu x výstup H(x).
    • Rozloženie výstupov: Funkcia musí distribuovať výstupy rovnomerne v celom obore hodnôt, teda produkuje málo kolízii.
    • Lavínovosť: Vytvorený hash musí natoľko závisieť na každom bite vstupu, že aj jeho malá zmena rapídne ovplyvní výstup.

    V kryptografii a rovnako aj pri kryptomenách sa používajú tzv. kryptografické hešovacie funkcie.

    Na takýto typ hešovacej funkcie sú kladené ešte väčšie nároky, najmä na jej bezpečnosť. To z nej robí vhodného kandidáta na použitie v rozličných aplikáciách informačnej bezpečnosti, akými sú napr. autentifikácia či spomínaná integrita správ.

    Medzi najznámejšie kryptografické hešovacie algoritmy patrí MD5 (Message-digest 5) a verzie SHA algoritmu (Secure Hash Algorithm).

    Transformácia obyčajného textu ľubovoľnej dĺžky na hash pecne stanovenej dĺžky (v tomto prípade 64 znakov).

    Hash funkcií existuje veľké množstvo. Bitcoin momentálne používa algoritmus zvaný SHA-256. Ten generuje hash dĺžky 64 bajtov (teda 64 znakov). Ethereum používa hash algoritmus SHA3, konkrétne SHA3-Keccak.

    Hashing sa ďalej používa aj na udržanie štruktúry údajov v blockchainoch, ktoré uchovávajú napr. dáta o zostatkoch na účtoch (táto údajová štruktúra sa nazýva hešovací strom alebo Merkle tree).

    Tiež sa používa na kódovanie adries účtov a ako súčasť procesu kódovania transakcií medzi účtami. Hash hrá veľmi dôležitú rolu aj pri vytváraní nových coinov.

    Používa sa pri ťažbe kryptomien, teda pri generovaní matematických problémov, ktoré musia mineri vyriešiť, aby mohli emitovať nové coiny do obehu.

    Každý blok v Bitcoin sieti má svoj hash. Pomocou hashov sa v blockchaine jednotlivé bloky na seba odkazujú.

    Digitálny podpis

    Digitálny podpis je matematická schéma na overenie pravosti digitálnych správ alebo dokumentov.

    Platný digitálny podpis dáva príjemcovi dôvod domnievať sa, že správa bola vytvorená známym odosielateľom (overovanie), že odosielateľ nemôže poprieť odoslanie správy (nepopierateľnosť) a že správa nebola počas odosielania zmenená (integrita).

    Digitálne podpisy sú štandardným prvkom väčšiny kryptografických protokolov a bežne sa používajú na distribúciu softvéru, finančné transakcie, v softvéroch na správu zmlúv a v prípadoch, keď je dôležité odhaliť falšovanie alebo manipuláciu dát. Skvelé uplatnenie našli samozrejme aj v kryptomenách.

    Digitálne podpisy umožňujú osobe vziať tajnú informáciu, ktorú vlastní, a dokázať, že túto informáciu skutočne vlastní, bez toho, aby tajomstvo zverejnila.

    Kryptomeny umožňujú používateľom podpisovať peňažné transakcie s týmito digitálnymi podpismi, aby dokázali v sieti, že vlastník účtu držiaci peňažné prostriedky súhlasil s uskutočnením transakcie.

    Tieto podpisy tak ako sa používajú v kryptomenách, sa vyvinuli z tzv. kryptografie eliptickej krivky.

    To je opäť technológia, ktorá bola pôvodne používaná na vytváranie „skrytých správ“ ako súčasť tradičnej kryptografie.

    Bitcoin a Ethereum používajú pre digitálne podpisy známy algoritmus eliptickej krivky – ECDSA (Elliptic Curve Digital Signature Algorithm).

    Verejný a súkromný kľúč

    Pri digitálnych podpisoch a posielaní šifrovaných správ hrá veľmi dôležitú úlohu pár špeciálnych kľúčov. Tieto kľúče sa nazývajú verejný a súkromný alebo tiež privátny kľúč.

    Známe a často používané sú aj anglické pojmy public key a private key. S týmito pojmami ste sa určite pri kryptomenách stretli. Poďme sa ale pozrieť kde a ako presne do procesu vstupujú.

    Šifrovanie pomocou dvoch rozdielnych kľúčov spadá do oblasti kryptografie, ktorá sa nazýva asymetrická kryptografia.

    Každý účastník má teda šifrovacie kľúče dva, ktoré vytvárajú dvojicu. Súkromný kľúč sa používa (majiteľom) na dešifrovanie došlých správ a podpisovanie odosielaných správ.

    Verejný kľúč sa používa (ostatnými) na šifrovanie odosielaných správ a overenie autenticity (podpisu) došlých správ.

    Pre lepšie pochopenie toho ako to celé funguje sa pozrime na nasledujúcu ilustráciu. Je to zjednodušený náčrt toho ako funguje šifrovanie, dešifrovanie a podpisovanie správ (transakcií) nielen v Bitcoinovej sieti.

    Priebeh podpísania a overenia pravosti podpisu posielanej správy

    Uplatnením poznatkov z tohto článku vidíme, že odosielateľ posiela správu, teda nejaké dáta. Tie prejdú hashovacím algoritmom, v prípade Bitcoinu je to SHA-256.

    Výsledkom tohto procesu je hash. Ten sa ďalej zašifruje použitím privátneho kľúča odosielateľa a vznikne digitálne podpísaná správa.

    Takáto správa (transakcia) je pripravená na odoslanie do siete. Keď dorazí k prijímateľovi, ten ju dešifruje verejným kľúčom odosielateľa, a zároveň vytvorí hash zo zašifrovanej správy.

    Ak sa tieto dva hashe zhodujú, podpis je pravý. Pri kryptomenách musí byť transakcia ešte vložená do bloku a tento blok musia mineri zapísať do blockchainu. Až vtedy je samotná transakcia úplne hotová.


    Komentáre

    Najnovšie články

    Podobné články