cum funcționează criptarea? – Gary explică

cum funcționează criptarea? – Gary explică

probabil că utilizați criptarea, într-o formă sau alta, în fiecare zi. S-ar putea să nu știi că ești, dar ești. Și cred că nu te mai gândești la asta. Aveți un serviciu de televiziune prin cablu sau prin satelit pe bază de abonament? Ghici ce, o parte din acel conținut va fi criptat. Vă conectați la site-uri web folosind https://? Asta e mai mult criptare. Creat vreodată un .fișier zip cu o parolă? Ai înțeles, care utilizează criptare.,

aș putea continua și o listă cu zeci de alte exemple de criptare zilnică, dar nu o voi face. în ceea ce privește Android, acceptă și criptarea, nu numai pentru web cu https://, ci și pentru fișierele și datele dvs. Android 6.0 Marshmallow a folosit criptarea completă a discului, în timp ce Android 7.0 Nougat a adăugat opțiunea pentru criptarea pe fișier. Ideea este că, dacă telefonul dvs. ar trebui să cadă în mâinile neprietenilor, atunci datele dvs. private sunt sigure.deci, ce este criptarea? Este procesul de a lua date simple, inclusiv text, și de a le transforma într-o formă care nu poate fi citită (de către oameni sau computere)., Procesul de criptare se bazează pe o cheie, analogia fiind aici un lacăt care are nevoie de o cheie și numai persoanele cu cheia pot debloca (decripta) datele și le pot pune înapoi în forma sa originală. Aceasta înseamnă că oricine pune mâna pe datele dvs. criptate nu le poate citi decât dacă are cheia.

după cum a spus personajul Tom Jericho din filmul excelent Enigma, ” transformă mesajele text simplu în gobbledygook. La celălalt capăt este o altă mașină, care traduce mesajul înapoi la textul original.”Criptare și decriptare!,

totul a început cu Cezar

arta scrisului secret, ceea ce am numi criptare, există de cel puțin 2500 de ani, însă cel mai cunoscut exemplu din antichitate este cel al cifrului de substituție folosit de Julius Caesar pentru a trimite mesaje către Cicero., Un cifru de substituție funcționează așa, începe cu alfabetul pe o singură linie și apoi se adaugă o a doua linie cu alfabetul deplasat de-a lungul un pic:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZX Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Dacă doriți să criptați cuvântul „SALUT”, apoi să ia prima literă, H, si uita-te la scrisoarea de mai jos, care vă oferă E. Atunci E dă B și așa mai departe. Forma criptată a HELLO este EBIIL. Pentru a-l decripta, căutați e pe rândul de jos și vedeți H deasupra acestuia, apoi B pe partea de jos pentru a obține E deasupra acestuia și așa mai departe. Finalizați procesul pentru a obține salut.,

în acest caz, „cheia” este 3, deoarece alfabetul a fost mutat trei spre dreapta (puteți, de asemenea, să treceți la stânga). Dacă vă schimbați la cheie pentru 5, atunci veți obține acest lucru:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZV W X Y Z A B C D E F G H I J K L M N O P Q R S T U

Acum versiunea criptată de BUNĂ ar fi CZGGJ. Foarte diferit de EBIIL. În acest caz, cheia este 5. Magie!cu toate acestea, există unele probleme majore cu această formă de criptare. În primul rând, există doar 26 de chei. S-ar putea să fi auzit de oameni care vorbesc despre chei de 128 de biți sau chei de 256 de biți, bine aceasta este o cheie de 5 biți (adică 26 în binar este 11010)., Deci, nu ar dura prea mult timp pentru a încerca toate cele 26 de variante și a vedea care dintre ele începe să producă text ușor de înțeles.în al doilea rând, engleza (și alte limbi) are anumite caracteristici. De exemplu, E este cea mai populară literă în limba engleză, deci dacă ați avut o bucată bună de text, ați putea vedea care literă apare cel mai frecvent și apoi ghiciți că este E. schimbați alfabetul de jos pentru a se potrivi cu e cu cel mai comun caracter și probabil că ați spart codul. De asemenea, există doar câteva litere care se pot dubla în limba engleză, cum ar fi OO, LL, SS, EE și așa mai departe., Ori de câte ori vedeți un dublu ca II sau GG (din exemplele de mai sus), atunci ar trebui să încercați să le potriviți mai întâi pe cele din alfabete.combinația dintre cheia mică și faptul că aceeași literă criptează întotdeauna la aceeași literă corespunzătoare din alfabetul cifru înseamnă că aceasta este o criptare foarte slabă. Și astăzi, cu computerele care fac munca grea, Acest lucru este dincolo de slab!,

mai multe alfabete și criptare incasabilă

punctele slabe ale cifrului de substituție Caesar pot fi ușor atenuate prin utilizarea mai multor alfabete deplasate. Exemplul de mai jos poate fi extins la 26 de alfabete schimbate, dintre care mai multe sunt utilizate simultan, dar nu toate.

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZZ A B C D E F G H I J K L M N O P Q R S T U V W X YY Z A B C D E F G H I J K L M N O P Q R S T U V W XX Y Z A B C D E F G H I J K L M N O P Q R S T U V WW X Y Z A B C D E F G H I J K L M N O P Q R S T U VV W X Y Z A B C D E F G H I J K L M N O P Q R S T U

deci, dacă setăm cheia la WVY, înseamnă că folosim alfabetul începând cu W Mai întâi, apoi cel care începe cu V și în final cel care începe cu Y. Aceasta se repetă apoi pentru a codifica întregul mesaj. Deci, salut ar deveni DZJHJ., Observați că acum dublul l din HELLO nu este codificat ca același caracter, este acum J și apoi H. De asemenea, primul J din textul criptat este codul Pentru L, în timp ce al doilea este codul pentru O. deci J acum nu reprezintă întotdeauna aceeași literă de text simplu.o versiune a acestei idei, cu 26 de alfabete, este baza cifrului Vigenère care a fost publicat în secolul al XVI-lea de Blaise de Vigenère. O idee similară a fost descrisă și de Giovan Battista Bellaso în 1553., Cifrul Vigenère a rămas incasabil timp de 300 de ani până când a fost spart de Charles Babbage și apoi de Friedrich Kasiski. Secretul ruperii cifrului Vigenère este înțelegerea faptului că în cele din urmă aceleași cuvinte pot fi codificate folosind aceleași litere, deoarece aceleași alfabete sunt folosite din nou și din nou. Deci, cuvântul ” și ” ar putea fi codificate diferite primele câteva ori apare, dar în cele din urmă va fi codificat folosind aceleași litere din nou. Repetarea este, în general, căderea unui cifru.,

Repetiția este slăbiciune în Cezar cifru Vigenere și toate variantele, dar nu există o modalitate de a utiliza un alfabet cifrat pentru a crea un incasabil cod secret, fără repetiții, este numit one-time pad. Ideea este că, mai degrabă decât folosind un alfabet mutat apoi o secvență aleatoare de Litere sunt folosite. Această secvență trebuie să fie cu adevărat aleatoare și trebuie să aibă aceeași lungime ca mesajul.

I S T H I S U N B R E A K A B L EP S O V Y V U B M W S P A H Q T D

Mai degrabă decât a face o substituție dreaptă de data aceasta vom folosi PLUS, cu o poftă de mâncare., Fiecărei litere a alfabetului i se atribuie un număr, A este 0, B este 1, C este 2 și așa mai departe. I este a 9-a literă a alfabetului, ceea ce înseamnă că are o valoare de 8. P (litera de mai jos pe plăcuța noastră de cifru unică) 15. 8 + 15 = 25 ceea ce înseamnă X. a doua literă a mesajului nostru este S, care are valoarea 18. La fel se întâmplă că S este și litera de pe tamponul nostru unic (care nu este deloc o problemă). 18 + 18 = 36. Acum, aici este răsucirea, nu există a 36-a literă a alfabetului. Așa că efectuăm ceea ce se numește operație modul., Ceea ce înseamnă practic este că am împărțit rezultatul la 26 (numărul de Litere din alfabet) și folosim restul. 36 / 26 = 1 restul 10. Litera cu valoarea de 10 este K. dacă continuați să faceți acest lucru mesajul final criptat este:

X K H C G N O O N N W P K H R E H

motivul pentru care acest cod este indestructibil este că utilizați cheia (șirul aleatoriu) o singură dată. Acest lucru înseamnă că oricine încearcă să decodeze mesajul nu are nici un punct de referință și nu există nici o repetare. Următorul mesaj care va fi trimis va folosi o cheie aleatorie complet diferită și așa mai departe.,cea mai mare problemă cu tampoane o singură dată, este obtinerea cheile de la cealaltă parte, astfel încât acestea să poată decripta mesajul. În mod tradițional, acest lucru a fost realizat folosind o carte sub forma unui notepad, cu codurile diferite de pe fiecare pagină. Ce pagini au fost în uz s-ar schimba în fiecare zi și odată ce un cod a fost folosit ar putea fi rupt de pe pad și aruncate. Cu toate acestea, aceste tampoane trebuie să fie transportate într-o metodă sigură. Pentru că dacă altcineva primește codurile, atunci criptarea poate fi crăpată., Acest lucru a însemnat practic că trebuie să vă întâlniți cu cealaltă parte înainte de mână și să fiți de acord cu privire la codurile care vor fi utilizate și când. Este cea mai sigură metodă, dar este și cea mai greoaie și, cu siguranță, nu este o soluție viabilă pentru lumea digitală modernă de astăzi.

era digitală

în Timpul secolului 20 criptare a devenit mecanizate, cel mai celebru exemplu fiind Enigma folosit de Naziști în timpul al doilea Război Mondial. Cu toate acestea, după război, de criptare a devenit computerizat., Există trei mari beneficii pentru criptografia computerizată:

  1. calculatoarele sunt flexibile, spre deosebire de casetele mecanice, computerele pot fi programate să efectueze o mulțime de operații diferite pe un mesaj, iar numărul și complexitatea acestor operații pot fi modificate relativ repede.
  2. viteză.
  3. calculatoarele se ocupă de numere binare nu doar de Litere.punctele 1 și 2 sunt foarte importante, mai ales atunci când se compară computerele cu metodele de criptare mecanică. Cu toate acestea, schimbarea paradigmei este că computerele se ocupă de numere și nu de Litere., Aceasta înseamnă că criptarea poate fi aplicată oricărui tip de date. Un mesaj text, o imagine, un fișier audio, un film, o bază de date, fișiere pe un smartphone și așa mai departe.

    odată cu trecerea de la Litere la binare a apărut o schimbare în modul în care se efectuează criptarea. Literele întregi nu mai trebuie să fie criptate, ci Cele și zerourile pot fi manipulate pentru a produce secvențe noi. Cuvântul HELLO în ASCII pe 8 biți este 0100100001000101010011000100110001001111. De aici binarul poate fi manipulat într-o multitudine de moduri diferite. Poate fi împărțit, mutat, adăugat, înmulțit, orice.,metoda folosită pentru procesarea celor și zerourilor este cunoscută ca un algoritm criptografic și există multe tipuri diferite de algoritmi. Principalele caracteristici ale unui algoritm de criptare sunt securitatea sa (poate fi crăpată) și performanța sa (cât timp durează codificarea sau decodarea datelor).în linii mari, există două tipuri principale de cifruri de criptare digitală, cifruri de flux și cifruri de bloc. Cu un cifru flux datele sunt criptate de octet la un moment dat. Datele sunt procesate de la început până la sfârșit și sunt transmise prin algoritmul de criptare., RC4 este un exemplu celebru de cifru flux. Acesta a fost utilizat în WEP și a fost o metodă opțională de criptare pentru mai multe alte protocoale și produse.

    cifrurile de flux sunt ca plăcuțele unice prin faptul că datele nu sunt criptate doar pe o singură cheie, ci mai degrabă o secvență de numere pseudo-aleatoare care se bazează pe cheie. Diferența dintre un tampon unic și un cifru de flux este că, cu un tampon unic, cheia trebuie să fie cu adevărat aleatorie. Cu cifrurile de flux folosind aceeași cheie înseamnă că obțineți aceeași secvență de numere, ceea ce face posibilă decodarea mesajului., Cu toate acestea, fără cheie, secvența pare aleatorie și, prin urmare, este greu de rupt.

    slăbiciunea RC4 a fost că, în anumite circumstanțe și în anumite condiții (în principal atunci când aceleași date au fost criptate în mod repetat), atunci este posibil să se ghicească ce numere ar putea veni în continuare în secvență. Această presupunere reduce numărul de combinații posibile și permite utilizarea unui atac de forță brută (unde se încearcă fiecare combinație). Pentru ca atacul să funcționeze, este nevoie de o mulțime de date. RC4 NO MORE attack trebuie să colecteze date criptate în valoare de 75 de ore, bazate pe 4450 de solicitări pe secundă.,

    celălalt tip major de cifru este cifrul blocului. Aceasta funcționează prin împărțirea datelor în blocuri mai ușor de gestionat, să zicem pe 64 de biți. Fiecare bloc este procesat de mai multe ori, cunoscut sub numele de runde (ca în box). Pentru fiecare rundă, blocul este împărțit în două părți egale, stânga și dreapta. Partea dreaptă rămâne neatinsă în timp ce partea stângă este criptată folosind o funcție specială, numită funcție rotundă. Funcția rotundă are două intrări, cheia și partea dreaptă (partea care a rămas neatinsă). Rezultatul funcției rotunde este apoi „adăugat” în partea stângă folosind XOR.,acest model este cunoscut ca un cifru Feistel, numit după inventatorul său Horst Feistel care a lucrat la criptare la IBM. Munca sa a dus în cele din urmă la dezvoltarea standardului de criptare a datelor (DES). În 1977 DES a devenit standardul oficial de criptare pentru Statele Unite și a văzut adoptarea la nivel mondial. DES folosește 16 runde care lucrează pe blocuri pe 64 de biți. Problema cu DES este că NSA a limitat Dimensiunea cheii la 56 de biți. În timp ce în 1977 acest lucru a fost suficient, până la sfârșitul anilor 1990 a devenit posibil ca organizațiile neguvernamentale să spargă mesajele criptate.,JARGON BUSTER exclusiv sau (XOR) – aceasta este o operațiune logică nivel de biți, care se aplică la 2 biți de intrare A și B. exclusiv sau returnează true sau false (1 sau 0) la întrebarea, „A sau B, dar nu, A și B”. Vă puteți gândi la ea ca, „unul sau altul, dar nu ambele”. Deci, dacă A este 1 și B este 0, atunci acesta este unul sau altul, deci rezultatul este 1 (adevărat). Același rezultat se aplică la A este 0 și B este 1. Dar dacă A este 0 și B este 0, atunci rezultatul este 0 (fals), deoarece ambele au aceeași valoare. Fals este, de asemenea, dat pentru a este 1 și B este 1.,dar adevărata magie a lui XOR este că este reversibilă. Dacă un XOR B = C, atunci B XOR C = A și un XOR C = B. Acest lucru este foarte important pentru criptare, deoarece înseamnă că datele pot fi criptate (unde A este datele) folosind o cheie (B) pentru a obține datele criptate (C). Ulterior, datele criptate pot fi decriptate de XSAU cu cheia din nou pentru a obține datele originale. Motivul pentru care XOR este utilizat împreună cu funcții rotunde complicate și operații de schimbare a biților este că pe cont propriu XOR poate fi rupt folosind analiza frecvenței (din cauza cheii care se repetă constant).,ca răspuns la punctele slabe ale DES, a fost propus un nou standard numit Triple DES (3DES). Care a criptat datele de trei ori cu DES, dar cu trei chei diferite. 3DES a oferit o modalitate de a crește dimensiunea cheii de la 56 de biți la 168 de biți, fără a fi nevoie să proiectați un algoritm complet nou de cifru bloc. Datorită unor detalii tehnice, cheia efectivă este de 112 biți, dar dacă ați avea o mașină care ar putea sparge DES în 1 minut, ar fi nevoie de aceeași mașină aproximativ 260,658 ani pentru a sparge o cheie triplă-DES.,

    în timp ce DES și-a servit scopul de aproape 25 de ani, lungimea limitată a cheii a însemnat că era timpul pentru un alt standard de criptare. În 2001, Institutul Național de standarde și Tehnologie din SUA (NIST) a publicat standardul avansat de criptare (AES). Nu este un cifru Feistel, ci mai degrabă o rețea de substituție-permutare. Încă mai folosește blocuri și runde la fel ca DES, cu toate acestea, în timpul fiecărei runde, ordinea biților din bloc este schimbată și rezultatul este combinat cu cheia folosind XOR.

    AES utilizează 128, 192 sau 256 biți chei și funcționează pe blocuri de 128 de biți., Numărul de runde utilizate depinde de dimensiunea cheii. Minimul este de 10, care este utilizat pentru tastele pe 128 de biți, iar maximul este de 14, care este utilizat pentru tastele pe 256 de biți.

    AES, Android și arhitectura ARMv8

    AES este în centrul subsistemelor de criptare din Android. Pentru Android 5.0 și Android 6.0, Google a mandatat utilizarea AES cu cel puțin o cheie pe 128 de biți pentru dispozitivele care acceptă criptarea completă a discului., Cu Android 7, Google a trecut la criptarea bazată pe fișiere (FBE), care permite criptarea diferitelor fișiere cu chei diferite, permițând în același timp decriptarea independentă a fișierelor. Se pare că FBE în Android 7 utilizează AES pe 256 de biți.

    când ARM a făcut trecerea de la 32 de biți la 64 de biți a definit o nouă revizuire a arhitecturii setului de instrucțiuni numit ARMv8. Pe lângă definirea setului de instrucțiuni pentru cipurile ARM pe 64 de biți, a adăugat și noi instrucțiuni pentru implementarea unor părți ale algoritmului AES în hardware. În timpul fiecărei runde, diferiți biți sunt schimbați și înlocuiți., Modul în care sunt manipulați biții este bine definit (și o parte a standardului), astfel încât extensiile AES din ARMv8 permit ca acele părți ale criptării să se întâmple mai degrabă în hardware decât în software.rezultatul este criptarea rapidă a fulgerului, care ar trebui să aibă un impact neglijabil asupra performanței generale a sistemului. Implementarea AOSP a criptării bazate pe fișiere utilizează AES-256 și necesită o performanță de cel puțin 50MB/S.

    criptografie cu cheie publică și înfășurare

    cea mai mare parte a ceea ce am discutat până acum este cunoscută sub numele de criptare simetrică., Pentru a cripta și decripta un mesaj, atât expeditorul, cât și destinatarul trebuie să cunoască cheia secretă. Există o formă de criptare numită criptare asimetrică în care există două chei, una pentru criptarea mesajelor și una diferită pentru decriptarea acestora. Cheia de criptare poate fi publicată în mod liber pentru toți cei care doresc să trimită destinatarului un mesaj, însă cheia de decriptare trebuie să rămână secretă, dar trebuie doar să fie cunoscută de destinatar. Aceasta înseamnă că există o cheie publică și o cheie privată. Acest sistem este baza modului în care funcționează securitatea pe Internet, cum funcționează protocolul https://., Cu toate acestea, aceasta este o poveste pentru o altă zi!

    în încheiere vreau să adaug un avertisment. Criptarea este un subiect complex și există mult mai mult de criptare decât am scris aici.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *