Hoppa till innehåll

47-dagarscertifikat kommer. Är du redo?

Agera nu →

Vad är skillnaden mellan kryptering och hashing? Är hashing säkrare än kryptering?

Kryptering kontra hashing

Beskrivning

Inom datasäkerhetsområdet, krypteringooch hashing jämförs ofta, men varför är det så? Kryptering är en tvåvägsfunktion där data skickas in som klartext och kommer ut som chiffertext. Klartext är vad du läser i den här artikeln, medan chiffertext är text som görs oläslig via kryptering. Eftersom kryptering är tvåvägs kan data dekrypteras så att den är läsbar igen. Hashing, å andra sidan, är envägs, vilket innebär att klartexten krypteras till en unik digest, genom användning av ett salt, som inte kan dekrypteras. Tekniskt sett kan hashing reverseras, men den beräkningskraft som behövs för att dekryptera hash-digesteringen gör dekryptering omöjlig. Du kan göra dekryptering ännu mer komplex genom att även salta en hash. Ett salt är slumpmässig data som används i hash-algoritmen för att ytterligare komplicera hash-digesteringen. Saltet lagras sedan med hashvärdet i en databas. Du skulle vanligtvis använda ett salt i hashning om du vill öka komplexiteten i hash-digesteringen, utan att göra det mer komplicerat för lösenordsanvändare, om du hashar lösenord.

Hashing fungerar genom att klartexten skickas till en hashalgoritm som sedan genererar hash-digesteringen. Hashalgoritmen gör i sig olika matematiska beräkningar på klartextdata för att generera hash-digesteringen. Denna algoritm är mest effektiv när den är kollisionsresistent. Kollisionsmotstånd innebär att alla digests är unika och inte överlappar varandra. Det betyder att hashalgoritmen måste vara tillräckligt komplex för att inte ha överlappande hashvärden, men inte så komplex att det tar för lång tid att beräkna hashvärden. Kryptering finns i två olika typer, och både kryptering och hashing har flera vanliga typer av algoritmer.

Vanliga krypterings- och hashalgoritmer

Kryptering finns i två typer: Asymmetrisk och symmetriskAsymmetrisk kryptering använder två olika nycklar, en offentlig och en privat nyckel, för kryptering och dekryptering. Den privata nyckeln används för att kryptera data och hålls hemlig för alla utom den person som krypterar informationen. Den offentliga nyckeln är tillgänglig för alla och används för dekryptering. Med asymmetrisk kryptering kan informationens äkthet verifieras, eftersom om informationen ändrades under överföringen skulle den inte kunna krypteras om med den privata nyckeln. Symmetrisk kryptering använder samma nyckel för både kryptering och dekryptering. Denna typ av kryptering använder mindre processorkraft och är snabbare, men är mindre säker eftersom endast en nyckel används.

Symmetriska krypteringsalgoritmer:

Asymmetriska krypteringsalgoritmer:

Hashalgoritmer:

  • Meddelandesammanfattningsalgoritm (MD5)
  • Säker hashalgoritm (SHA-1 [föråldrad], SHA-2, SHA-3)
  • WHIRLPOOL
  • TIGER
  • Kontroll av cyklisk reduktion (CRC32)

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

Användningsfall för hashing och kryptering

Även om de liknar varandra används kryptering och hashing för olika ändamål. En av användningsområdena för hashing är att jämföra stora mängder data. Hashvärden är mycket lättare att jämföra än stora datamängder, eftersom de är mer koncisa. Hashing används också för att kartlägga data, eftersom det går snabbt att hitta värden med hjälp av hash, och bra hash överlappar inte. Hash används i digitala signaturer och för att skapa slumpmässiga strängar för att undvika duplicering av data i databaser. Eftersom hashing är extremt svår att reversera används hashalgoritmer på lösenord. Detta gör lösenordet kortare och oupptäckbart för angripare.

Kryptering, å andra sidan, tenderar att användas för att kryptera data som är under överföring. Data som överförs är data som endast behöver läsas av mottagaren, och måste därför skickas så att en angripare inte kan läsa den. Kryptering döljer informationen från alla som tar den mitt i överföringen och tillåter endast ägaren av dekrypteringsnyckeln att läsa informationen. Andra gånger används kryptering istället för hashing för att lagra och hämta data i databaser, autentiseringsmetoder och andra fall där data måste döljas i vila men hämtas senare.

När man ska använda hashing

Generellt sett är hashning värdefullt i situationer där du behöver en representation av data med fast storlek, vill verifiera dataintegritet effektivt eller kräver en snabb och enhetlig distribution av data i olika applikationer, såsom säkerhet, datahämtning och distribuerade system. Hashfunktioner används ofta i olika datavetenskapliga och informationssäkerhetsapplikationer. Här är några scenarier där hashning är särskilt användbart:

  1. Verifiering av dataintegritet

    Hashning används ofta för att verifiera dataintegriteten. Genom att generera ett hashvärde (kontrollsumma) för en dataenhet och jämföra det med ett tidigare beräknat hashvärde kan man snabbt avgöra om informationen har ändrats. Detta är avgörande för att säkerställa filers integritet under dataöverföring eller lagring.

  2. Lösenordslagring

    Hashning är avgörande för säker lagring av lösenord. Istället för att lagra faktiska lösenord lagrar system hashvärdena för lösenord. Under inloggningsförsök hashas det angivna lösenordet och jämförs med den lagrade hashen. På så sätt, även om de hashade värdena komprometteras, är det inte lätt att återställa de ursprungliga lösenorden.

  3. Digitala signaturer

    Hashfunktioner är en grundläggande komponent i digitala signaturer. I digitala signatursystem signeras en hash av meddelandet med en privat nyckel. Mottagare kan verifiera signaturen med hjälp av avsändarens publika nyckel och jämföra den beräknade hashen med det mottagna hashvärdet.

  4. Kryptografiska applikationer

    Hashfunktioner används ofta i kryptografiska protokoll och algoritmer. De spelar en roll i meddelandeautentiseringskoder (MAC), nyckelhärledningsfunktioner (KDF) och olika andra säkerhetsmekanismer för att säkerställa dataintegritet och autenticitet.

  5. Hashtabeller och dataåterhämtning

    Hashfunktioner används i hashtabeller, en datastruktur som möjliggör effektiv datahämtning. Genom att mappa nycklar till index i en array med hjälp av en hashfunktion möjliggör hashtabeller snabba uppslagningsåtgärder.

När man ska kryptera data

Kryptering av data är avgörande i situationer där konfidentialitet och integritet är av största vikt. Här är flera situationer där kryptering av data starkt rekommenderas:

  1. Datatransmission

    När känslig information överförs över nätverk, till exempel vid banktransaktioner online, åtkomst till e-postkonton eller onlineköp, säkerställer kryptering av informationen att även om den avlyssnas kan den inte lätt förstås av obehöriga parter. Säkra protokoll som HTTPS använder kryptering för att skydda data under överföring.

  2. Lagrad personlig information

    Personlig information, inklusive ekonomiska register, medicinska journaler och identifieringsuppgifter, bör krypteras när den lagras på enheter eller servrar. Detta hjälper till att skydda informationen från obehörig åtkomst, särskilt i händelse av enhetsstöld eller dataintrång.

  3. Databassäkerhet

    Databaser som innehåller känslig information, såsom användaruppgifter, kreditkortsuppgifter eller proprietär affärsdata, bör använda kryptering för att skydda mot obehörig åtkomst. Krypteringsmekanismer som Transparent Data Encryption (TDE) kan användas för att kryptera hela databaser eller specifika kolumner.

  4. Säkerhetskopiering och lagring

    Säkerhetskopiering och lagring av data, oavsett om det är på fysiska enheter eller i molnet, bör krypteras. Detta skyddar informationen vid dataförlust eller stöld av lagringsmedia.

  5. Bärbara datorer och mobila enheter

    Det är viktigt att kryptera data på bärbara datorer, mobiltelefoner och andra bärbara enheter. Om dessa enheter förloras eller blir stulna förhindrar kryptering att obehöriga personer enkelt får tillgång till den lagrade informationen.

jämförelser

krypteringhashing
DefinitionEn tvåvägsfunktion som tar in klartextdata och omvandlar den till odekrypterbar chiffertext.En envägsmetod för att dölja känsliga data. Med hjälp av en hashalgoritm omvandlar hashning en klartext till en unik hash-sammanfattning som inte kan återställas till den ursprungliga klartexten utan avsevärd ansträngning.
Reversibel eller irreversibel?ReversibelIrreversibel
Variabel eller fast längd på utgången?Variabel längdBestämd längd
TyperAsymmetrisk och symmetriskhashing
Vanliga algoritmerAES, RC4, DES, RSA, ECDSASHA-1, SHA-2, MD5, CRC32, WHIRLPOOL