Uden moderne kryptografi teknikker, vil internettet som vi ved det ikke eksistere. Sikker kommunikation muliggør stort set alle online interaktioner. Krypteringsalgoritmer tillader sikker udveksling af data og sikker identifikationskontrol. Uden disse fælles kryptografiske værktøjer kunne vores moderne sammenhængende samfund ikke fungere som det gør i dag.

Symmetriske nøglekrypteringsalgoritmer

Symmetriske nøglekrypteringsalgoritmer er afhængige af et sikkert kodeord for at fungere som nøglen. Dette er den ældste form for kryptering. Symmetriske nøgler danner grundlaget for alt fra kombinationslås til moderne harddiskkryptering. AES, DES og Blowfish er alle moderne symmetriske nøgle krypteringsalgoritmer.

Fordi symmetrisk kryptering kræver en delt nøgle, skal nøgleudvekslingen udføres sikkert. Mens moderne teknikker som Diffie-Hellmen nøgleudveksling tillader udveksling af en fælles hemmelighed over usikre linjer, kræver det en betydelig kommunikationsoverhead for at gøre det såvel som fælles tillid mellem kommunikation. Hvis en fælles nøgle ikke kan udveksles sikkert, kan kommunikation ikke udføres.

Mens symmetrisk nøglekryptering bruges i onlinekommunikation, er den næsten altid parret med offentlig nøglekryptering, der muliggør sikker kommunikation over åbne kanaler.

Relateret : PGP-kryptering: Hvordan det virker, og hvordan du kan komme i gang

Asymmetrisk nøgle (Public Key) Krypteringsalgoritmer

Asymmetrisk eller offentlig nøgle kryptering bruger et par kryptografiske nøgler. Disse nøgler vedrører hinanden matematisk. Den offentlige nøgle, der deles bredt, krypterer meddelelsen. Den private nøgle dekrypterer meddelelsen. Som en følge heraf kan enhver afsender kryptere en meddelelse med en modtagers offentlige nøgle. Derefter kan de være sikre på, at kun den tilsigtede modtager kan dekryptere meddelelsen, fordi parterne ikke deler nogen hemmelighed; de har ingen tillid.

Som et praktisk eksempel overveje denne analogi. Hvad hvis Alice vil kommunikere sikkert med Bob, men hun stoler ikke på ham?

  1. Alice køber en hængelås og nøglekombination. Hun åbner låsen med hendes nøgle og sender det ulåste hængelås til Bob.
  2. Bob placerer sin besked i en kasse og bruger Alice's hængelås til at låse den.
  3. Bob vender den låste kasse tilbage til Alice, sikret med Alice's hængelås.
  4. Alice åbner kassen med hængelåsens nøgle, som hun kun har.

For at lette kommunikationen kan Alice duplicere det ulåste hængelås og offentliggøre det bredt. Enhver med hængelås kan sende hendes sikre kommunikation. Med en tilstrækkelig kompleks lås kan en angriber ikke udlede nøglen fra låsen alene.

Sikkerhed i (store) tal

For at forblive sikker, afhænger disse algoritmer på komplekse hængelås / matematiske problemer uden nogen kendt effektiv løsning. Disse uhåndterlige problemer definerer envejsfunktioner: nem at beregne i en retning, men ekstremt svært at beregne bagud. RSA, en almindeligt anvendt offentlig nøglealgoritme, er afhængig af vanskeligheden ved at finde fremtrædende faktorer af heltal med hundredvis af decimaler.

For at starte, genererer en RSA-bruger to meget store primtal. Disse tal multipliceres derefter sammen for at oprette produktet. Brugeren holder de primære faktorer, der omfatter den private nøgle, en hemmelighed. Brugeren offentliggør en offentlig nøgle afledt af produktet fra primeparret. Den offentlige nøgle krypterer meddelelser; den private nøgle dekrypterer dem.

Uden at kende de primære faktorer ville det være umuligt at finde de vigtigste faktorer i produktet. RSA-1024, minimumsstandarden, bruger 1024-bit binære produkter fremstillet af 512 bit binære primere. Ifølge matematikken ville det kræve 5, 95 × 10 ^ 211 år at faktor uden nøglen. Til perspektiv har universet kun eksisteret for en forholdsvis kort 13, 75 x 10 ^ 19 år.

Hash funktioner

En hash-funktion oversætter en meddelelse af vilkårlig længde til en fastlængdesnor kaldet hash eller fordøjelse. Kryptografiske hash er deterministiske: det samme input producerer altid den samme output. Selv små ændringer i meddelelsen vil resultere i en dramatisk anderledes hash. Opdage to unikke meddelelser, der producerer den samme hashværdi, kaldet hash-kollision, burde være uudviklede.

Digitale signaturer og adgangskodeautentificering bruger begge hashfunktioner som SHA. I stedet for at godkende din almindelig tekstadgangskode bruger login-servere hash'en af ​​adgangskoden. Serveren sammenligner denne hash mod serverens lagrede hash. Samme hash, samme adgangskode.

Saltede Hashes

For adgangskodeopbevaring tilføjer virksomheder typisk et "salt" før hash. Denne tilfældigt genererede streng er sammenkædet med passwordteksten før hashing, hvilket sikrer, at selv to identiske adgangskoder producerer forskellige hash. Dette forsvarer også mod et ordbog angreb på et stjålet bord med hashed adgangskoder.

Konklusion

Indtil 1970'erne var kryptering baseret på symmetriske nøgler. Først efter beviset for offentlig nøglekryptering kunne to forskellige nøgler - en kryptering, en dekryptering - bruges til at kommunikere. Denne revolutionerende forandring, som giver mulighed for kommunikation uden tillid, er, hvad der tillader internettet at eksistere i den form det tager i dag. Alt fra bank og shopping til messaging og webbrowsing er afhængig af det.