Ce este criptarea și cum funcționează?

Cuprins:

Video: Ce este criptarea și cum funcționează?

Video: Ce este criptarea și cum funcționează?
Video: What is the Heartbleed bug? 2024, Martie
Ce este criptarea și cum funcționează?
Ce este criptarea și cum funcționează?
Anonim
Criptarea are o istorie îndelungată, datând de la data când vechii greci și romani au trimis mesaje secrete prin înlocuirea literelor care erau doar descifrabile cu o cheie secretă. Alăturați-vă pentru o lecție de istorie rapidă și aflați mai multe despre modul în care funcționează criptarea.
Criptarea are o istorie îndelungată, datând de la data când vechii greci și romani au trimis mesaje secrete prin înlocuirea literelor care erau doar descifrabile cu o cheie secretă. Alăturați-vă pentru o lecție de istorie rapidă și aflați mai multe despre modul în care funcționează criptarea.

În ediția de astăzi a HTG Explains, vă vom oferi o scurtă istorie a cripțiunii, cum funcționează și câteva exemple de tipuri diferite de criptare - asigurați-vă că verificați și ediția anterioară, unde am explicat de ce atâția geeks urăsc Internetul Explorator.

Imagine de xkcd, evident.

Zilele precoce de criptare

Image
Image
Grecii antice au folosit o unealtă numită Scytale pentru a-și encrypta mesajele mai repede folosind un cifru de transpunere - pur și simplu ar înfășura banda de pergament în jurul cilindrului, ar scrie mesajul, iar atunci când nu ar fi avut sens.
Grecii antice au folosit o unealtă numită Scytale pentru a-și encrypta mesajele mai repede folosind un cifru de transpunere - pur și simplu ar înfășura banda de pergament în jurul cilindrului, ar scrie mesajul, iar atunci când nu ar fi avut sens.

Această metodă de criptare ar putea fi desigur distrusă, desigur, dar este unul dintre primele exemple de criptare, de fapt, utilizat în lumea reală.

Julius Caesar a folosit o metodă oarecum similară în timpul său, schimbând fiecare literă a alfabetului spre dreapta sau spre stânga cu un număr de poziții - o tehnică de criptare cunoscută sub numele de cifru al lui Caesar. De exemplu, utilizând cifra de exemplu de mai jos, scrieți "GEEK" ca "JHHN".

Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

Dat fiind că numai destinatarul destinatarului mesajului cunoștea cifrul, ar fi dificil pentru decodarea mesajului de către persoana următoare, care ar părea că este un omor, dar persoana care avea codul ar putea să o decodeze ușor și să o citească.

Alte cipuri simple de criptare, cum ar fi pătratul Polybius, au folosit un cifru polyalphabetic care enumeră fiecare literă cu pozițiile numerice corespunzătoare în partea superioară și laterală pentru a spune unde este poziția literei.

Folosind o masă ca cea de mai sus, scrieți litera "G" ca "23" sau "GEEK" ca "23 31 31 43".
Folosind o masă ca cea de mai sus, scrieți litera "G" ca "23" sau "GEEK" ca "23 31 31 43".

Enigma Machine

În timpul celui de-al doilea război mondial, germanii au folosit mașina Enigma pentru a transmite transmisii criptate înainte și înapoi, ceea ce a durat ani înainte ca polonezii să poată sparge mesajele și să dea soluția forțelor aliate, care au contribuit la victoria lor.
În timpul celui de-al doilea război mondial, germanii au folosit mașina Enigma pentru a transmite transmisii criptate înainte și înapoi, ceea ce a durat ani înainte ca polonezii să poată sparge mesajele și să dea soluția forțelor aliate, care au contribuit la victoria lor.

Istoria criptare modernă

Să facem față: tehnicile moderne de criptare pot fi un subiect extrem de plictisitor, astfel încât, în loc să le explicăm doar cu cuvinte, am pus împreună o benzi desenate care vorbește despre istoria cripțiunii, inspirată de ghidul lui Jeff Moser pentru AES. Notă: în mod clar nu putem transmite totul despre istoria criptei într-o benzi desenate.

În acele zile, oamenii nu au o metodă bună de criptare pentru a-și asigura comunicarea electronică.

Lucifer a fost numele dat catorva dintre cele mai vechi cifre civile bloc, dezvoltate de Horst Feistel si colegii sai de la IBM.
Lucifer a fost numele dat catorva dintre cele mai vechi cifre civile bloc, dezvoltate de Horst Feistel si colegii sai de la IBM.
Standardul de criptare a datelor (DES) este un bloc cifrat (o formă de criptare secretă partajată) selectat de Biroul Național de Standarde ca fiind un standard oficial federal de prelucrare a informației (FIPS) pentru Statele Unite în 1976 și care sa bucurat ulterior de o largă răspândire utilizați la nivel internațional.
Standardul de criptare a datelor (DES) este un bloc cifrat (o formă de criptare secretă partajată) selectat de Biroul Național de Standarde ca fiind un standard oficial federal de prelucrare a informației (FIPS) pentru Statele Unite în 1976 și care sa bucurat ulterior de o largă răspândire utilizați la nivel internațional.
Preocupările legate de securitate și funcționarea relativ lentă a DES în cercetătorii motivați de software pentru a propune o varietate de modele alternative de blocare a cifrilor, care au început să apară la sfârșitul anilor 1980 și începutul anilor 1990: exemplele includ RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 și FEAL
Preocupările legate de securitate și funcționarea relativ lentă a DES în cercetătorii motivați de software pentru a propune o varietate de modele alternative de blocare a cifrilor, care au început să apară la sfârșitul anilor 1980 și începutul anilor 1990: exemplele includ RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 și FEAL
Image
Image
Image
Image
Image
Image
Algoritmul de criptare Rijndael a fost adoptat de guvernul SUA ca o criptare standard simetrică-cheie sau Advanced Encryption Standard (AES). AES a fost anunțat de Institutul Național de Standarde și Tehnologie (NIST) ca US FIPS PUB 197 (FIPS 197) pe 26 noiembrie 2001, după un proces de standardizare de 5 ani în care au fost prezentate și evaluate cincisprezece proiecte concurente înainte de a fi selectat Rijndael algoritmul de criptare adecvat.
Algoritmul de criptare Rijndael a fost adoptat de guvernul SUA ca o criptare standard simetrică-cheie sau Advanced Encryption Standard (AES). AES a fost anunțat de Institutul Național de Standarde și Tehnologie (NIST) ca US FIPS PUB 197 (FIPS 197) pe 26 noiembrie 2001, după un proces de standardizare de 5 ani în care au fost prezentate și evaluate cincisprezece proiecte concurente înainte de a fi selectat Rijndael algoritmul de criptare adecvat.

Performanța algoritmului de criptare

Mulți algoritmi de criptare există și sunt potriviți pentru diferite scopuri - cele două caracteristici principale care identifică și diferențiază un algoritm de criptare de celălalt sunt capacitatea sa de a asigura datele protejate împotriva atacurilor și viteza și eficiența acestora în acest sens.

Ca un exemplu bun al diferenței de viteză dintre diferite tipuri de criptare, puteți utiliza utilitarul de benchmarking integrat în expertul de creare a volumului TrueCrypt - după cum puteți vedea, AES este de departe cel mai rapid tip de criptare puternică.

Există atât metode de criptare mai lente, cât și mai rapide și toate acestea sunt potrivite pentru scopuri diferite. Dacă pur și simplu încercați să decriptați o cantitate mică de date atât de des, vă puteți permite să utilizați cea mai puternică criptare posibilă sau chiar să o criptați de două ori cu diferite tipuri de criptare. Dacă aveți nevoie de viteză, probabil că doriți să mergeți cu AES.
Există atât metode de criptare mai lente, cât și mai rapide și toate acestea sunt potrivite pentru scopuri diferite. Dacă pur și simplu încercați să decriptați o cantitate mică de date atât de des, vă puteți permite să utilizați cea mai puternică criptare posibilă sau chiar să o criptați de două ori cu diferite tipuri de criptare. Dacă aveți nevoie de viteză, probabil că doriți să mergeți cu AES.

Pentru mai multe informații despre benchmarkingul diferitelor tipuri de criptare, consultați un raport de la Universitatea Washington din St Louis, unde au făcut o tona de testare pe diferite rutine și le-a explicat totul într-o descriere foarte geeică.

Tipuri de criptare modernă

Tot algoritmul de criptare fantezist despre care am vorbit mai devreme este cel mai folosit pentru două tipuri diferite de criptare:

  • Chei algoritmi simetrici utilizați chei de criptare similare sau identice atât pentru criptare, cât și pentru decriptare.
  • Chei algoritmi asimetrici utilizați chei diferite pentru criptare și decriptare - aceasta este denumită de obicei Cryptography.

Cheie criptată simetrică

Pentru a explica acest concept, vom folosi metafora serviciului poștal descrisă în Wikipedia pentru a înțelege modul în care funcționează algoritmii cheie simetrici.

Alice își pune mesajul secret într-o cutie și închide cutia folosind un lacăt la care are o cheie. Apoi ea trimite casetei către Bob prin poștă obișnuită. Când Bob primește caseta, el folosește o copie identică a cheii lui Alice (pe care a obținut-o cumva anterior, poate printr-o întâlnire față în față) pentru a deschide caseta și a citi mesajul. Bob poate folosi același lacăt pentru a-și expedia răspunsul secret.

Metodele algoritmilor simetrici pot fi împărțiți în cipuri de flux și blochează cipurile de cipuri de flux care criptează biții mesajului unul câte unul, iar cipurile blocului iau un număr de biți, adesea în blocuri de câte 64 de biți, și le criptează ca o singură unitate. Există o mulțime de algoritmi diferiți dintre care puteți alege - cei mai populari și respectați algoritmi simetrici includ Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES și IDEA.
Metodele algoritmilor simetrici pot fi împărțiți în cipuri de flux și blochează cipurile de cipuri de flux care criptează biții mesajului unul câte unul, iar cipurile blocului iau un număr de biți, adesea în blocuri de câte 64 de biți, și le criptează ca o singură unitate. Există o mulțime de algoritmi diferiți dintre care puteți alege - cei mai populari și respectați algoritmi simetrici includ Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES și IDEA.

Criptare asimetrică

Într-un sistem cheie asimetric, Bob și Alice au lacăte separate, în loc de lacătul unic cu chei multiple din exemplul simetric. Notă: acesta este, bineînțeles, un exemplu extrem de simplificat pentru modul în care funcționează cu adevărat, ceea ce este mult mai complicat, dar veți obține ideea generală.

În primul rând, Alice îi cere lui Bob să-i trimită lacătul deschis prin e-mail, păstrându-și cheia pentru el. Când Alice o primește, o folosește pentru a bloca o cutie conținând mesajul ei și trimite caseta închisă lui Bob. Bob poate apoi să deblocheze caseta cu cheia și să citească mesajul de la Alice. Pentru a răspunde, Bob trebuie, de asemenea, să obțină lacătul deschis al lui Alice pentru a bloca caseta înainte să o trimită înapoi.

Image
Image

Avantajul critic într-un sistem cheie asimetric este că Bob și Alice nu trebuie să trimită o copie a cheilor între ele. Acest lucru împiedică o terță parte (poate, de exemplu, un lucrător poștal corupt) să copieze o cheie în timp ce se află în tranzit, permițând terței părți să spioneze toate mesajele viitoare trimise între Alice și Bob. În plus, dacă Bob era neglijent și permitea copiilor să copieze a lui cheie, mesajele lui Alice lui Bob ar fi compromise, dar mesajele lui Alice către alte persoane ar rămâne în siguranță, deoarece ceilalți ar furniza lacăte diferite pentru Alice să le folosească.

Criptarea asimetrică utilizează chei diferite pentru criptare și decriptare. Destinatarul mesajului creează o cheie privată și o cheie publică. Cheia publică este distribuită între expeditorii mesajelor și utilizează cheia publică pentru a cripta mesajul. Destinatarul folosește cheia privată orice mesaje criptate care au fost criptate utilizând cheia publică a destinatarului.

Există un avantaj major pentru a face criptarea în acest mod comparativ cu criptarea simetrică. Nu trebuie să trimitem nici un secret (cum ar fi cheia noastră de criptare sau parola) pe un canal nesigur. Cheia dvs. publică merge în lume - nu este secret și nu trebuie să fie. Cheia privată poate rămâne confortabilă și confortabilă pe computerul personal, unde l-ați generat - nu trebuie niciodată trimisă prin e-mail ori citit de atacatori.

Cum criptarea asigură comunicarea pe Web

De mai mulți ani, protocolul SSL (Secure Sockets Layer) asigură securizarea tranzacțiilor pe internet folosind criptarea între browserul web și serverul dvs. web, protejându-vă de oricine care ar putea să snoopă în rețea în mijloc.

SSL în sine este destul de simplu din punct de vedere conceptual. Începe atunci când browserul solicită o pagină sigură (de obicei https://)

Serverul web trimite cheia publică cu certificatul său
Serverul web trimite cheia publică cu certificatul său
Image
Image

Browserul verifică dacă certificatul a fost emis de o parte de încredere (de obicei un CA rădăcină de încredere), că certificatul este încă valabil și că certificatul este legat de site-ul contactat.

Image
Image

Browserul folosește apoi cheia publică pentru a cripta o cheie de criptare simetrică aleatorie și o trimite pe server cu URL-ul criptat necesar, precum și alte date http criptate.

Image
Image

Serverul web decriptează cheia simetrică de criptare utilizând cheia privată și utilizează cheia simetrică a browserului pentru a decripta datele URL și http.

Image
Image

Serverul web trimite înapoi documentul html solicitat și datele http criptate cu cheia simetrică a browserului. Browserul decriptează datele http și html utilizând cheia simetrică și afișează informațiile.

Și acum puteți cumpăra cu siguranță acel element eBay pe care nu aveați nevoie.
Și acum puteți cumpăra cu siguranță acel element eBay pe care nu aveați nevoie.

Ai învățat ceva?

Dacă ați reușit acest lucru, suntem la sfârșitul călătoriei noastre lungi de înțelegere a cripțiunii și un pic de funcționare - începând cu primele zile de criptare cu grecii și romani, ridicarea lui Lucifer și, în sfârșit, cum SSL utilizează criptarea asimetrică și simetrică pentru a vă ajuta să cumpărați iepurașul roz pufos pe eBay.

Suntem fani mari de criptare aici la How-To Geek și am acoperit o mulțime de moduri diferite de a face lucruri precum:

  • Noțiuni de bază cu TrueCrypt (pentru a vă securiza datele)
  • Adăugați criptarea automată a site-urilor web în Firefox
  • BitLocker To Go criptează unitățile flash portabile în Windows 7
  • Cum să vă asigurați PC-ul Linux prin criptarea hard diskului
  • Adăugați opțiunile de criptare / decriptare în Windows 7 / Vista
  • Noțiuni de bază cu TrueCrypt Drive Encryption pe Mac OS X

Desigur, criptarea este un subiect prea complicat pentru a explica cu adevărat totul. Am pierdut ceva important? Simțiți-vă liber să puneți niște cunoștințe despre ceilalți cititori în comentarii.

Recomandat: