Hva er SHA-256?


Beste svaret

Akkurat som alle har forskjellige fingeravtrykk, har tilsvarende blokker antatt samme konsept, og det kalles SHA256 Hash.

Den ble utviklet av NSA som skaper unik identifikator for hver blokk, og det er mange fordeler, inkludert høy sikkerhet, og mange passordbeskyttelsesprogrammer bruker det samme til passordene.

Den interessante delen av SHA256 er at algoritmen er helt åpen, og du kan til og med lese om det i detalj i kapittel 1 i boka ved å klikke på lenken nedenfor:

https://www.staff.science.uu.nl/~tel00101/liter/books/CryptCont.pdf

SHA256 er antall biter det tar i minnet. Hash-verdien er 64 tegn lang, og den har alfabet og tall som strekker seg fra [0-9] og [A-F]. Siden hvert tegn har 4 biter => 64 * 4 = 256 biter informasjon med hash-verdi.

Denne hashen kan brukes til alle typer dokumenter / videoer / gifs / bilder eller andre ting du kan tenke deg Om. Det skaper en unik hash-verdi for alt som er gitt.

Hvis du vil prøve å lage hash-verdier for dataene dine og bare vil ha det litt gøy å lære det, er det bare å navigere her. Hvis du prøver å legge til data på nettstedet, vil du legge merke til at hvis dataene dine bare er 1 tegn lange eller 10M tegn lange, gir SHA256 deg bare 64 tegn med lang hash-verdi som identifiserer teksten unikt og med enda en bokstavendring i dataene dine, endring av hash-verdi.

Når vi snakker om kravene, er det 5 krav til SHA256-algoritme:

1. Det er en måte – dvs. du kan ikke gjenopprette dataene fra hash-verdien.

2. Det er deterministisk – dvs. hvis du bruker algoritmen for de samme dataene igjen, vil du få den samme hashverdien.

3. Rask beregning

4. Skredeffekten – dvs. hvis du tar de samme dataene og foretar en liten endring som bare litt, vil hashverdien være helt annerledes.

5. Den må tåle kollisjoner – dvs. Hvis hashverdien resulterer i det samme for to forskjellige data, da verdien er begrenset til 64 tegn.

Det handler om SHA256-algoritme, og i tilfelle du vil lære mer, sjekk ut lenken jeg har gitt ovenfor.

Svar

Å forklare offentlig-privat nøkkelkonsept til noen som aldri har hørt om det, er ikke en enkel oppgave. Jeg gjør dette hele tiden med utviklere og må ganske mye gjøre dette et par ganger i det minste. Forfatteren av artikkelen / boka du henviser til prøver å gjøre det beste for å formidle betydningen av digital signatur, og vanligvis går alle tapt i det øyeblikket vi sier Hash er kryptert. Artikkelen / bokutdraget er helt SANT. La meg prøve å forklare med mine egne ord. Public-Key Encryption (aka Asymmetric Encryption) Hvis jeg vil sende deg en tekst / e-post som jeg ikke vil at noen skal lese, a) får jeg din offentlige nøkkel b) Krypter dataene c) Send den til deg. Når du mottar, du er KUN ÉN som har privat nøkkel a) Du vil Kryptere dataene med din private nøkkel Siden du kan dekryptere, kan du nå lese teksten. Nå kan vi anta det jeg sender deg er veldig viktig (kan si en kontrakt å ansette eller kjøpe noe eller godta å betale noe) Beviser den dekrypterte teksten noe den faktisk kom fra? selv om Fra e-posten sier at den er fra meg. Jeg kan rett og slett ombestemme meg og hevde at jeg ALDRI har sendt den? Så spørsmål du trenger å spørre er «Hvordan bekrefter jeg meldingens integritet»? Hvordan vet jeg at den kom fra «riktig person». Meldingsfordeling: er vanligvis sikret ved å beregne en «enveis hasj» ved hjelp av MD5 (ikke lenger) SHA1 eller SHA2 osv. Når du laster ned programvare med åpen kildekode, ser du alltid meldingsverdien. Hvis du virkelig vil vite kildekoden du laster ned er ikke endret av noen, du må beregne hash for filene på nytt. Denne typen viser at to filer er de samme. (En lastet opp til nettstedet med åpen kildekode og en du lastet ned) Hvis jeg beregner Hash av teksten min og sender den til deg separat, vil du tro at meldingen kom fra meg? (tidligere eksempel ..kontrakt for å ansette osv.)? Alle som kan sende deg meldingen «spoofing as me» kan også sende deg Hash. Så nå min digitale signatur eller integritet. Den eneste måten å bevise at det kom fra meg er at jeg må ha «besittelse» av den private nøkkelen for å gjøre noe med det. Hva kan jeg gjøre som vil bevise deg a) Meldingen er ikke endret av noen (Hvis jeg sier du er ansatt til $ 100 / t, men du får meldingen som $ 50 eller $ 200) b) Den kom faktisk fra meg og jeg kan ikke ta tilbake mitt ord c) Du skal kunne validere – Meldingen er ren og ikke manipulert og kom fra riktig person Løsning er digital signatur. bruk saken igjen: Jeg sender en melding til deg som kan ha noen kritiske data (som kontrakt om å ansette eller kjøpe), og du vil forsikre deg om at den kommer fra meg og at ingen endret dataene. a) Jeg vil ta meldingen og generere Enveis Hash (meldingsfordøyelse) -SHA1 (f.eks.) b) Jeg vil ta One way Hash og lage en signatur ved hjelp av min private nøkkel- Dette beviser at jeg har den private nøkkelen.MERKNAD: Jeg bruker ikke ordet Krypter her … i mangel på noe tror Signatur er en algoritme eller metode som tar (Hash-verdi, Privat nøkkel) for å produsere «Signatur». c) Send deg meldingen, med «Signatur» -Mottaker Når du mottar meldingen, vil du sikre at ingen blir endret (slik at du genererer HASH-verdien på nytt ved hjelp av samme Digest-algoritme SHA1) og deretter bruker samme Signaturalgoritme, men denne gangen med offentlig nøkkel (det er det du har) Signatur (Hash (original melding), offentlig nøkkel) Dette skal gi deg en verdi som er den samme som en generert da meldingen ble sendt med signaturen. Nå kan du bevise at meldingens integritet ikke er kompromittert (da fordøyelsesverdien vil endres hvis data endres, og dermed signaturverdien vil endres) I ditt VPN-tilfelle er det pakkene som er merket med signaturverdi. NÅ Kan vi legge til kryptering i denne blandingen. Hvis du IKKE vil at noen skal lese meldingen (..med Siganture kan du ikke endre kontrakten min for å ansette til $ 100, men du kan sikkert lese for å vite at jeg tilbyr deg $ 100) Ta dataene mine, jeg vil «Kryptere» med » DIN «offentlige nøkkel Du vil motta meldingen og DECRYPT med» YORU «privat nøkkel. Håper dette hjelper.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *