Bits & Bytes 101: En introduksjon til kryptografi

En nybegynnerguide til kryptografi

For å forstå kryptovalutaer på protokollnivå, er det viktig å forstå de matematiske forholdene som ligger til grunn for all kryptografi. Man kan starte denne reisen med å gå helt tilbake til begynnelsen: bitens fødsel & evolusjonen mot byte.

Grunnleggende til det grunnleggende

For et halvt århundre siden publiserte faren til informasjonsalderen, Claude Shannon, den nå bransjen ærverdige En matematisk teori om kommunikasjon avhandling. Det er navnet på avklassifisert versjon offentliggjort av den daværende matematikeren på midten av 30-tallet i 1949. Den tidligere klassifiserte versjonen var imidlertid en krigsinnsats publisert av den prestisjetunge Bell Labs kalt “A Mathematical Theory of Cryptography.” Mange av hovedprinsippene som ble publisert i den populære kommunikasjonsteorien stammet fra den hemmelighetsfulle teorien om kryptografi. Faktisk sa Shannon berømt følgende om det iboende & overlappende egenskaper ved informasjonskommunikasjonsteori & kryptografi:

De var så tett sammen at du ikke kunne skille dem.

Mens flertallet av denne artikkelen vil fokusere på det som kom etter hans “Mathematical Theory of Communication” -oppgave, for å forstå en viss standard, er det viktig at vi går et tiår tilbake i Shannons karriere – til da han var en 28 år gammel kandidatstudent ved MIT. Forfulgte en mastergrad i elektroteknikk, var hans hovedoppgave å designe nye elektriske kretser for en tidlig versjon av datamaskinen. En matematiker i hjertet, husket den abstrakte boolske matematikken han lærte i sine lavere studier ved University of Michigan. Boolsk matematikk, som du sannsynligvis gjettet, er en gren av matematikk som tar for seg sant & falske utsagn (eller 0 og 1). Selv om den boolske matematikken var fascinerende, hadde den få anvendelser i midten av 30-årene; på den annen side trengte elektrisk kretsdesign, et moderne vitenskapelig gjennombrudd, sårt behov for et disiplinert rammeverk for videre forståelse.

I 1938 publiserte Shannon sin masteroppgave: En symbolsk analyse av stafett & Bytte kretser. Denne geniale avhandlingen beviste at man ved hjelp av boolsk algebra konseptuelt kunne automatisere arrangementet av reléene i den da manuelle telefonsentralen. I forlengelse betydde dette at man ved å bruke de binære egenskapene til elektriske brytere som logiske funksjoner, kunne bruke boolsk algebra til å representere & løse noen kretsdesign.

Dette grunnleggende rammeverket for kretsbygging ligger for tiden til grunn for all moderne digital datamaskinvare.

Et tiår etter hans første masteroppgave, mens han laget sin stykke motstand kommunikasjon & kryptografi teori dypt inne i Bell Lab, bestemte han seg til slutt for å nevne det han trodde var grunnleggende enhet for all informasjon: a binary graveden, eller, a bit.

Fra Bits til Bytes

Og så en gang i løpet av årene som Shannons glans strakte seg over vitenskapelig informasjonskommunikasjon & krigstidskryptografi (1944–1949), den bit ble standard informasjonsenhet for all databehandling. Datamaskiner forstår 0s strengt & 1s … så spørsmålet følger, hvordan går vi fra binær kode til for eksempel de samme alfanumeriske tegnene du leser på denne skjermen?

Bitnotasjon

En eneste bit er bare alltid et null eller et – det har bare to mulige stater[0,1]. Til to biter vi får totalt fire muligheter: [00, 01, 10, 11].

Etter dette mønsteret blir det ganske åpenbart at for alle n biter vi har 2 ^ n mulige stater.


Etter hvert behovet for flere symboler & bokstaver, for å gjøre arbeidet med datamaskiner mer utviklervennlige, kom i forkant av informatikernes blikk: hvordan bygger man et tallsystem, enn si et helt alfabet, fra bare 0s & 1s?

Heksadesimal

Hvis du noen gang har måttet tilpasse en farge på nettet, har du sannsynligvis kommet over en heksadesimal streng på et eller annet tidspunkt – de ser vanligvis ut som følgende: # 012f5b

Designere er veldig kjent med dette nummereringssystemet fordi det er den vanlige måten å notere farger digitalt på. Kjerneregelen til det heksadesimale nummereringssystemet er at hvert tegn er representert av en av følgende seksten verdier: 0–9 & A – F. De ti første heltallene (teller null) pluss de første seks bokstavene i det engelske alfabetet utgjør hele det heksadesimale nummereringssystemet. Igjen, totalt seksten (16) totalt mulige stater; en annen måte å skrive 16 på er 2⁴. Hvordan kunne vi representere disse mulige tilstandene?

Med totalt fire bits: 4 bits = 2⁴ mulige tilstander

ASCII

Ensifrede heltall & de seks første bokstavene i det engelske alfabetet er absolutt et skritt mot et mer vennlig dataspråk – men er det nok? Hvordan vil vi for eksempel betegne et rom? skille mellom små bokstaver & stor bokstav? Eller bruk tegnsetting som et utropstegn eller et spørsmålstegn? Nei, seksten tegn ville ikke gjort det.

Den opprinnelige versjonen av dagens standard, ASCII, foreslo en syv-bit system; kort tid etterpå ble det imidlertid standard å bruke en utvidelsesversjon (eller avledet) av ASCII som ba om en åtte-bit standard. Denne standarden betydde det noen menneskelig lesbar karakterutdata fra en datamaskin kan representeres av åtte biter, som vil oversettes til 2⁸ = 256 mulige tilstander! Denne åtte-bit til alfanumeriske tegnstandarden oppsummeres best av tabellen nedenfor:

Hver av de 256 tegnene kan representeres av en kombinasjon av åtte biter

Bytes & Bortenfor

Vi har nå dekket fødselen & pragmatisme med databehandling med, så vel som å definere, biter. Derfra forklarte vi hvordan fire biter (2⁴) gir oss vårt heksadesimale system & hvordan åtte bits (2⁸) gir oss vårt utvidede ASCII-språk som fortsatt er i bruk. Vi skal nå introdusere et endelig prinsipp som forhåpentligvis vil gjøre det klart hvorfor det å forstå det grunnleggende i biter er avgjørende for en grundig forståelse av kryptografi. & ved utvidelse kryptovalutaer.

Åtte bits (2⁸) er faktisk et super viktig tall i ikke bare kryptografi & kryptovalutaer, men i all databehandling. Faktisk er åtte bits så standard at de fikk et nytt navn for å symbolisere en åtte-bits streng: a byte. EN byte er en streng på åtte bits: 8 bits = 1 byte.

Det faktum at byte kan representere et enkelt tegn er en viktig årsak til at faktorer på åtte er ekstremt vanlige tall i kryptografi, for eksempel 128, & 256 (fra den berømte Bitcoin konsensus hashing algoritmen SHA256). Å forstå hvordan man går fra biter, til heksadesimale verdier til alfanumeriske tegn til byte, vil være en viktig del av den nødvendige kunnskapen for å virkelig forstå drivkreftene bak kryptovalutaer..

Hvis du føler deg overveldet, ikke bekymre deg, det er helt naturlig når du bryter med så komplekse emner. Ta et øyeblikk før du går videre til kryptografiske hasjfunksjoner.

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