Vad är en kryptografisk hash?

Grunderna i krypteringsalgoritmer är ganska lätta att förstå. En inmatning eller klartext tas tillsammans med en nyckel och bearbetas av algoritmen. Utdata är krypterad och känd som chiffertext. En kritisk del av en krypteringsalgoritm är dock att du kan vända processen. Om du har en chiffertext och dekrypteringsnyckeln kan du köra algoritmen igen och få tillbaka klartexten. Vissa typer av krypteringsalgoritmer kräver att samma nyckel används för att både kryptera och dekryptera data. Andra kräver ett par nycklar, en för att kryptera och en annan för att dekryptera.

Konceptet med en hashalgoritm är relaterat men har några kritiska skillnader. Den viktigaste skillnaden är det faktum att en hashalgoritm är en enkelriktad funktion. Du lägger in klartext i en hashfunktion och får ut ett hashsammandrag, men det finns inget sätt att vända tillbaka hashsammandraget till den ursprungliga klartexten.

Obs! Utdata från en hash-funktion kallas en hash-sammanfattning, inte en chiffertext. Termen hashsammandrag är också vanligen förkortad till "hash" även om användningen av det ibland kan vara otydlig. Till exempel, i en autentiseringsprocess genererar du en hash och jämför den med den hash som lagras i databasen.

En annan nyckelfunktion i en hashfunktion är att hashsammandraget alltid är detsamma om du anger samma klartextinmatning. Dessutom, om du gör ens en liten ändring i klartexten, blir hashsammandragen helt annorlunda. Kombinationen av dessa två funktioner gör hashalgoritmer användbara i kryptografi. En vanlig användning är med lösenord.

Lösenordshasningsalgoritmer

När du loggar in på en webbplats ger du den ditt användarnamn och lösenord. På ytnivå kontrollerar sedan webbplatsen att de uppgifter du angett stämmer överens med de uppgifter som finns i filen. Processen är dock inte så enkel.

Dataintrång är relativt vanliga, det är ganska troligt att du redan har drabbats av en. Kunddata är ett av de stora målen i ett dataintrång. Listor med användarnamn och lösenord kan handlas och säljas. För att göra hela processen svårare för hackare kör webbplatser i allmänhet varje lösenord genom en hashalgoritm och lagrar bara hash för lösenordet snarare än själva lösenordet.

Detta fungerar eftersom när en användare försöker autentisera kan webbplatsen också hasha det inskickade lösenordet och jämföra det med den lagrade hashen. Om de matchar, då vet den att samma lösenord skickades även om det inte vet vad det faktiska lösenordet var. Dessutom, om databasen med lösenordshasharna som lagras i den brytes av hackare, kan de inte omedelbart se vilka de faktiska lösenorden är.

Starka hash

Om en hacker har tillgång till hash-lösenord finns det inte mycket de kan göra med dem direkt. Det finns ingen omvänd funktion för att dekryptera hasharna och se de ursprungliga lösenorden. Istället måste de försöka knäcka hashen. Detta innebär i grunden en brute-force-process för att göra många lösenordsgissningar och se om någon av hasharna matchar de som lagras i databasen.

Det finns två frågor när det kommer till styrkan hos en hash. Styrkan på själva hashfunktionen och styrkan på lösenordet som hashades. Förutsatt att ett starkt lösenord och hashalgoritm används, bör en hackare behöva prova tillräckligt många lösenord för att beräkna 50 % av hela hash-utdatautrymmet för att ha en 50/50 chans att knäcka en enskild hash.

Mängden bearbetning kan minskas dramatiskt om hashalgoritmen har svagheter i sig som antingen läcker data eller har en ökad chans att råka ha samma hash, känd som en kollision.

Brute force attacker kan vara långsamma eftersom det finns ett stort antal möjliga lösenord att prova. Tyvärr tenderar folk att vara ganska förutsägbara när de kommer på lösenord. Detta innebär att välgrundade gissningar kan göras med hjälp av listor över vanliga lösenord. Om du väljer ett svagt lösenord kan det gissas betydligt tidigare än vad 50 % av vägen genom hash-utdatautrymmet skulle antyda.

Det är därför det är viktigt att använda starka lösenord. Om hashen av ditt lösenord är inblandat i ett dataintrång spelar det ingen roll om webbplatsen använde den bästa möjliga och säkraste hashalgoritmen som finns tillgänglig, om ditt lösenord är "lösenord1" kommer det fortfarande att gissas nästan omedelbart.

Slutsats

En hashalgoritm är en enkelriktad funktion. Den ger alltid samma utsignal om den förses med samma ingång. Även mindre skillnader i ingången förändrar utmatningen avsevärt, vilket innebär att du inte kan se om du var nära rätt ingång. Hash-funktioner kan inte vändas. Det finns inget sätt att säga vilken input som användes för att generera en given utdata utan att bara gissa. En kryptografisk hashfunktion är kryptografiskt säker och lämplig för användningar som behöver den typen av säkerhet. Ett vanligt användningsfall är att hasha lösenord. Andra användningsfall inkluderar hashfiler som en integritetsverifiering.


Hur man klona en hårddisk

Hur man klona en hårddisk

I den moderna digitala tidsåldern, där data är en värdefull tillgång, kan kloning av en hårddisk på Windows vara en avgörande process för många. Denna omfattande guide

Hur fixar jag drivrutinen WUDFRd kunde inte laddas på Windows 10?

Hur fixar jag drivrutinen WUDFRd kunde inte laddas på Windows 10?

Står du inför felmeddelandet när du startar din dator som säger att drivrutinen WUDFRd inte kunde laddas på din dator?

Så här åtgärdar du NVIDIA GeForce Experience Error Code 0x0003

Så här åtgärdar du NVIDIA GeForce Experience Error Code 0x0003

Upplever du NVIDIA GeForce-felkod 0x0003 på ditt skrivbord? Om ja, läs bloggen för att hitta hur du åtgärdar det här felet snabbt och enkelt.

Vad är SMPS?

Vad är SMPS?

Lär dig vad som är SMPS och innebörden av olika effektivitetsklasser innan du väljer en SMPS för din dator.

Varför slås inte min Chromebook på

Varför slås inte min Chromebook på

Få svar på frågan Varför slås inte min Chromebook på? I den här användbara guiden för Chromebook-användare.

Hur man rapporterar nätfiskebedrägerier till Google

Hur man rapporterar nätfiskebedrägerier till Google

Lär dig hur du rapporterar en bedragare till Google för att hindra dem från att lura andra med den här guiden.

Roomba stannar, sticker och vänder sig om – fixa

Roomba stannar, sticker och vänder sig om – fixa

Åtgärda ett problem där din Roomba robotdammsugare stannar, fastnar och fortsätter att vända sig om.

Hur man ändrar grafikinställningar på Steam Deck

Hur man ändrar grafikinställningar på Steam Deck

Steam Deck erbjuder en robust och mångsidig spelupplevelse precis vid dina fingertoppar. Dock för att optimera ditt spelande och säkerställa bästa möjliga

Vad är isoleringsbaserad säkerhet?

Vad är isoleringsbaserad säkerhet?

Vi skulle fördjupa oss i ett ämne som blir allt viktigare i världen av cybersäkerhet: isoleringsbaserad säkerhet. Detta förhållningssätt till

Hur man använder Auto Clicker för Chromebook

Hur man använder Auto Clicker för Chromebook

Idag skulle jag fördjupa dig i ett verktyg som kan automatisera repetitiva klickuppgifter på din Chromebook: Auto Clicker. Detta verktyg kan spara tid och