Saznajte sve o kriptovalutama Kriptografija: kako sve to funkcionira?

U ovom ćemo vodiču duboko zaći u simetričnu i asimetričnu kriptografiju i znanost koja stoji iza kriptografije kriptovaluta.

Kriptovalute poput Bitcoina i Ethereuma koriste decentralizirani sustav za obavljanje transakcija. Budući da je cijeli postupak na mreži, postoji bojazan da bi transakcije mogle biti nestabilne i hakabilne. Ono što ćemo vidjeti u ovom vodiču je kako kriptovaluta koristi kriptografiju kako bi njihove transakcije učinile izuzetno sigurnima.

Digitalni potpisi

Koncept potpisa je jedan od najvažnijih kriptografskih alata koji se koristi u kriptovaluti. Što je potpis u stvarnom životu i koja su njegova svojstva? Zamislite papir koji ste potpisali svojim potpisom, što bi dobar potpis trebao učiniti?

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

jednostavna kriptografija

  • Trebao bi pružiti provjeru. Potpis bi trebao moći potvrditi da ste vi zapravo taj potpis.
  • Trebao bi biti ne-falsifikovan. Nitko drugi ne bi smio krivotvoriti i kopirati vaš potpis.
  • Neodbacivanje. Ako ste svojim potpisom nešto potpisali, onda to ne biste trebali moći vratiti ili tvrditi da je to učinio netko drugi umjesto vas.

Međutim, u stvarnom svijetu, bez obzira na to koliko je potpis zamršen, uvijek postoje šanse za krivotvorenje i ne možete zaista provjeriti potpise pomoću jednostavnih vizualnih pomagala, vrlo je neučinkovit i nepouzdan.

digitalni potpisi

Kriptografija nam daje rješenje za to pomoću “digitalnih potpisa” što se vrši pomoću “ključeva”. Pa, što su ključevi? A kako se koriste u blockchainu? Prije nego što ih istražimo, važno je znati više o osnovnoj kriptografiji.

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

Što je kriptovaluta kriptografija?

Kriptografija je metoda korištenja naprednih matematičkih principa u pohrani i prijenosu podataka u određenom obliku tako da ih mogu čitati i obrađivati ​​samo oni kojima je namijenjena. Kriptografiju ljudi koriste tisućama i tisućama godina za prenošenje poruka bez otkrivanja. Zapravo, najranija uporaba kriptografije viđena je u grobnici iz Starog kraljevstva u Egiptu oko 1900. pne. Kriptografija postoji u modernom društvu na ovaj ili onaj način.

Šifriranje je jedan od najkritičnijih alata koji se koristi u kriptografiji. To je sredstvo pomoću kojega se poruka može učiniti nečitljivom za nenamjernog čitatelja, a mogu je pročitati samo pošiljatelj i primatelj. U modernoj tehnologiji postoje tri oblika šifriranja koja se široko koriste: simetrična kriptografija, simetrična kriptografija i raspršivanje.

Simetrična kriptografija

Simetrična kriptografija najranija je poznata kriptografska metoda koja je poznata čovjeku. Koncept je vrlo jednostavan i ako bismo ga podijelili na korake, ovako će izgledati:

  • Imate poruku M koju želite poslati svom prijatelju.
  • Šifrirate poruku ključem i dobivate tekst šifre C.
  • Vaš prijatelj dobiva vaš tekst šifre C.
  • Zatim dešifrira tekst šifre koristeći isti ključ za dohvaćanje poruke M.

Ako bismo prikazali vizualni prikaz procesa, ovako će izgledati.

Kredit za sliku: SSL2BUY

Dvije su vrste simetrične kriptografije:

  • Stream šifre.
  • Blok šifre.

Što su strujne šifre?

Stream šifra u osnovi znači upotrebu fiksnog ključa koji zamjenjuje poruku pseudoslučajnim nizom znakova. To je u osnovi šifriranje svakog slova jedno po jedno.

U ovom ćemo vodiču razgovarati o 3 vrste stream šifri kako bismo vam dali ideju o tome kako stream stream šifre rade:

  • Jednokratna podloga s abecedama.
  • Jednokratna podloga s XOR vratima.
  • Registar linearnog pomicanja povratnih informacija.

Jednokratna podloga s abecedama

Za ovu enkripciju trebamo imati ključ koji ima isti broj znakova kao i poruka i mora se koristiti samo jednom (otuda izraz “jednokratna pločica”).

Pretpostavimo da ćemo za ovaj primjer poslati poruku “SUSRET ME VANJSKU” našem prijatelju Bobu. Ali ne želimo da itko presreće našu poruku. Zbog toga smo Bob i mi odlučili koristiti jednokratnu podlogu koja ide ovako:

“B D U F G H W E I U F G W”

Kao što vidite, jastučić ima jednak broj znakova kao i poruka, tj. 13.

Ovo je vrlo jednostavan primjer jednokratne podloge, mi je koristimo jer smatramo da je to najbolji primjer za razumijevanje ove taktike.

Sad, još jedna stvar koju trebate uzeti na znanje, svaka abeceda će tijekom postupka biti zamijenjena svojim numeričkim ekvivalentom.

Numeričko mapiranje ide ovako:

Znanost koja stoji iza kriptografije kriptovaluta

Tijekom postupka bit će potrebno 6 podataka koji su: U osnovi, numerički ekvivalent svake abecede. Ok, sad kad smo izgradili temelje, prijeđimo na stvarni proces.

  • Izvorna poruka (OM): Izvorna poruka kroz koju prolazimo. U ovom slučaju “SUSRET ME VANJSKIM”.
  • Numerička izvorna poruka (NOM): Numerički ekvivalent izvorne poruke,
  • OTP: Jednokratni jastučić.
  • Numerički OTP (NOTP): Numerički ekvivalent OTP-a.
  • NCT: Tekst numeričke šifre koji je NOM + NOTP mod 26
  • CT: Tekst šifre koji je abecedni ekvivalent brojevima u NCT-u.

Dakle, moramo poslati poruku “SUSRET ME VANJSKU” i trebamo upotrijebiti jednokratnu pločicu za njezino šifriranje.

Proces šifriranja

Dakle, krenimo od stavljanja poruke u OM

Znanost iza kriptografije valuta

Stavili smo poruku “SUSRET ME VANJSKU” u OM redak.Ok, pa što se ovdje dogodilo?

Dalje, koristili smo tablicu numeričkih preslikavanja kako bismo dobili numerički ekvivalent svake abecede. Dakle, uputimo se na tablicu mapiranja i pogledajte što ćemo dobiti:

Znanost iza kriptografije valuta

U red OTP stavljamo ključ koji smo već dobili, a to je, u slučaju da ste zaboravili, “B D U F G H W E I U F G W”. To je samo jednostavna zamjena, uzet ćemo ove vrijednosti i staviti je u NOM redak.

Sada smo u retku NOTP koristili istu tablicu mapiranja brojeva i pronašli ekvivalentne numeričke vrijednosti ključa koje su:

“1, 3, 20, 5, 6, 7, 22, 4, 8, 20, 5, 6, 22”.

U novom retku, za tekst numeričke šifre (NCT), dodajemo NOTP i NOM i modiramo rezultat za 26 da bismo dobili NCT.

Dakle, konačno se poruka “MEET ME OUTSIDE” pretvara u pseudo-slučajni niz znakova “N H Y Y S L K Y B M N J A”. Tako ćete pronaći vrijednosti za NCT, a zatim koristite tablicu mapiranja i pronađite odgovarajuće abecede koje su: “N H Y Y S L K Y B M N J A”.

Tako funkcionira postupak šifriranja.

Postupak dešifriranja

Sad ćemo vidjeti kako možemo dešifrirati poruku pomoću potpuno istog ključa.

Pogledajmo podatke koje Bob ima sa sobom:

  • Ima šifriranu poruku koju je dobio od mene.
  • Ima ključ koji obojica dijelimo.
  • Ima tablicu za mapiranje kako bi pronašao numeričke ekvivalente.

Pa, kako će dešifrirati poruku pomoću ovih podataka?

  • Mapirat će numeričke vrijednosti i ključa i šifrirane poruke kako bi dobio NCT i NOTP.
  • Zatim će izračunati NOM (Numerička vrijednost izvorne poruke) radeći ovaj izračun: NOM = NCT – NOTP mod 26.
  • Pomoću tablice mapiranja dohvatit će odgovarajuće abecede.

Znanost koja stoji iza kriptografije kriptovaluta

Pa, pogledajmo kako funkcionira izračun NOM-a?

Znanost iza kriptografije valuta

Sada, ako NOM preslikamo na njegov abecedni ekvivalent pomoću tablice mapiranja, dobit ćemo:

“SUSRET ME SA VANJOM”

I upravo tako, poruka se šifrira i dešifrira pomoću istog ključa.

Jednokratna podloga s XOR vratima

XOR ili „Ekskluzivno ILI“ logička su vrata. Što su logička vrata? Logička vrata obično uzimaju 2 ulaza i daju 1 izlaz. Ulazi i izlazi su binarne vrijednosti, što znači da mogu biti 1 ili 0. XOR logička vrata uzimaju 2 binarna ulaza i daju visok izlaz SAMO kada su ulazi različiti. Što znači, ako su A i B uneseni u XOR ulaz, izlaz C bit će SAMO 1 kada A nije jednako B.

XOR vrata izgledaju ovako:

iNauka iza kriptovalute

Ljubaznošću slike: Wikimedia

Ovako izgleda XOR tablica istine:

Znanost iza kriptografije valuta

Proces šifriranja

Pretpostavimo da imate podatke u običnom tekstu koje želite poslati svojoj prijateljici Alice. Prvo ćete ga pretvoriti u binarni oblik. Pretpostavimo da je vaša poruka sljedeća: 00011110

Sada imate ključ, ključ koji dijelite s primateljem i pretpostavite da ste ključ proslijedili kroz algoritam koji vam daje ekvivalentni binarni rezultat: 01001010.

Dakle, sada kada imate ključ, ići ćete na XOR svakog odgovarajućeg pojedinačnog bita da biste dobili rezultat teksta šifre.

Cipher Text = Obični tekst XOR ključ

Dakle, ako XOR dobijete oba podatka, ključ koji ćete dobiti je:

 

Znanost iza kriptografije valuta

“01010100”

Ovo je tekst šifre koji će Alice dobiti od vas.

Postupak dešifriranja

Dakle, kako će Alice dešifrirati vašu poruku i doći do izvorne?

Ovo su podaci koje ona ima:

  • Tekst šifre
  • Ključ.

Pa što će ona učiniti? Jednostavno je.

Jednostavno će XOR-om staviti ključ i tekst šifre i dohvatit će izvornu poruku! Pogledajte i sami:

Znanost iza kriptografije valuta

I upravo tako, ona će dohvatiti izvornu poruku.

Registar linearnog pomaka povratnih informacija

Što je registar linearnog pomicanja povratnih informacija? To je funkcija čiji budući izlaz u potpunosti ovisi o njezinom ranijem (ili trenutnom) stanju. To će postajati jasnije kako nastavite čitati, tako da se nemojte uplašiti!

Ideja ovog stila stream šifre je unaprijed odrediti ključ s vašim primateljem, a to će biti funkcija registra linearnog pomicanja povratne sprege koju ćete vi koristiti za određivanje koda. Pretpostavimo da ste razgovarali sa svojim prijateljem Bobom i utvrdili da je ovo formula s kojom oboje želite ići (za ovu formulu zaslužan Daniel Rees s Youtubea).

  • E (i + 3) = E (i + 1) + 2E (i + 2) mod 26.

Pretpostavimo i da ste prije slanja ove poruke vi i Bob utvrdili da je E (1) = 2 i E (2) = 4.

Sada možete vidjeti da u ovoj jednadžbi svi budući izlazi ovise o prethodnim izlazima.

Dakle, pretpostavimo da je poruka koju želite poslati Bobu “SUSRET ME”. Budući da postoji 6 znakova, moramo odrediti 6 vrijednosti E () da djeluju kao ključ. Već smo unaprijed odredili vrijednosti E (1) i E (2). Sada moramo izračunati E (3) do E (6).

  • E (3) = E (1) + 2E (2) mod 26 = 10.
  • E (4) = E (2) + 2E (3) mod 26 = 24.
  • E (5) = E (3) + 2E (4) mod 26 = 6.
  • E (6) = E (4) + 2E (5) mod 26 = 10.

Dakle, sad kad imamo ključeve, krenimo s dešifriranjem.

Proces šifriranja

Dakle, sada kada imamo ključ i poruku, kreirajmo tablicu:

Znanost iza kriptografije valuta

Da biste dobili tekst numeričke šifre, dodajte ključ i odgovarajuću numeričku vrijednost abecede koju mapirate iz ove tablice koju smo već vidjeli prije:

Znanost iza kriptografije valuta

Sada, da biste dobili numeričku vrijednost tekstova šifre, dodajte ključ i numeričku vrijednost izvorne poruke i moda s 26.

Tako dobivate:

Znanost iza kriptografije valuta

Sada ponovo upotrijebite tablicu mapiranja da biste pronašli odgovarajuće abecede i dobit ćete “OIORSO”. To je šifrirana poruka.

Dešifriranje ove poruke jako je teško pogotovo ako nemate ključ. Stručnjak bi ipak mogao uočiti obrazac. Trebat će vam računala da biste navukli ovaj kod.

Primjeri strujnih šifri koje se koriste u stvarnom svijetu.

Šifra Rivest 4 RC4

  • Koristi se u WEP aka žičanom ekvivalentnom protokolu za sigurnost bežične mreže.
  • Također opcija u TLS / HTTPS za šifriranje web prometa.
  • Budući da je pukao toliko puta, više se ne preporučuje za upotrebu.

A5 / 1

  • Koristite za šifriranje GSM podataka (Global System for Mobile communication) telefonskih podataka i komunikacije.
  • Edward Snowden u svojim je curenjima otkrio da NSA rutinski nastavlja razbijati GSM radi nadzora, tako da to više nije siguran način šifriranja.

Dakle, to je uglavnom sve o stream šiframa, vrijeme je da prijeđemo na blokiranje šifri.

Što su blok šifre?

Blok šifre su oblik simetrične kriptografije koji koristi ključ fiksne duljine za šifriranje bloka fiksne duljine. Počnimo s provjerom vrlo česte zamjenske šifre koju ste već morali vidjeti:

Znanost iza kriptografije valuta

Dakle, ako bi vam netko rekao da je dobio poruku koja kaže “EFBD” i želi da je dešifrirate i umjesto nje dobijete izvornu poruku, kako ćete to učiniti?

Jednostavno ćete vidjeti tablicu, vidjeti koje abecede kojima odgovaraju, a zatim jednostavno zamijeniti, zar ne? Dakle, “EFBD” je šifra za “FACE”.

Sada provjerimo čisti tekst i šifrirani tekst i usporedimo ih:

  • Ravan: A B C D E F
  • Šifra: F A B C D E

Dakle, kao što vidite, tekst šifre je u osnovi obični tekst pomaknut udesno za jednim. Dakle, u ovom konkretnom slučaju:

  • EFBD = LICE pomaknuto za 1

To je, u biti, ono što je blok šifra. S obzirom na ulazni običan tekst i ključ, on može generirati jedinstveni tekst šifre. Još jedna stvar koja je izuzetno važna i treba je napomenuti. S obzirom na ključ, svatko može dešifrirati tekst šifre iz običnog teksta i obrnuto. Primjeri koje ovdje dajemo krajnje su pojednostavljeni, blok šifra se događa s VELIKIM komadima podataka.

Ako tražimo vizualni prikaz blok šifre, ovako će izgledati:

blok šifra visual

Još jedno zanimljivo svojstvo blokovske šifre je da ako se ključ promijeni, to prilično drastično mijenja tekst izlazne šifre. Napravimo test s podacima koje imamo trenutno.

Znanost iza kriptografije valuta

Sada imamo 3 tipke za 3 različita teksta šifre.

  • U šifriranom tekstu 1 jednom se pomičemo udesno.
  • U šifriranom tekstu 2 dva puta se pomičemo udesno.
  • U tekstu šifre 3 tri puta se pomičemo udesno.

Pa, pogledajmo što će se dogoditi kada raščlanimo ulaz “FACE” kroz sve ove različite šifre.

  • Kad je tipka = 1, FACE postaje EFBD
  • Kad je tipka = 2, FACE postaje DEAC
  • Kad je tipka = 3, FACE postaje CDFB

Kao što vidite, tekst izlazne šifre mijenja se svaki put kad promijenite ključ. U primjeru imamo vrlo malo podataka, zamislite da to radite s VELIKIM količinama podataka, izlaz će se drastično mijenjati svaki put.

Postoje dva pravila za blok šifru koja se smatraju valjanima:

  • Morate biti u stanju izvesti obični tekst iz teksta šifre i obratno ako imate ključ.
  • Funkcija mora biti učinkovito izračunata.

Postoji još jedna važna stvar koju morate uzeti na znanje kada je riječ o blokiranju šifri. Veličine blokova su fiksne pa ulazni obični tekst mora biti iste veličine kao i veličina bloka. Ako je ulaz veći od bloka, potrebno ga je razbiti da bi se dobila točna veličina, ako je ulaz manji, tada ga treba popuniti nekim neželjenim podacima kako bi odgovarao veličini bloka.

Primjeri blok šifri

Standard šifriranja podataka (DES)

  • Veličine blokova od 64 bita.
  • Veličina ključa 56 bita.
  • Je li vladin standard bio do 2001. godine.

Napredni standard šifriranja (AES)

  • 128-bitna veličina bloka.
  • 128, 192 ili 256-bitna veličina ključa.
  • U današnje vrijeme smatra se vrlo sigurnim i široko korištenim

Prednost simetrične kriptografije

Iako simetrična kriptografija ima nekih glavnih problema (o čemu ćemo malo raspraviti), najveća prednost simetrične kriptografije je što zahtijeva vrlo malo režije. Samo trebate podijeliti jedan ključ s primateljem da biste nastavili s ovom metodom.

Čak se i sada puno softvera koristi ovom metodom u kombinaciji s asimetričnom kriptografijom za pružanje brzih i učinkovitih usluga šifriranja / dešifriranja.

Problemi sa simetričnom kriptografijom

Iako su režijski troškovi znatno manji, puno je problema sa simetričnom kriptografijom.

Problem 1: Zajednički ključ

Činjenica da se šifriranje i dešifriranje vrši jednim ključem velik je problem. Prvo i najvažnije, dijeljenje ključa mora se obaviti na vrlo siguran način, ako netko dohvati ključ, svi će vaši podaci biti ugroženi.

Problem 2: Nije skalabilan

Još jedan ogroman problem simetrične kriptografije je taj što uopće nije skalabilna. Pretpostavimo da Alice vodi informacijski centar i podatke šalje simetričnom kriptografijom ključa. U redu je ako ima posla samo s 3-4 klijenta. No, s najviše klijenata koje dobije, s više jedinstvenih javnih ključeva morat će se nositi i brinuti. Na kraju će postati previše za rukovanje.

Zbog ovih ranjivosti kriptografije simetričnog ključa bilo je potrebno rješenje, a u 1970-ima je konačno došlo.

Proboj Jamesa Ellisa

1970. godine britanski matematičar i inženjer James Ellis smislio je ideju koja se temeljila na jednostavnom konceptu. Što ako su šifriranje i dešifriranje inverzne operacije temeljene na 2 različita ključa? U tradicionalnoj kriptografiji, tj. Simetričnoj kriptografiji, poruka je trebala biti poslana zajedno s ključem namijenjenoj osobi da dešifrira poruku, ali to je predstavljalo vrlo stvarnu ideju napadača koji se dočepa ključa.

Ellis je predvidio da primatelj poruke ne može biti pasivna strana, a morali su imati “lokot” i “ključ” za sebe. Lokot je mogao biti poslan svima na svijetu, ali ključ je morao biti privatan. Dakle, svatko može primatelju poslati poruku zaključavši ga lokotom, a budući da ključ ima samo prijemnik, samo ga on može otvoriti.

Ovo je bila teorija, trebala je postojati praktični oblik te teorije, a to je došlo zbog dva briljantna principa:

  • Funkcija poklopca vrata.
  • Razmjena ključeva Diffie – Hellman.

Koja je funkcija stražnjeg vrata?

Funkcija zatvaranja, poznata kao jednosmjerna funkcija, je funkcija u kojoj je lako prijeći iz jednog stanja aka domene u drugo stanje aka raspona, ali je teško vratiti se iz raspona u domenu ako nemate znanja o ključ koji se naziva funkcija vrata.

Dijagram je prikazan ovako:

matematička zamka vrata

Kredit za sliku: Cornell.edu

Funkcije stražnjeg vrata temelje se na ideji tipki. Pri čemu se javni ključ (K) koristi za prelazak s domene na raspon. Da bismo se vratili na domenu iz raspona, moramo koristiti funkciju trapdoor koja je također poznata i kao privatni ključ (k). Također se podrazumijeva da su privatni ključ i javni ključ matematički povezani jedni s drugima, a također se moraju međusobno povezati preko druge funkcije vrata (f), tako da je K = f (k), tako da privatni ključ nije moguće određuje javni ključ.

Jednostavan primjer toga je množenje velikih brojeva. Pretpostavimo da imate dva broja 171 i 118, onda je jednostavno odrediti da je 171 * 118 = 20178. Međutim, ako samo znate 20178, onda vam je teško odrediti koji su to bili početni brojevi, osim ako kod sebe nemate ključ, u u ovom slučaju znanje samo jednog od dva broja, da bi se odredio drugi.

Što je Diffie-Hellmanova razmjena ključeva?

Pretpostavimo da postoje dvije osobe Alice i Bob i žele napadati banku. Međutim, oni su s obje strane banke i međusobno mogu komunicirati samo putem zajedničke linije koju banka prisluškuje.

Nešto kao ovo.

Imajte na umu da će sve što Alice i Bob budu govorili jedni drugima prisluškivati. Pa, kako se oboje mogu odlučiti za datum napada na banku, a da banka to ne sazna i da Alice i Bob izričito ne razmijene te podatke?

Na ovu zagonetku može odgovoriti razmjena ključeva Diffie-Hellman; to je koncept kojim dvije strane mogu doći do tajnih podataka bez da ih dijele.

Da bismo razumjeli kako Diffie-Hellman djeluje, moramo se poslužiti jednom od najpoznatijih primjena ove teorije, tajnom razmjenom boja.

Zbog toga postoje 3 stvari koje morate imati na umu:

  • Alice i Bob javno se slažu da će žuta biti uobičajena boja koju će oboje koristiti.
  • Alice tada potajno drži za sebe da će također koristiti narančastu zajedno sa žutom.
  • Bob potajno odlučuje da će zajedno s žutom koristiti i akvu.

Prva faza

Budući da je javno objavljeno da će žuta biti boja izbora:

  • Banka: Ima žuto
  • Alice: Ima žuto
  • Bob: Ima žuto

Druga faza

Sada se Alice miješa u svojoj privatnoj boji zvanoj narančasta sa žutom i dobiva kompozitnu boju koju ćemo nazvati CA.

U isto vrijeme, Bob miješa svoju privatnu akva boju sa žutom i stvara kompozitnu boju CB.

Dakle, na kraju druge faze ovako izgledaju stvari:

  • Banka: Žuta
  • Alice: CA
  • Bob: CB

Treća faza

Sada će Alice i Bob jedni drugima slati svoje boje, koje će banka odmah prisluškivati. Međutim, banka se sada suočava s problemom.

Kombinacije boja su glavna vrata.

Iako je nekome lako kombinirati dvije boje i generirati treću, nemoguće je odrediti prve dvije boje iz dane treće boje. Dakle, banka će se domoći CA i CB, ali neće imati pojma koje su boje ušli u njezino stvaranje.

Dakle, ovo sada izgledaju ovako:

  • Banka: Žuta, CA, CB.
  • Alice: CB
  • Bob: Kalifornija.

Faza četvrta

Sada će Alice i Bob ponovno umiješati svoje tajne boje u smjesu koju su dobili od druge osobe, pa će sada oboje imati mješavinu žute, narančaste i akva boje koja je smeđa. Banka će, međutim, imati samo CA i CB jer nemaju pojma koje su tajne boje.

Dakle, ovako izgledaju stvari sada:

  • Banka: žuta, CA i CB.
  • Alice: Smeđa.
  • Bob: Smeđa.

I tu je trik, ne otkrivajući svoje tajne boje, i Bob i Alice imaju smeđu boju, iako smeđu nikada nisu izričito razmijenili.

Ovako izgleda dijagram cijele ove razmjene:

Ljubaznost slike: Wikipedia

Ovo je prikaz Diffie-Hellmanove razmjene, ali bila su potrebna matematička sredstva kako bi se osiguralo da i tu mogu biti praktične primjene. Iz tog razloga je korištena funkcija modula.

Matematički oblik Diffie-Hellmanove razmjene

Pretpostavimo da postoji generator g za konačno polje veličine n. I u tom polju odabiremo dvije slučajne vrijednosti a i b. Napadaču će biti teško odrediti g ^ ab s obzirom samo na g, g ^ a i g ^ b. Ovo je stanje koje aktivira funkciju poklopca vrata. S obzirom na ovaj uvjet, dvije strane mogu razmjenjivati ​​poruke i donijeti isti zaključak bez izričitog međusobnog komuniciranja.

Dakle, matematički se to događa.

Alice odabire slučajnu vrijednost “a” iz polja n i određuje poruku M1 takvu da:

  • M1 = g ^ a mod n.

Slično tome, Bob odabire slučajnu vrijednost “b” iz polja n i stvara poruku M2 takvu da:

  • M2 = g ^ b mod n.

I Alice i Bob sada mogu međusobno prenijeti poruku.

Alice sada određuje posebnu poruku K radeći sljedeće:

  • K = M2 ^ a mod n = g ^ ab mod n.

Bob sada određuje istu poruku K prema:

  • K = M1 ^ a mod n = g ^ ab mod n.

Dakle, i Alice i Bob došli su do istog zaključka bez izričitog dijeljenja ovih podataka.

Ova Diffie-Hellmanova razmjena ključeva bila je neprocjenjiva u formiranju asimetrične kriptografije:

Što je asimetrična kriptografija?

Asimetrična kriptografija koristi dva ključa, javni i privatni za šifriranje i dešifriranje određenih podataka. Upotreba jednog ključa poništava upotrebu drugog.

Dijagramski prikaz izgleda ovako:

kriptografija simetričnog ključa

Ljubaznost slike: SSL2BUY

Postoje dvije stvarne upotrebe asimetrične kriptografije koje ćemo razmotriti u ovom vodiču, a obje su važne iz vlastitih razloga:

  • Algoritam Rivest-Shamir-Adleman aka RSA.
  • Kriptografija eliptične krivulje.

Što je RSA algoritam?

RSA algoritam je najčešće korišten i najpopularniji asimetrični kriptografski algoritam u povijesti. Ime je dobio po profesorima s MIT-a Rivestu, Shamiru i Adlemanu koji su otkrili ovaj algoritam. E sad, kako to djeluje? Ideja je izvedena iz otkrića koja je Diffie-Hellman imao.

Ovo su varijable s kojima ćemo raditi:

Pretpostavimo da imate tajnu poruku “m”. “M” podignut u moć slučajnog broja e, a zatim će modul onog sa slučajnim brojem N dobiti tekst šifre c.

U osnovi. m ^ e mod N = c

Obratite pažnju, LAKO je izvesti ovu funkciju da biste dobili izlaz c ALI s obzirom na samo c, e i N teško je dobiti poruku „m“. Trebat će puno pokušaja i pogrešaka. Ovo je jednosmjerna trapdoor funkcija koju ćemo primijeniti za pronalaženje “m”.

Ali sada je ideja funkcije “stražnjeg vrata” imati ključ koji će povratni postupak (dešifriranje) za primatelja učiniti jednostavnim. Dakle, za to ćemo morati pronaći slučajnu varijablu “d” koja će omogućiti ovaj postupak:

  • c ^ d mod N = m.

Sad imajte na umu, c = m ^ e mod N, pa na zamjenu.

  • m ^ e ^ d mod N = m.

ILI

  • m ^ ed mod N = m

Dakle, u gornjim jednadžbama:

  • Javni ključ = e i N.
  • Privatni ključ = d.

Sada, prije nego što uopće počnemo vidjeti metodu koja stoji iza ludila, napravimo jednostavan izračun kako bismo vidjeli kako funkcionira cijeli proces. (Za ovaj primjer pokličite youtube kanal Anthonyja Vancea).

Pretpostavimo da je poruka koju morate poslati 42. Drugim riječima, m = 42.

Uz to:

  • e = 17.
  • N = 3233.
  • d = 2753

Proces šifriranja

c = m ^ e mod N.

Koristeći jednostavnu zamjenu:

c = 42 ^ 17 mod 3233 = 2557.

Dakle, šifrirani tekst je 2557.

Postupak dešifriranja

Učinimo c ^ d mod N.

2557 ^ 2753 mod 3233

To nam daje vrijednost m koja je 42.

Genije nije to?

Sad, sjetite se, kad smo razgovarali o funkcijama vrata, zaključili smo da privatni i javni ključ moraju biti matematički izvodi jedni od drugih na način da:

F (privatni ključ) = javni ključ, pri čemu je F () još jedna zadnja funkcija.

Bilo kome bi trebalo biti teško odrediti privatni ključ iz javnog ključa. Zapravo, trebalo bi biti toliko teško da će trebati najsnažnijim računalima na svijetu desetljeća u desetljećima da izvuku jedno iz drugog.

Da bismo odgovorili na ovu zagonetku, vraćamo se stoljećima unatrag i susrećemo svog sljedećeg genija Euclida.

Euklid i glavno faktoriziranje

Euclid je prije stoljeća utvrdio da bilo koji broj > 1 se može zapisati kao umnožak prostih brojeva.

  • Npr. 15 se može zapisati kao 5 * 3.
  • 255 se može zapisati kao 5 * 17 * 3.

Vratimo se na naše dvije jednadžbe:

C = m ^ e mod N.

Ovdje je N ključ u funkciji vrata. Iako je N možda javno poznato, teško bi bilo odrediti primarne čimbenike koji čine broj N. Ako znate osnovne čimbenike, onda je dječja igra otkriti proizvod N.

Npr. Pomoću web preglednika možete pomnožiti dva ogromna broja i pronaći proizvod za manje od sekunde:

Znanost iza kriptografije valuta

Za izračun je trebalo manje od sekunde, 0,22 sekunde. I što je veći broj, trebat će malo više vremena, ali svejedno, izračuni će se vršiti super brzo.

Međutim, ako unesete ogroman broj i zatražite od računala da pronađe svoje glavne čimbenike, tada će trebati dani, mjeseci, pa čak i godine da pronađe glavne čimbenike.

Ovo je funkcija vrata koja su kriptografi koristili za određivanje vrijednosti N. To je u osnovi srž trika.

To je ono što morate učiniti da biste koristili RSA algoritam:

  • Prvo generirajte veliki slučajni prosti broj P1.
  • Generirajte drugi veliki slučajni prosti broj P2.
  • Pronađite N izračunavanjem P1 i P2.
  • Sakrijte vrijednosti P1 i P2 i učinite N javnim.
  • N bi trebao biti ogroman broj i trebat će najsofisticiranijim strojevima na svijetu desetljeća da pronađu vrijednosti P1 i P2.
  • Dakle, da rezimiramo, N je stražnja vrata, a njegovi glavni faktori P1 i P2 ključevi su vrata.

Ok, sad smo utvrdili kako se izračunava N i stražnji otvor koji u njemu radi. Ali još uvijek nismo utvrdili vrijednost “e” i “d” i još uvijek nismo vidjeli kako je privatni ključ izveden iz javnog ključa. Da bismo generirali sve ove preostale vrijednosti, moramo pronaći funkciju koja ovisi o poznavanju faktorizacije N. A za to moramo posjetiti našeg sljedećeg genija, Leonharda Eulera.

Euler i lomljivost

1760. švicarski matematičar Leonhard Euler izvodio je neke studije kršenja staza. Proučavao je prirodu brojeva i preciznije lomljivost brojeva koje je nazvao phi funkcija.

U osnovi je dan phi (N) gdje je N slučajni cijeli broj, vrijednost N bit će broj brojeva između 1 i N koji ne dijele zajedničke čimbenike s N.

Dakle, ako je N 8 tada:

Brojevi između 1-8 su: 1,2,3,4,5,6,7 i 8.

Među tim brojevima, samo 1,3,5 i 7 ne dijele nikakve čimbenike s 8, osim 1.

Značenje, phi (8) = 4.

Sada je izračunavanje funkcije phi teško, osim u jednom slučaju. Da biste to znali, pogledajte sljedeći grafikon. Grafikon prati raspodjelu vrijednosti phi preko cijelih brojeva do 1000.

Znanost iza kriptografije valuta

Ljubaznošću slike: Khan Academy

Vidite onu ravnu zelenu crtu na vrhu koja je povoljno raspoređena? To je Phi osnovnih brojeva. Budući da je definicija prostog broja da je on sam po sebi neupotrebljiv, za bilo koji prosti broj p phi (p) = p-1.

Pogledajmo to u praksi. Pretpostavimo da imate prost broj 7.

Brojevi između 1 i 7 su: 1,2,3,4,5,6,7.

Jedini broj koji dijeli faktor sa 7 u ovoj seriji je … 7!

Dakle, phi (7) = 6.

Slično tome, ako biste pronašli phi velikog prosteg broja, recimo 541, tada:

Phi (541) = 541-1 = 540.

Postaje vrlo jednostavno izračunati phi za prost broj. A ovo dobiva, još više, na značaju ako uzmete u obzir multiplikativnu prirodu phi funkcija. Kakva je multiplikativna priroda phi funkcija?

Za bilo koja dva broja A i B:

Phi (A * B) = phi (A) * phi (B).

Vratimo se sada algoritmima. Alice je odredila dva velika prosta broja P1 i P2 i odredila broj N radeći P1 * P2.

Dakle, koristeći multiplikativno svojstvo phi funkcija:

Phi (N) = phi (P1) * phi (P2).

ILI

Phi (N) = (P1-1) * (P2-1).

I upravo tako, otkrili smo funkciju vrata za fi. Ako znamo primarne čimbenike N, onda je lako izračunati phi (N).

Za npr. broj 77 ima proste faktore 7 i 11.

Dakle, phi (77) = (7-1) * (11-1) = 60.

Postaje vrlo lako kad znate osnovne čimbenike N.

Sada je bio potreban posljednji dio matematičkog čarobnjaštva. Imamo funkciju phi i imamo modularne funkcije potenciranja koje smo prethodno odredili, moramo spojiti ove dvije u jednu urednu jednadžbu.

I zbog toga se još jednom obraćamo Euleru za pomoć.

Eulerov teorem

Eulerov teorem navodi da:

Za bilo koja dva broja m i n koja ne dijele faktor:

m ^ phi (n) ≡ 1 mod n

Što znači, za bilo koja dva broja m i n, sve dok ne dijele faktor, m podignut na phi (n) podijeljen s n uvijek će ostaviti ostatak od 1. Pogledajmo ovo u primjeru.

Pretpostavimo da je m = 8 i n = 5.

Phi (5) = 4

Dakle, 8 ^ 4 = 4096.

Zamjenjujući to u jednadžbi Eulerovog teorema:

4096 ≡ 1 mod 5 vrijedi jer 4096 dijeljenjem s 5 ostavlja ostatak 1.

Sada jednadžbu: m ^ phi (n) ≡ 1 mod n treba malo izmijeniti prije nego što dobijemo konačno rješenje.

Modifikacija # 1

1 ^ k = 1 za sve k.

Dakle, imajući ovo na umu, ako u m ^ phi (n) ≡ 1 mod n pomnožimo eksponent phi (n) s bilo kojim brojem k, konačno rješenje bit će 1 ^ k što je još uvijek 1.

Ovo modificira jednadžbu ovako:

m ^ k * phi (n) ≡ 1 mod n

Modifikacija # 2

Za sve m, m * 1 = m.

Dakle, u našoj modificiranoj jednadžbi, ako pomnožimo obje strane s m, dobit ćemo:

m * m ^ k * phi (n) ≡ m * 1 mod n

Što postaje:

m ^ k * phi (n) +1 ≡ m mod n

Ovo je konačni oblik naše jednadžbe.

Prije nego što nastavimo, vratimo stare jednadžbe kako bismo osvježili pamćenje:

  • c = m ^ e mod N.
  • m = c ^ d mod N
  • m ^ e * d mod N = m

Sada, provjerite posljednju jednadžbu ne izgleda li slično našoj novoj izmijenjenoj jednadžbi:

m ^ k * phi (n) +1 ≡ m mod n

I ovo je proboj.

Usporedbom dviju jednadžbi dobivamo:

e * d = k * phi (n) + 1

KONAČNO imamo jednadžbu u kojoj vrijednost e i d ovisi o phi (n).

Budući da već znamo vrijednost e, lako je izračunati d, privatni ključ, SAMO ako je poznato faktoriziranje N (što je tajna koju je Alice zadržala za sebe).

Dakle, d = (k * phi (n) + 1) / e.

Ovo je zadnja vrata koja će poništiti šifriranje izvršeno njezinim privatnim ključevima e i n.

Primjer da biste vidjeli kako ovo sve funkcionira

Pretpostavimo da Bob i Alice razmjenjuju poruke.

Bob želi poslati poruku M Alice gdje je M = 89.

Sada, Alice treba generirati svoje ključeve.

Ona koristi za prost broj p1 i p2 gdje:

P1 = 53.

P2 = 59.

N = P1 * P2 = 53 * 59 = 3127.

Phi (N) = Phi (P1) * Phi (P2) = (P1 – 1) * (P2 – 1) = 52 * 58 = 3016

Sada ona treba generirati vrijednost e koja neće imati faktore s vrijednošću phi (N).

Dakle, ona odlučuje e = 3.

Sada će generirati svoj privatni ključ d:

d = (k * phi (N) + 1) / e

Uzimajući k = 2 dobivamo:

d = (2 * 3016 + 1) / 3 = 2011.

Sada će zaključati sve vrijednosti osim N i e koje su njezin javni ključ i znanje o ove dvije učiniti globalnim.

Bob šifrira poruku

Sad, Bob mora poslati poruku M, koja je 89, i mora izračunati tekst šifre c tako da:

c = M ^ e mod N.

Sada znamo da je: M = 89, e = 3 i N = 3127.

Dakle: c = 89 ^ 3 mod 3127 = 1394.

Zatim ga šalje Alice.

Alice dešifrira poruku

Alice dobiva tekst šifre i sve što mora učiniti je dešifrirati ga koristeći svoj privatni ključ d za koji znamo da je 2011..

Dakle, Alice radi ovaj izračun: c ^ d mod N

1394 ^ 2011 mod 3127 što je 89 aka originalna poruka M.

A ovo je RSA algoritam, najčešće korišten kriptografski algoritam

Što je kriptografija eliptične krivulje?

Kriptografija eliptične krivulje je ono što koriste bitcoin, ethereum itd. U svoje svrhe šifriranja. Pa, što je eliptična krivulja? Eliptična krivulja je bilo koja krivulja koja zadovoljava sljedeću jednadžbu:

Y ^ 2 = x ^ 3 + sjekira + b

Gdje je (x, y) točka na krivulji, a a i b su konstante.

Postoje beskonačne krivulje koje možete napraviti. Slijedi kako jedna od ovih krivulja općenito izgleda:

Znanost iza kriptografije valuta

Kredit za sliku: CSBreakdown youtube kanal

Koja su svojstva eliptične krivulje?

  • Krivulja je simetrična preko x osi.
  • Svaka linija koja prolazi kroz 2 točke na krivulji presijecat će krivulju na trećoj točki.
  • Bilo koja tangenta na krivulji presijecat će krivulju na još jednoj točki.

Izvođenje matematike na krivulji.

Svojstvo sabiranja krivulje

Pretpostavimo da postoje dvije točke na krivulji V i A. Pratimo one na krivulji i stavimo crtu kroz njih. To će presijecati krivulju na trećoj točki.

Znanost iza kriptografije valuta

Kredit za sliku: CSBreakdown youtube kanal

Treću točku nazvat ćemo X, a na krivulji ćemo je odraziti ovako:

Znanost iza kriptografije valuta

Kredit za sliku: CSBreakdown youtube kanal

Odraz X je točka koja će slučajno biti (V + A). Ovo je aditivno svojstvo eliptične krivulje.

Zanimljiva napomena. Ako dodamo dva odsjaja jedni s drugima, ako bismo na gornji grafikon dodali X i V + A, dobit ćemo beskonačnost. Razlog tome je što će linija kroz X i (V + A) presijecati krivulju u beskonačnosti.

Svojstvo množenja krivulje

Sad, što ako želimo dodati sebi broj? Pretpostavimo da imamo točku V, što učiniti da nađemo 2V? Provući ćemo tangentu kroz V i presijecati je u točki grafikona, a zatim pronaći odraz točke na krivulji. Taj odraz bit će 2V.

Znanost iza kriptografije valuta

Kredit za sliku: CSBreakdown youtube kanal

Ovo je također multiplikativno svojstvo grafa jer nalazimo točke koje su u osnovi množenje cijelog broja sa samom točkom. Sad pretpostavimo da želimo pronaći 3V. Spojit ćemo se s V i 2V, a zatim odraziti točku presjeka, ovako:

Znanost iza kriptografije valuta

Kredit za sliku: CSBreakdown youtube kanal

Vidite kako točke kruže po grafikonu? To je ono što mu daje sigurnost.

Matematička svojstva eliptične krivulje

Svojstvo # 1: Točke na krivulji tvore abelovsku skupinu

Svojstva abelovske skupine su sljedeća:

  • Imaju identitet.
  • Imaju inverze zvane refleksije.
  • Točke imaju asocijativno značenje za tri točke A, B i C na krivulji: (A + B) + C = A + (B + C).
  • Točke su zatvorene na krivulji.
  • Bodovi su komutativno značenje za dvije točke A i B. A + B = B + A.

Svojstvo # 2: Množenje na krivulji je brzo

Sva množenja izvršena na krivulji mogu se izvršiti vrlo brzo. Pretpostavimo sada da imamo točku P i želimo pronaći 100P. Umjesto da broj dodamo sebi 100 puta, možemo učiniti sljedeće:

  • Dodajte točku P sebi da biste dobili 2P.
  • Dodajte 2P i P da biste dobili 3P.
  • Dodajte sebi 3P da biste dobili 6P.
  • Dodajte sebi 6P da biste dobili 12P.
  • Dodajte 12P sebi da biste dobili 24P.
  • Dodajte 24P i P da biste dobili 25P.
  • Dodajte sebi 25P da biste dobili 50P.
  • Dodajte sebi 50P da biste dobili 100P.

Dakle, umjesto da prođete 99 koraka, cijelu stvar skraćujete na samo 8 koraka.

Svojstvo # 3: Podjela na krivulji je spora

Iako je množenje brzo, dijeljenje je vrlo sporo. Pretpostavimo da imamo Q = nP i želimo pronaći vrijednost n dijeljenjem Q s P. To zapravo ne možemo učiniti. Morat ćemo ručno prolaziti kroz brojeve jedan po jedan da bismo pronašli vrijednost koja zadovoljava jednadžbu. Zbog toga je vrlo sporo. To se naziva diskretni logaritamski problem i to je ono što krivuljama daje funkciju vrata, tj. Lako je pomnožiti n i P da se dobije Q, ali s obzirom na Q i P nemoguće je dobiti n.

Eliptična krivulja razmjene Diffie-Hellmanovih ključeva

Dakle, do sada smo vidjeli različita svojstva krivulje, a vidjeli smo i da krivulja ima zadnju funkciju. Sad, kako možemo utvrditi je li korisna za kriptografiju ili ne? Isprobajmo s razmjenom ključeva Diffie-Hellman. Pretpostavimo da imamo Alice i Boba i da žele oboje smisliti zajedničku tajnu, a da nitko ne zna što je to, a da međusobno izričito ne razmjenjuju svoje podatke. Kako će to učiniti putem eliptičnih krivulja?

  • Prvo, javno će se složiti oko krivulje koju će koristiti i točke P na krivulji. To će biti javno poznato i dostupno svima.
  • U tajnosti, međutim, Alice će odabrati tajnu točku “a”, a Bob će odabrati tajnu točku “b”.
  • Alice će izračunati “aP” i poslati ga Bobu. Svatko može presresti ovu poruku, međutim, čak i uz znanje P nikada neće moći utvrditi vrijednost “a” jer, kao što smo već utvrdili, postoji funkcija “stražnjeg vrata” koja će podjelu učiniti neizvedivom.
  • Slično tome, Bob će smisliti vrijednost “bP” i poslati je Alice.
  • Alice će tada svoj tajni ključ pomnožiti s porukom koju dobije od Boba da bi dobila (bP). Bob će učiniti isto i smisliti b (aP). Budući da su sve točke na krivulji abelovske: a (bP) = b (aP). I upravo tako, došli su do tajnih zajedničkih informacija.

Pa kao što možemo vidjeti. Krivulja zadovoljava razmjenu ključeva Diffie-Hellman.

Pa kako provjera potpisa radi na eliptičnim krivuljama?

(Napomena: To se posebno događa u bitcoinima)

Prije nego što vidimo kako postupak funkcionira, provjerimo određene varijable i njihovo značenje da ćemo se koristiti sljedećim jednadžbama.

  • Privatni ključ = d.
  • Poruka = ​​z.
  • Javni ključ = Q.

G će biti konstantna točka na grafikonu koju će pružiti bitcoin.

  • “K” je slučajni broj koji će se automatski generirati za svaki jedinstveni potpis.
  • “N” je još jedna konstanta koju će osigurati bitcoin.

Ok, hajde sada da vidimo kako funkcionira matematika koja stoji iza provjere.

Potpisivanje poruke

Javni ključ Q = dG. (nemoguće je dobiti privatni ključ iz Q i G jer je podjela neizvediva).

Sada ćemo pomnožiti G sa slučajnim brojem “k” i zacrtati tu točku na grafikonu. Koordinate te točke su (x, y). tj. (x, y) = kG

Zatim odredimo dvije vrijednosti r i s takve da:

r = x mod n.

s = (z + rd) k ^ -1 mod n

Razlog zašto generiramo r i s je taj što su to koordinate našeg potpisa.

Dakle, šaljemo točku (r, s) na provjeru.

Provjera poruke

Verifikatori će provesti jednostavnu jednadžbu:

z * s ^ -1 * G + r * s ^ -1 * Q

Vrijednost ove jednadžbe dat će nam točku (x, y).

Sada verifikatori mogu jednostavno usporediti x koordinate. Nemaju x koordinatu koja im je izravno dana od pošiljatelja, ALI imaju vrijednosti r i n.

I kao što već znamo da je r = x mod n, a oni tada mogu jednostavno riješiti x.

Ako se vrijednosti x podudaraju, to znači da je potpis ovjeren!

Bonus: Dublji pogled u matematiku

Provjerimo jednadžbu koju će verifikatori morati još jednom učiniti:

  • Korak 1: z * s ^ -1 * G + r * s ^ -1 * Q

Znamo da je Q = d * G, jednostavno zamijenimo vrijednost.

  • Korak 2: z * s ^ -1 * g + r * s ^ -1 * d * G

Možemo uzeti (z + r * d) zajedničko

  • Korak 3: (z + r * d) * s ^ -1 * G

Sad zapamtite, već smo utvrdili da je s = (z + r * d) * k ^ -1 mod n, ovdje zamijenimo vrijednosti:

  • Korak 4: (z + r * d) * (z + r * d) ^ – 1 * k * G

(Z + r * d) * (z + r * d) ^ – 1 međusobno se poništavaju i preostaje nam:

  • Korak 5: k * G što je koordinata (x, y) koju je pošiljatelj izvorno poslao.

Što bi moglo poći po zlu u eliptičnim krivuljama?

Iako se podrazumijeva da su eliptične krivulje najbolji način kriptografije, ostaje činjenica da još uvijek ima malo ranjivosti:

  • Što ako je izabrana pogrešna krivulja? Ako krivulja ima petlju u sebi, postoji mogućnost da je 1001P = P za bilo koju točku P na krivulji.
  • Možda je izabrana slaba krivulja u koju se može probiti.

Ima svojih slabosti, ali su prilično upravljive.

RSA vs EEZ. Zašto su bitcoin i ethereum išli s eliptičnim krivuljama?

Razlog zašto je EEC izabran za RSA je taj što nudi istu razinu sigurnosti kao RSA trošeći mnogo manje bitova. Npr. za 256-bitni ključ u EEZ-u koji nudi istu razinu sigurnosti RSA će morati pružiti 3072-bitni ključ. Slično tome, za 384-bitni ključ u EEZ-u, RSA će morati pružiti 7680-bitni ključ kako bi pružio istu razinu sigurnosti! Kao što se može vidjeti, EEZ je daleko učinkovitiji od RSA.

Zabavna činjenica: NSA je proglasio da je 384-bitni ključ u EEZ-u dovoljno jak i siguran za šifriranje tajnih dokumenata najviše razine.

Kako tipke rade u blockchainu?

Kao što je gore spomenuto, bitcoin i ethereum koriste kriptografiju eliptične krivulje. Pa, što se događa kad vam netko pošalje novac na blockchainu? Šalju vam novac na vašu javnu adresu koja je u osnovi raspršivač vašeg javnog ključa i nekih dodatnih podataka. Kao što smo vidjeli gore, javni ključ matematički je izveden iz vašeg privatnog ključa.

Javni i privatni ključevi velike su cjelobrojne vrijednosti i predstavljeni su, radi kratkoće, putem formata uvoza novčanika (WIF) koji se sastoji od slova i brojeva. Uzorak privatnog ključa i javne adrese izgleda ovako u WIF-u:

Znanost iza kriptografije valuta

Očito je da ne biste trebali dijeliti svoj privatni ključ sa svijetom kao što smo to upravo učinili! Privatni ključ koristi se za odjavu na transakciji koju korisnik želi učiniti. Dakle, ako netko ima pristup vašem privatnom ključu, može se odjaviti za transakcije koristeći vaš privatni ključ i, u osnovi, ukrasti od vas. Također, kao što vidite, privatni je ključ dulji od javne adrese.

Pa, kako se javni ključ izvodi iz privatnog ključa u blockchainu? Uzmimo primjer bitcoina za ovaj konkretni primjer.

Pretpostavimo da Alice želi generirati svoje ključeve kako bi mogla provoditi transakcije na blockchainu. Ovo će učiniti:

  • Prvo će generirati svoj 256-bitni privatni ključ. To može učiniti ručno ILI će upotrijebiti automatski generator. Ovo je primjer generatora privatnih adresa koji možete pronaći na wallet-generator.net:Znanost iza kriptografije valuta
  • Dalje, morat će generirati javnu adresu koju će algoritam unutar tog novčanika automatski izvršiti slijedeći ove korake.
  • Prvo će se njezin privatni ključ raščlaniti kroz algoritam hashiranja SHA 256 da bi se dobio hash.
  • Tada će se hash raščlaniti kroz funkciju RIPE MD 160 i generirat će se novi hash i njegova će se kopija zadržati, nazovimo ovaj DIO A.
  • Tada će se raspršivanje raspršiti kroz SHA 256 kako bi se generiralo još jedno raspršivanje.
  • Tada će se novo raspršivanje ponovno raspršiti kroz SHA 256 kako bi se generiralo novo raspršivanje. Spremit će se prvih 7 bitova ovog hasha, nazovimo ga DIO B.
  • DIJELOVI A i B B će se zbrojiti, a rezultat je obraćanje javnosti.

Nemoguće je da se ovaj postupak preokrene na način da se javna adresa koristi za generiranje privatnog ključa. Za dovršetak ovog izračuna bit će potrebno najsnažnije računalo na svijetu 40000000000000000000000000000000 godina! Sigurno je da su vaša adresa i ključ sigurni.

Pa kako funkcionira postupak potpisivanja (jednostavan pregled)?

Pretpostavimo da Alice želi poslati 500 BTC-a Bobu. Slijedit će sljedeće korake:

  • Stvorit će transakciju i odjaviti je svojim privatnim ključem.
  • Ona će poslati transakciju na Bobovu javnu adresu.
  • Bob tada može dešifrirati poruku upotrebom Aliceinog javnog ključa kako bi provjerio je li mu doista Alice poslala bitcoin i transakcija se smatra dovršenom.

Ako bi ovo trebalo prikazati na slici, ovako će izgledati:

Znanost iza kriptografije valuta

Kriptovalute Kriptografija: Zaključak

Dakle, kao što se može vidjeti, kriptografija javnog ključa zvana asimetrična kriptografija jedna je od okosnica kriptovalute. Nemoguće je ni zamisliti kako bi bitcoin i ethereum bili sigurni bez njih. Svaki put kad napravite transakciju, budite zahvalni svim matematičarima i kriptografima koji su omogućili ovaj prekrasni medij.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map