Vodič za kriptografiju za početnike

Da bismo razumjeli kriptovalute na razini protokola, nužno je razumjeti matematičke odnose koji su u osnovi cijele kriptografije. Ovo putovanje može započeti vraćajući se na sam početak: rođenje bita & evolucija prema bajtu.

Osnovno do osnova

Prije pola stoljeća otac Informacijskog doba, Claude Shannon, objavio je danas poštovanu industriju Matematička teorija komunikacije disertacija. To je ime deklasificirano inačici koju je tadašnji matematičar sredinom 30-ih javno objavio 1949. Međutim, prethodno klasificirana verzija bila je ratna akcija objavljena u prestižnom laboratoriju Bell pod nazivom “Matematička teorija kriptografije”. Mnogi temeljni principi objavljeni u popularnoj teoriji komunikacije proizašli su iz tajne teorije kriptografije. Zapravo, Shannon je slično rekla sljedeće u vezi s unutrašnjim & preklapajuća svojstva teorije informacijske komunikacije & kriptografija:

Bili su tako blizu da ih niste mogli razdvojiti.

Iako će se većina ovog članka usredotočiti na ono što je došlo nakon njegove teze “Matematička teorija komunikacije”, da bismo razumjeli određeni standard, neophodno je ići desetljeće leđa u Shannonovoj karijeri – do kada je bio 28-godišnji apsolvent na MIT-u. Baveći se magistrima elektrotehnike, njegov glavni zadatak bio je projektiranje novih električnih krugova za ranu verziju računala. Matematičar u srcu prisjetio se apstraktne logike koju je naučio na dodiplomskom studiju na Sveučilištu Michigan. Booleova matematika, kao što ste vjerojatno pretpostavili, grana je matematike koja se bavi istinom & lažne izjave (ili 0 i 1). Booleova matematika, iako je bila fascinantna, imala je malo široke primjene sredinom 30-ih; s druge strane, dizajn električnih krugova, moderni znanstveni proboj, očajnički je trebao discipliniran okvir za daljnje razumijevanje.

1938. Shannon je objavio svoj magistarski rad: Simbolička analiza releja & Preklopni krugovi. Ova genijalna teza dokazala je da se pomoću logičke algebre može konceptualno automatizirati raspored releja u tadašnjim ručnim telefonskim centralama. U produžetku, to je značilo da se pomoću binarnih svojstava električnih sklopki kao logičkih funkcija može koristiti logička algebra za predstavljanje & riješiti bilo koji dizajn sklopa.

Ovaj osnovni okvir izgradnje sklopova trenutno je temelj cijelog modernog digitalnog računalnog hardvera.

Desetljeće nakon početnog magistarskog rada, dok je izrađivao njegov komad de otpora komunikacija & teorije kriptografije duboko u laboratoriju Bell, napokon je odlučio imenovati ono što je vjerovao osnovna jedinica svih informacija: a binary kopatito, ili, a malo.

Od bitova do bajtova

I tako negdje tijekom godina, taj se Shannonsov sjaj proširio na znanstvenu informacijsku komunikaciju & kriptografija za vrijeme rata (1944–1949), bit je postao standardna jedinica podataka za sve računarstvo. Računala strogo razumiju 0s & 1s … pa slijedi pitanje, kako od binarnog koda prijeći na, recimo, iste alfanumeričke znakove koje čitate na ovom zaslonu?

Oznaka bitova

Samac malo je samo nula ili jedan – ima samo dvije moguće države[0,1]. Za dva bitova dobivamo ukupno četiri mogućnosti: [00, 01, 10, 11].

Slijedeći ovaj obrazac, postaje prilično očito da za svakoga n bitova koje imamo 2 ^ n moguće države.

Na kraju, potreba za više simbola & slova, kako bi rad s računalima bio prilagođeniji programerima, došli su u prvi plan pogleda informatičara: kako se izgrađuje brojevni sustav, a kamoli čitava abeceda, od samo 0s & 1s?

Heksadecimalni

Ako ste ikad morali prilagoditi boju na mreži, vjerojatno ste u jednom ili drugom trenutku naišli na heksadecimalni niz – oni obično izgledaju otprilike ovako: # 012f5b

Dizajneri su vrlo upoznati s ovim sustavom brojeva jer je to standardni način digitalnog bilježenja boja. Osnovno pravilo heksadecimalnog brojevnog sustava glasi da je svaki znak strogo jedan od sljedećih šesnaest vrijednosti: 0–9 & A – F. Prvih deset cijelih brojeva (računajući nulu) plus prvih šest slova engleske abecede čine cjelinu heksadecimalnog brojevnog sustava. Opet, ukupno šesnaest (16) ukupno mogućih država; drugi način pisanja 16 je 2⁴. Kako bismo mogli predstavljati ta moguća stanja?

S ukupno četiri bita: 4 bita = 2⁴ moguća stanja

ASCII

Jednoznamenkasti cijeli brojevi & prvih šest slova engleske abecede zasigurno su korak prema prijateljskijem računalnom jeziku – ali je li to dovoljno? Kako bismo, na primjer, označavali prostor? razlikovati mala slova & veliko slovo? Ili koristiti interpunkciju poput uskličnika ili upitnika? Ne, šesnaest likova to ne bi učinilo.

Izvorna verzija današnjeg standarda, ASCII, predložila je sedam-sustav bitova; međutim, nedugo nakon toga postalo je standardno koristiti proširenu (ili izvedenu) verziju ASCII koja je tražila osmobitni standard. Ovaj je standard to značio bilo koji Ljudski čitljiv izlazni znak računala mogao bi biti predstavljen s osam bitova, što bi prevelo u 2⁸ = 256 mogućih stanja! Ovaj standard od osam bita do alfanumeričkih znakova najbolje je sažeti u sljedećoj tablici:

Svaki od 256 znakova može se predstaviti kombinacijom osam bitova

Bajtova & Iznad

Sad smo pokrili porod & pragmatičnost računanja s bitovima, kao i njihovo definiranje. Odatle smo objasnili kako nam četiri bita (2⁴) daju naš heksadecimalni sustav & kako nam osam bitova (2⁸) daje naš još uvijek u upotrebi prošireni ASCII jezik. Sad ćemo predstaviti posljednji princip koji će, nadamo se, razjasniti zašto je razumijevanje osnova bitova presudno za temeljito razumijevanje kriptografije & produženjem kriptovalute.

Osam bitova (2⁸) zapravo je super važan broj ne samo u kriptografiji & kriptovalute, ali u svim računalima. U stvari, osam bitova je toliko standardno da su dobili novo ime koje simbolizira osmobitni niz: a bajt. A bajt je niz od osam bitova: 8 bitova = 1 bajt.

Činjenica da bajtovi mogu predstavljati jedan znak ključni je razlog zašto su čimbenici osam izrazito česti brojevi u kriptografiji, poput 128, & 256 (iz poznatog algoritma za raspršivanje konsenzusa Bitcoina SHA256). Intuitivno razumijevanje načina prelaska s bitova na heksadecimalne vrijednosti u alfanumeričke znakove u bajtove bit će ključni dio potrebnog znanja i kretanje naprijed do stvarnog razumijevanja pokretačkih sila kriptovaluta.

Ako se osjećate preplavljeno, ne brinite, to je sasvim prirodno kada kršite tako složene teme. Odvojite minutu prije nego što prijeđete na funkcije kriptografskog raspršivanja.