Utan moderna kryptografi tekniker, Internet som vi vet det inte skulle existera. Säker kommunikation möjliggör nästan all online interaktion. Krypteringsalgoritmer tillåter säker utbyte av data och säker kontroll av identitet. Utan dessa vanliga kryptografiska verktyg kunde vårt moderna sammanhängande samhälle inte fungera som det gör idag.

Symmetriska nyckelkrypteringsalgoritmer

Symmetriska nyckelkrypteringsalgoritmer är beroende av ett säkert lösenord för att fungera som nyckeln. Detta är den äldsta krypteringsformen. Symmetriska nycklar utgör grunden för allt från kombinationslås till modern kryptering av hårddisken. AES, DES och Blowfish är alla moderna symmetriska nyckelkrypteringsalgoritmer.

Eftersom symmetrisk kryptering kräver en gemensam nyckel måste nyckelutbytet utföras på ett säkert sätt. Medan moderna tekniker som Diffie-Hellmen-nyckelutbytet tillåter utbyte av en gemensam hemlighet över osäkra linjer, krävs det betydande kommunikationsöverhuvud för att göra det liksom delad förtroende mellan kommunikation. Om en delad nyckel inte kan utbytas säkert kan kommunikationen inte utföras.

Medan symmetrisk nyckelkryptering används i onlinekommunikation, är den nästan alltid kopplad till kryptering med offentlig nyckel, vilket möjliggör säker kommunikation över öppna kanaler.

Relaterat : PGP-kryptering: hur det fungerar och hur du kan komma igång

Asymmetrisk nyckel (Public Key) Krypteringsalgoritmer

Asymmetrisk eller offentlig nyckelkryptering använder ett par kryptografiska nycklar. Dessa nycklar är relaterade till varandra matematiskt. Den allmänna nyckeln, som delas i stor utsträckning, krypterar meddelandet. Den privata nyckeln dekrypterar meddelandet. Som ett resultat kan varje avsändare kryptera ett meddelande med en mottagarens allmänna nyckel. Då kan de vara övertygade om att endast den avsedda mottagaren kan dekryptera meddelandet eftersom parterna inte delar någon hemlighet. de behöver inget förtroende.

Som ett praktiskt exempel, överväga denna analogi. Vad händer om Alice vill kommunicera säkert med Bob, men hon litar inte på honom?

  1. Alice köper ett hänglås och tangentkombination. Hon låser upp hänglåset med sin nyckel och skickar det olåsta hänglåset till Bob.
  2. Bob placerar sitt meddelande i en låda och använder Alices hänglås för att låsa den.
  3. Bob återvänder den låsta rutan till Alice, säkrad med Alices hänglås.
  4. Alice öppnar lådan med hänglås nyckel, som hon bara har.

För att underlätta kommunikationen kan Alice duplicera det olåsta hänglåset och publicera det i stor utsträckning. Alla med hänglås kan skicka sin säkra kommunikation. Med ett tillräckligt komplicerat lås kan en angripare inte härleda nyckeln från låset ensamt.

Säkerhet i (stora) nummer

För att vara säker, bygger dessa algoritmer på komplexa hänglås / matematiska problem utan någon känd effektiv lösning. Dessa otänkbara problem definierar envägsfunktioner: lätt att beräkna i en riktning men extremt svårt att beräkna bakåt. RSA, en allmänt använd offentlig nyckel algoritm, bygger på svårigheten att hitta primära faktorer i heltal med hundratals decimaler.

För att starta genererar en RSA-användare två mycket stora primtal. Dessa nummer multipliceras sedan tillsammans för att skapa produkten. Användaren behåller de primära faktorerna som utgör den privata nyckeln, en hemlighet. Användaren publicerar en offentlig nyckel som härrör från produkten från primärparet. Den offentliga nyckeln krypterar meddelanden; den privata nyckeln dekrypterar dem.

Utan att veta de viktigaste faktorerna skulle det vara oupphörligt att hitta de viktigaste faktorerna i produkten. RSA-1024, minsta standard, använder 1024-bitars binära produkter gjorda av 512-bitars binära primer. Enligt matematiken skulle det kräva 5, 95 × 10 ^ 211 år att faktor utan nyckel. För perspektiv har universum bara funnits för en relativt kort 13, 75 x 10 ^ 19 år.

Hash funktioner

En hash-funktion översätter ett meddelande av godtycklig längd till en fast längdsträng kallad en hash eller digest. Kryptografiska hash är deterministiska: samma ingång producerar alltid samma utgång. Även små förändringar i meddelandet kommer att resultera i en dramatiskt annorlunda hash. Upptäcka två unika meddelanden som producerar samma hash-värde, kallat hash-kollision, borde vara otänkbara.

Digitala signaturer och lösenordsautentisering använder båda hashfunktioner som SHA. I stället för att autentisera ditt vanliga textlösenord använder login-servrar lösenordets hash. Servern jämför denna hash mot serverns lagrade hash. Samma hash, samma lösenord.

Saltade Hashes

För lagring av lösenord lägger företagen vanligtvis ett "salt" före hash. Den här slumpmässigt genererade strängen sammanfogas med lösenordstexten före hash, vilket säkerställer att även två identiska lösenord skapar distinkta haschar. Detta försvarar också mot en ordboksattack på en stulen tabell med hashed lösenord.

Slutsats

Fram till 1970-talet förlitade sig kryptering på symmetriska nycklar. Först efter beviset på den allmänna nyckelkrypteringen kan två olika nycklar - en kryptering, en dekryptering - användas för att kommunicera. Denna revolutionära förändring, som möjliggör kommunikation utan förtroende, är det som gör att Internet kan existera i den form det tar idag. Allt från bank och shopping till meddelanden och webbläsning är beroende av det.