Hvorfor kan ' t SHA256 dekrypteres? [lukket] (Norsk)

Stengt . Dette spørsmålet må være mer fokusert . Det aksepteres for øyeblikket ikke svar.

Kommentarer

Svar

For det første er det en forskjell mellom hashing og kryptering . SHA256 er en hashing-funksjon, ikke en krypteringsfunksjon.

For det andre, siden SHA256 ikke er en krypteringsfunksjon, kan den ikke dekrypteres. Det du mener er sannsynligvis å reversere det. I så fall kan ikke SHA256 reverseres fordi den «sa enveisfunksjon . Å reversere den vil føre til en preimage attack , som beseirer designmålet.

For det tredje fungerer SHA256-bekreftelse ved å beregne det på nytt og sammenligne resultatet med resultatet for hånden. Hvis begge resultatene stemmer overens, er bekreftelsen vellykket. Den teoretiske bakgrunnen er at det er vanskelig å finne et annet input som gir samme hash-resultat. Brudd på dette skaper et andre preimage-angrep , som beseirer designmålet.

Til slutt digitale signaturer er ikke bare hash- og nøkkel kombinasjoner. Men en hash-funksjon kan forbedre sikkerheten.

Svar

SHA256 er ikke en krypteringsfunksjon, men en hash-funksjon . Den grunnleggende forskjellen er at mens kryptering er en toveisfunksjon (gitt nøkkelen), er hash bare enveisfunksjon: gitt noen data kan du beregne hasjen, gitt hasjen er det vanskelig (og matematisk umulig) å ha dataene tilbake .

Jeg sa at det er matematisk umulig å finne dataene fra hashen fordi vanligvis en hash-funksjon har en liten kodomene (for eksempel 256bit for SHA256), men et stort domene (du kan hasj hvilken som helst streng), så det vil være kollisjoner: forskjellige strenger med samme hash.

Hvis passordet ditt er lagret i en hashform, eksisterer det uendelig passord (men de kan være veldig lange) som låser opp kontoen din.

Den gode nyheten er at kollisjoner er sjeldne når du bruker kryptografiske hashfunksjoner , så kontoen din er fortsatt trygg.

Å svare på knyttnevedelen av spørsmålet ditt, det er enkelt å bekrefte data: hvis Alice sender en fil til hash-kontrollsummen til Bob, kan Bob enkelt beregne hasjen til t han arkiverer han har mottatt, og sammenlign den med hasjen som er mottatt fra Alice. Dette er vanligvis nok til å finne ut om det har vært noen feil under overføringen (så filen er ødelagt), men er ikke nok hvis overføringen har blitt endret av en angriper som også endret hasjen. Så Alice og Bob trenger en sikker kanal for å overføre hashen (for eksempel en https-side med et gyldig sertifikat) eller de må signere hashen på en eller annen måte.

Så vi går til svaret på ditt andre spørsmål: Alice kan signere hash ved å bruke sin private nøkkel før den sendes til Bob, på denne måten kan en angriper ikke tukle med den uten å ugyldiggjøre signaturen.

Nå kan du spørre hvorfor Alice bare signerer med RSA (eller lignende) nøkkelen. hasjen og ikke hele meldingen, dette er fordi databehandling av RSA er tregere enn å beregne en hash (så hun må bare gjøre det sakte på en liten streng: hasjen). Dette gjaldt spesielt når PGP ble opprettet og datamaskiner var tregere.

Legg igjen en kommentar

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