Symmetrisk, Asymmetrisk, Hash och mer…

By rik

Kryptering är en teknik som används för att skydda information och kommunikation. Den fungerar genom att använda komplexa beräkningar, kallade algoritmer, och matematiska principer som säkerställer att endast behöriga personer kan förstå den. Denna teknik är oumbärlig för att motverka obehörig åtkomst till känslig information.

Termen ”kryptografi” har sitt ursprung i det grekiska ordet ”kryptos”, som översätts till ”dold”. Sammansättningen av ”krypto” (dold) och ”grafi” (skrivande) återspeglar dess kärna – att dölja skriftlig information.

Denna artikel kommer att ge dig en grundlig genomgång av kryptografins principer, utforska olika typer med tydliga exempel, diskutera de utmaningar som finns och blicka framåt mot framtida utvecklingar. Målet är att ge en komplett översikt, som täcker både centrala och mer detaljerade koncept.

Kryptografi är grundläggande för att skydda digital kommunikation och data i olika system och applikationer, vilket säkrar konfidentialitet och datasäkerhet. Det är en avgörande åtgärd mot obehörig åtkomst till data.

Här är en beskrivning av hur kryptografi vanligtvis fungerar:

  • Processen börjar med att avsändaren har ett meddelande eller data som ska skickas.
  • Den ursprungliga, läsbara texten (klartext) omvandlas till ett oläsbart format, vilket kallas kryptering.
  • Mottagaren använder en specifik nyckel för att omvandla det oläsbara formatet (chiffertext) tillbaka till ett läsbart format, en process som kallas dekryptering.
  • Det dekrypterade meddelandet återgår till klartext och är identiskt med det ursprungliga meddelandet som skickades av avsändaren.
  • Mottagaren har nu tillgång till det ursprungliga meddelandet.

Låt oss nu undersöka de grundläggande principerna som styr kryptografi.

Grundläggande principer för kryptografi

Kryptografi styrs av fyra huvudprinciper:

#1. Konfidentialitet: Endast den avsedda mottagaren ska ha tillgång till informationen. Den förblir privat från alla andra.

#2. Integritet: Informationen får inte ändras under lagring eller överföring utan att ändringarna upptäcks.

#3. Icke-förnekelse: Avsändaren kan inte i efterhand förneka att ha skickat informationen.

#4. Autentisering: Bekräftar identiteten på både avsändare och mottagare, och kontrollerar källan och destinationen för informationen.

Innan vi går vidare, låt oss definiera några viktiga termer.

Ordlista:

Ord Betydelse
Kryptografi En metod för att skydda information och kommunikation med hjälp av algoritmer och matematiska koncept, som garanterar att endast auktoriserade personer kan förstå den.
Chiffer En metod eller algoritm som används för att kryptera och dekryptera data.
Kryptering Processen att omvandla klartext till chiffertext.
Klartext Data eller text i sin ursprungliga, okrypterade form.
Chiffertext Krypterad data (en kodad form av data) eller text.
Dekryptering Processen att omvandla chiffertext tillbaka till klartext med hjälp av en dekrypteringsnyckel.
Nyckel En specifik informationsenhet, ofta en bitsekvens, som styr krypterings- och dekrypteringsprocessen.
Nyckelutbyte Säker överföring av krypteringsnycklar mellan avsändare och mottagare.

Det finns huvudsakligen tre typer av kryptografi:

  • Symmetrisk nyckelkryptering
  • Asymmetrisk nyckelkryptering
  • Hashfunktioner

Symmetrisk nyckelkryptering

Symmetrisk nyckelkryptering, ibland kallad enkelnyckelkryptering, är en metod där en enda hemlig nyckel används för att både kryptera och dekryptera data.

I denna metod måste både avsändaren och mottagaren använda exakt samma hemliga nyckel för att kunna förstå informationen. Det fungerar genom att omvandla normal data till en hemlig kod (chiffertext) med hjälp av den hemliga nyckeln och en definierad matematisk procedur.

När mottagaren, som också har den hemliga nyckeln, får den kodade meddelandet, använder de samma matematiska procedur för att omvandla det tillbaka till den normala data. På så vis kan mottagaren få den ursprungliga informationen från den hemliga koden.

Låt oss gå igenom processen steg för steg:

  • Algoritmen omvandlar originaltext (klartext) till chiffertext genom att använda en hemlig nyckel.
  • Sedan skickar avsändaren chiffertexten till mottagaren via en kommunikationskanal, som kan vara privat eller offentlig.
  • Mottagaren använder samma hemliga nyckel för att dekryptera chiffertexten och omvandla den tillbaka till originaltext.

Denna symmetriska krypteringsprocess säkerställer att kommunikationen mellan avsändaren och mottagaren förblir säker. Det är dock viktigt att den hemliga nyckeln hålls konfidentiell.

För att upprätthålla sekretess och integritet måste båda parter hantera och skydda denna hemliga nyckel på ett säkert sätt.

Det finns två typer av symmetriska krypteringschiffer:

  • Strömchiffer
  • Blockchiffer
Strömchiffer Blockchiffer
Krypterar data bit för bit eller byte för byte. Krypterar data i block av fast längd. Systemet lagrar data i minnet tills hela blocket är redo att bearbetas.
Använder 8 bitar av nyckeln. Använder antingen 64 bitar eller mer än 64 bitar av nyckeln.
Enklare än blockchiffer. Mer komplex än strömchiffer.
Långsam och lämplig för offline-applikationer. Använder lägena CFB och OFB. Använder lägena ECB och CBC.

Några exempel på symmetriska krypteringsalgoritmer inkluderar:

  • AES (Advanced Encryption Standard): Känd för sin säkerhet och effektivitet. Används ofta för att skydda känslig information som trådlös säkerhet, molntjänster, bankärenden och e-handel.
  • DES (Data Encryption Standard): En äldre krypteringsmetod som har ersatts av AES och 3DES. Den använder en 56-bitars nyckel.
  • IDEA (International Data Encryption Algorithm): Använder en 128-bitars nyckel och används i olika applikationer.
  • Blowfish: En algoritm som designats som en ersättare för DES eller IDEA.
  • RC4 (Rivest Cipher 4): Utvecklad av Ron Rivest. Känd för sin enkelhet och hastighet, men har vissa säkerhetsproblem i vissa implementationer.
  • RC5 (Rivest Cipher 5): Designad för att vara effektiv och säker med variabel blockstorlek och nyckelstorlek.
  • RC6 (Rivest Cipher 6): Designad för att ge ökad säkerhet och prestanda jämfört med tidigare versioner.

AES, DES, IDEA, Blowfish, RC5 och RC6 är blockchiffer.

RC4 är ett strömchiffer.

Fördelar med symmetrisk nyckelkryptering

  • Snabbare och mer effektivt än asymmetrisk kryptografi.
  • Nyckelstorleken är liten, vilket möjliggör generering av starkare chiffer.
  • Relativt kostnadseffektivt att producera starka nycklar för chiffer.
  • AES är en av de säkra algoritmerna.

Nackdelar med symmetrisk nyckelkryptering

  • Säker distribution av krypteringsnycklar till alla parter som behöver kommunicera säkert är en stor utmaning.
  • Systemets säkerhet kan äventyras om nyckeln fångas upp eller komprometteras av en angripare under överföringen.
  • Symmetriska krypteringssystem kräver noggranna nyckelhanteringsmetoder, inklusive generering, lagring, uppdatering och återkallande av nycklar. Felaktig hantering av nycklar kan leda till säkerhetsintrång.
  • Angripare kan fånga upp nycklar som utbyts över osäkra kanaler, vilket resulterar i komprometterad kommunikation.

Trots dessa nackdelar är symmetrisk kryptering en viktig del av modern kryptografi och används ofta i många applikationer.

Starka metoder för nyckelhantering och säkra metoder för nyckelutbyte kan hjälpa till att överkomma några av de utmaningar som symmetrisk kryptografi medför.

Asymmetrisk nyckelkryptering

Asymmetrisk kryptografi använder nyckelpar – en privat nyckel som hålls hemlig och en offentlig nyckel som delas öppet. Man kan använda någons offentliga nyckel för att kryptera ett meddelande, och endast de kan dekryptera det med sin privata nyckel.

Denna metod stärker den digitala säkerheten genom att möjliggöra säker kommunikation utan att dela hemliga nycklar, vilket är avgörande i vår onlinevärld.

Detta är särskilt användbart för säker kommunikation eftersom mottagare endast behöver din offentliga nyckel. Detta eliminerar risken med att dela en hemlig symmetrisk nyckel.

Dessa ”offentlig-nyckel-algoritmer” använder ett nyckelpar för att skydda data.

Här är en enkel sammanfattning:

  • Det finns två nycklar. En offentlig nyckel, som alla kan komma åt, och en privat nyckel som hålls hemlig.
  • Den offentliga nyckeln används för att kryptera eller låsa data.
  • Den privata nyckeln används för att dekryptera eller låsa upp data.

Det är viktigt att förstå att den privata nyckeln inte kan härledas från den offentliga nyckeln. Offentliga nycklar är dessutom vanligtvis kopplade till identiteter av organisationer som kallas certifikatutfärdare.

Meddelanden kan utbytas säkert utan att kompromettera de privata nycklarna.

Dessa algoritmer förlitar sig på matematiska problem som heltalsfaktorisering och diskreta logaritmer för att skapa digitala signaturer och distribuera sessionsnycklar, till exempel i TLS-protokollet.

Några exempel på asymmetriska krypteringsalgoritmer inkluderar:

  • RSA (Rivest-Shamir-Adleman): En av de mest använda asymmetriska krypteringsalgoritmerna. Baserad på de matematiska egenskaperna hos stora primtal, och används ofta för säkert nyckelutbyte och digitala signaturer.
  • Elliptic Curve Cryptography (ECC): Baserad på den algebraiska strukturen av elliptiska kurvor över ändliga fält. ECC erbjuder mindre nyckelstorlekar jämfört med icke-ECC-kryptering som bygger på vanliga Galois-fält. Används primärt för att generera pseudoslumptal och digitala signaturer.
  • Diffie-Hellman Key Exchange: Denna algoritm används för säkert nyckelutbyte. En nyckel som skapats med denna metod kan användas för kryptering med en symmetrisk algoritm. Huvudsyftet med Diffie-Hellman är att göra det möjligt för två parter att etablera en gemensam hemlig nyckel över en osäker kommunikationskanal.

Fördelar med asymmetrisk kryptografi

  • Ger starkare säkerhet jämfört med symmetrisk kryptografi.
  • Mottagaren kan verifiera avsändarens identitet.
  • Löste problemet med nyckeldistribution, som nämndes som en nackdel i symmetrisk nyckelkryptografi.
  • Mottagare kan upptäcka om meddelandet ändrats under överföringen.

Nackdelar med asymmetrisk nyckelkryptering

  • En långsammare process än symmetrisk kryptering.
  • Kräver mer beräkningsresurser än symmetrisk kryptering.
  • Förlitar sig på offentliga och privata nycklar. Att hantera dessa nycklar säkert kan vara komplext, särskilt i storskaliga system.
  • Sårbarhet för kvantdatorer. Kvantdatorer kan lösa vissa matematiska problem, som heltalsfaktorisering och diskreta logaritmer, mycket snabbare än klassiska datorer.

Organisationer och forskare arbetar aktivt för att gå över till kvantresistenta kryptografiska tekniker.

Låt oss gå vidare till nästa typ av kryptografi:

Hashfunktioner

Kryptografiska hashfunktioner skiljer sig från andra typer av kryptografi. De krypterar inte data. Istället omvandlar de data till en unik kod med hjälp av komplex matematik.

Dessa koder kallas hashkoder, hashvärden eller meddelandesammandrag. De är viktiga för att kontrollera datasäkerheten. När data skickas eller lagras beräknas dess hashkod och skickas eller sparas tillsammans med datan.

Mottagaren kan räkna om koden för den data som de har fått och jämföra den med den kod som skickats. Om koderna matchar, innebär det att data har förblivit säkra under överföring och lagring.

Här är en enkel steg-för-steg-förklaring:

Avsändarens sida:

  • Avsändaren använder en hashfunktion för att skapa ett unikt hashvärde för den data som ska skickas.
  • Efter att ha skapat hashvärdet skickar avsändaren både det ursprungliga meddelandet och hashkoden till mottagaren via en osäker kanal.

Mottagarens sida:

  • Mottagaren tar emot meddelandet och hashkoden.
  • Mottagaren använder också samma hashfunktion för att skapa ett nytt hashvärde för det mottagna meddelandet.
  • Mottagaren jämför det nya hashvärdet med det som skickats av avsändaren.

Resultat:

  • Om hashvärdena matchar, betyder det att meddelandet inte ändrades under överföringen och anses säkert.
  • Om hashvärdena inte matchar, tyder det på att meddelandet kan ha ändrats och det anses inte vara säkert.

Här är några av de egenskaper som gör hashfunktioner användbara:

Egenskaper för hashfunktioner:

  • Deterministisk: Om du ger samma input, kommer det alltid att producera samma output.
  • Enhetlighet och kollisionsfri: En bra hashfunktion bör producera jämnt fördelade utdata och undvika kollisioner.
  • Effektiv: Hashfunktioner är designade för att vara beräkningseffektiva och snabbt kunna bearbeta stora mängder data.
  • Utdata med fast storlek: Ger en utdata med fast storlek oavsett inputens storlek, vilket möjliggör effektiv lagring och hämtning av data.

Hashfunktioner har många tillämpningar inom datavetenskap och informationssäkerhet, inklusive kryptografi, dataintegritetskontroll, dataindexering, datafingeravtryck, lösenordslagring, digital forensics och blockchain.

Vanligt använda kryptografiska hashfunktioner inkluderar:

Det finns två mycket använda familjer av kryptografiska hashfunktioner – MD-familjen (MD = Message Digest) och SHA-familjen (SHA = Secure Hash Algorithm).

  • SHA-1 (Secure Hash Algorithm 1): Var en populär hashfunktion. Betraktas nu som svag på grund av sårbarheter som möjliggör praktiska kollisionsattacker. Används inte längre för de flesta säkerhetsapplikationer.
  • MD5 (Message Digest Algorithm 5): Var populär tidigare men anses nu vara svag på grund av kollisionssårbarheter. Används i allmänhet inte för säkerhetskänsliga applikationer.
  • SHA-3: En nyare familj av hashfunktioner som valts ut genom en tävling av National Institute of Standards and Technology (NIST). Ger stark säkerhet och är designad för att vara resistent mot vissa typer av attacker.

Även om hashfunktioner inte krypterar meddelanden, är de en viktig del av kryptografi eftersom de spelar en avgörande roll för att säkra och autentisera data, vilket är nyckelmål inom kryptografi.

Fördelar med hashfunktioner

  • En säker hashfunktion garanterar ett högt kollisionsmotstånd.
  • Två filer kan enkelt jämföras för likhet genom hash.
  • Hashfunktioner är otroligt snabba och effektiva.
  • Inom DBMS (Database Management Systems) används hashing för att söka platsen för data utan att använda en indexstruktur.

Nackdelar med hashfunktioner

  • Hashfunktioner kan fungera mindre effektivt om det finns många kollisioner.
  • Inga nollvärden är tillåtna.
  • Att implementera hashtabeller kan vara en utmanande uppgift på grund av deras komplexitet.
  • I praktiken är det nästan omöjligt att helt förhindra hashkollisioner när man hanterar en stor uppsättning potentiella nycklar.

Läs också: Hur du skyddar dig från en regnbågsbordsattack

Verkliga tillämpningar av kryptografi

  • Autentisering/Digitala signaturer: Autentisering är processen att bekräfta att data är äkta, verifiera källan till ett dokument, validera avsändarens identitet, säkerställa tidsstämpelns noggrannhet och säkerställa legitimiteten hos dator- eller användaridentiteter. Digitala signaturer använder kryptografiska metoder som involverar en hashfunktion och en privat nyckel för att validera och säkert signera dokument.
  • Molnlagringskryptering: Används för att skydda filer som lagras i molnet och under överföring till och från molntjänster.
  • Elektroniska pengar: Innebär elektroniska överföringar mellan parter som kan vara debiteringar eller krediteringar, anonyma eller identifierade. Använder kryptering, digitala signaturer och publik nyckelkryptografi för säkerhet, vilket möjliggör olika typer av transaktioner.
  • Kryptering/Dekryptering i e-post: Skyddar e-postinnehåll från obehörig åtkomst med hjälp av publik nyckelkryptering. Varje användare har ett publikt och ett privat nyckelpar, där den offentliga nyckeln används för att kryptera och endast den privata nyckeln kan dekryptera meddelandet.
  • Kryptering i WhatsApp: Använder Signal-protokollet för kryptering, och kombinerar symmetrisk och asymmetrisk nyckelkryptografi för sekretess, integritet, autentisering och icke-förnekelse. Curve25519-baserade algoritmer används för nyckelutbyte.
  • Kryptering i Instagram: Instagram-kommunikation krypteras med SSL/TLS över port 443, vilket förhindrar avlyssning av data som utbyts mellan användaren och Instagram-servrar.
  • SIM-kortsautentisering: Verifierar ett SIM-korts åtkomst till nätverket genom att generera ett slumpmässigt nummer och tillämpa algoritmer som A3 med den hemliga nyckeln Ki. Kryptering bygger på A8-algoritmen och sessionsnyckeln KC, som används med A5-algoritmen för datakryptering/dekryptering.

Utmaningar inom kryptografi

  • Nyckelhantering är fortfarande en utmaning eftersom säker distribution och hantering av krypteringsnycklar är komplex, särskilt i storskaliga system. Nyckellagrings- och återställningsmekanismer måste vara robusta.
  • Symmetrisk kryptografi kan bli ineffektiv när många användare behöver kommunicera säkert. Varje användarpar kräver en unik nyckel, vilket kan bli svårhanterligt när antalet användare ökar.
  • Asymmetrisk kryptografi kräver vanligtvis längre nycklar än symmetrisk kryptografi för att uppnå samma säkerhetsnivå, vilket kan leda till långsammare bearbetning och ökat resursbehov.
  • Upptäckten av sårbarheter i hashfunktioner kan leda till säkerhetsintrång. Den kryptografiska gemenskapen måste kontinuerligt analysera och anpassa hashfunktioner för att mildra sådana risker.
  • I applikationer där hashfunktioner används för lösenordslagring är korrekt saltning av lösenord nödvändigt för att förhindra regnbågsbordsattacker. Utmaningen ligger i att säkerställa att salter är unika och hemliga.
  • Framväxten av kvantdatorer utgör en betydande utmaning för kryptografin. Kvantdatorer kan lösa specifika matematiska problem exceptionellt snabbt med hjälp av kvantfysikens principer.

Denna hastighet hotar grunden för våra nuvarande kryptografiska system som är beroende av komplexa matematiska problem för att säkra data. Kvantdatorer har potentialen att lösa dessa problem mycket snabbare än konventionella datorer, vilket kan kompromettera säkerheten för våra krypteringsmetoder.

De underliggande principerna för kvantmekaniken ger kvantdatorer en unik förmåga att utföra uppgifter som ligger utanför räckhåll för klassiska datorer.

Därmed ökar behovet av att utveckla nya kryptografiska tekniker som kan motstå kvantattacker, vilket skapar en ständig utmaning inom kryptografiområdet.

Framtida trender inom kryptografi

  • Utveckling och användning av postkvantkryptografialgoritmer som är motståndskraftiga mot kvantattacker kommer att vara en betydande trend. Algoritmer som gitterbaserad kryptografi undersöks.
  • En växande acceptans för molnbaserad kryptering och nyckelhantering, särskilt inom finanssektorn. Homomorf kryptering möjliggör beräkningar på krypterad data utan att dekryptera den, vilket kan förbättra integriteten i molnberäkning och databehandling.
  • Kryptografi spelar en avgörande roll för att skydda blockkedjetekniken, och de två kommer att fortsätta att vara sammanflätade i framtiden.
  • Med ökade dataskyddsbestämmelser som GDPR används tokenisering allt oftare inom hälso- och sjukvård, finansiella tjänster och företag. Tokenisering ersätter faktisk data med en token som är värdelös för hackare.

Slutord

Kryptografi är ett omfattande område med mycket att utforska, och den här artikeln har bara gett en översikt över de grundläggande principerna.

Vi har täckt kryptografi, dess principer, typer av kryptografi, hashfunktioner, utmaningar, framtida trender och praktiska tillämpningar.

Men det finns mycket mer att upptäcka.

Nästa ämne är Molnkryptografi: En introduktionsguide och Google Cloud Case Study.