Internetul poate fi considerat un canal de informații trimis de la tine către toți ceilalți conectați la internet. Dacă dorești să transmiți informațiile tale sensibile (cum ar fi numere de cont bancar sau secrete militare) prin internet, atunci trebuie să te asiguri că numai persoanele pe care intenționezi să le citească au acces la datele tale sensibile. În caz contrar, oricine ar putea citi informațiile tale, de exemplu, ar putea avea acces la detaliile contului tău bancar și ar putea transfera bani din contul tău. Prin urmare, este necesar să criptezi orice date trimise prin internet. Criptarea, în acest context, asigură că numai expeditorul și destinatarul vizați pot înțelege orice mesaj trimis printr-un canal de internet.
Fundamentele criptografiei
Criptarea se bazează pe partajarea unei chei secrete (pe care nimeni altcineva nu o are) între expeditor și destinatar și utilizarea acesteia pentru a cripta și decripta mesajele. În acest fel, deoarece nimeni altcineva nu are cheia secretă, nimeni altcineva nu poate înțelege informațiile partajate. Deoarece nimeni altcineva nu înțelege informațiile partajate, nu le poate utiliza în mod abuziv în propriul beneficiu.
Singurul tip de protocol de criptare cunoscut ca fiind perfect sigur este OneTime Pad, cunoscut și sub numele de Cifrul Vernam. Se presupune că două persoane schimbă o cheie partajată cel puțin la fel de lungă ca mesajul, într-un mod complet securizat. Cheia partajată criptează mesajul pentru a crea cifrul, iar cifrul este decodificat prin decriptarea cu cheia partajată. Protocolul este cel mai bine înțeles prin testarea acestuia cu fișele de lucru asociate din Secțiunea 10.7. În practică, din cauza lipsei unui canal securizat pentru a partaja o cheie atât de complicată, în ciuda faptului că este indestructibilă, această metodă nu este de obicei utilizată. Aici vedem avertismentul fundamental al criptării: aveți nevoie de un canal securizat pentru a partaja cheia secretă (dacă nu aveți un canal securizat, atunci cineva la întâmplare poate lua pur și simplu cheia secretă, iar criptarea ar fi inutilă), dar dacă aveți un canal securizat, atunci de ce trebuie să vă criptați datele? Aveți nevoie de o modalitate de a rezolva această problemă. Cum partajați o cheie secretă într-un canal nesigur, unde oricine poate asculta?
Criptografia clasică
Modul de partajare a unei chei secrete într-un canal nesigur în majoritatea comunicațiilor online se numește criptografie cu cheie publică. O persoană numită Alice creează două chei astfel încât fiecare cheie să știe că doar cealaltă cheie este înrudită cu ea (gândiți-vă la chei ca la niște surori). Acestea se numesc cheie privată și cheie publică. Alice dă apoi cheia publică tuturor oamenilor din lume, dar, important, păstrează cheia privată pentru ea însăși. Oricine altcineva, să zicem Bob, care dorește să trimită un mesaj privat către Alice trebuie să își cripteze mesajul cu cheia publică generată de Alice. Există multe tipuri diferite de protocoale de criptare pe care le putem utiliza. Partea specială a criptografiei cu cheie publică este că numai cheia privată a lui Alice poate decripta mesajul care a fost criptat folosind cheia publică surorii sale. În acest fel, doar Alice poate citi mesajul de la Bob. Deoarece nimeni altcineva nu are cheia privată a lui Alice, nimeni altcineva nu poate citi mesajul lui Bob. Cu toate acestea, dacă Bob nu a folosit cheia publică a lui Alice, ci a folosit o altă cheie publică pentru a-și cripta mesajul, atunci Alice nu poate decripta acel mesaj, deoarece cheia ei privată nu este o cheie surorii altei chei publice. Întreaga schemă criptografică se bazează pe faptul că nimeni nu poate sparge protocolul de criptare. Dacă l-ar putea sparge, atunci ar putea citi mesajul lui Alice chiar dacă nu ar avea cheia privată a lui Alice.
Cel mai frecvent utilizat protocol modern de criptare pe internet este criptarea RSA. Criptarea RSA se bazează pe criptarea mesajelor cu chei formate din numere întregi foarte mari. Pentru a sparge protocolul de criptare, o persoană care ascultă ar trebui să factorizeze acest număr întreg foarte mare în factorii săi (primi). Factorizarea unui număr întreg mare în factorii săi (primi) este cunoscută ca fiind o problemă pe care computerele clasice nu o pot rezolva într-un timp rezonabil. De exemplu, având în vedere două numere prime mari, p și q, este nevoie doar de o fracțiune de secundă pentru a înmulți aceste două numere prime pentru a produce un număr întreg mare c = pq. Cu toate acestea, găsirea celor două numere prime, p și q, având în vedere doar numărul întreg c, ar dura mii de ani pentru un supercomputer clasic.
Criptarea RSA funcționează prin criptarea mesajului cu cheia publică. Decriptarea mesajului prin forță brută necesită factorizarea unui număr întreg mare în cheia publică, ceea ce ar dura mii de ani. Totuși, cheia privată legată de cheia publică știe cum să verifice factorii primi ai cheii publice și poate decripta mesajul cu ușurință. Deoarece protocolul de criptare este atât de dificil de spart, nimeni nu ar încerca să facă acest lucru. În schimb, interceptatorul ar putea încerca să vă fure cheia privată prin piratarea computerului, lucru împotriva căruia firewall-urile de internet protejează. Ca atare, aproape toată criptarea internetului se bazează pe faptul că un computer nu poate factoriza numere întregi mari într-un timp scurt.
Cu toate acestea, în 1995, Peter Shor a propus un algoritm de calcul cuantic, bazat pe suprapunere și interferență, care accelerează drastic procesul de factorizare. Un număr de 4000 de cifre, a cărui factorizare ar necesita unui computer clasic mai mult decât durata de viață a universului, ar necesita mai puțin de o zi pe un computer cuantic mare și stabil. Algoritmul lui Shor poate teoretic să spargă schemele moderne de criptare, deși hardware-ul cuantic nu este încă suficient de avansat pentru a face această decriptare practică. Dacă ar fi așa, toate detaliile bancare, secretele militare și secretele industriale ar putea fi ușor piratate. Detaliile algoritmului lui Shor depășesc sfera noastră de competență, așa că vom discuta în schimb despre cum ar putea fi utilizat același computer cuantic pentru a asigura partajarea unei chei printr-un canal securizat.
Împreună, blocarea unică și distribuția cheilor cuantice (QKD) ar fi o combinație formidabilă. Simularea BB84 QKD demonstrează cum s-ar putea crea o cheie partajată folosind electroni și un aparat Stern-Gerlach. Protocolul BB84 este rezumat mai jos.
Descoperă mai multe la MultiMedia
Abonează-te ca să primești ultimele articole prin email.
Lasă un răspuns