Documente Academic
Documente Profesional
Documente Cultură
Joldo
Criptografie
Tabelul 1: Alfabetul i numerele corespunztoare pentru cifrul Cezar. Apoi se alege o cheie/. Cheia este un ntreg, k, unde 0 k 25. Cheia poate i corespunde unei litere. Textul cifrat, c, este produs din textul clar, p, prin c = p + k (mod 26). Dac litera din textul clar a fost c, iar cheia a fost 3, atunci textul cifrat este 2 + 3 = 5 = f. Spre exemplu, s presupunem c am dori s trimitem cuiva un mesaj cifrat. Am putea hotr s deplasm toate literele din alfabet cu trei poziii. Mesajul i textul calr sunt artate mai jos: Text clar: This is an example of the Caesar cipher Text cifrat: wklvlvdqhadpsohriwkhfdhvduflskhu Toate literele au fost schimbate i nu se pot deduce cu uurin. Cifrarea Cezar este o metod de cifrare uoar, dar produce un cod uor de spart. Se poate afla mesajul ncercnd toate cele 26 de combinaii posibile.
Cifrul Vigenere
La fel ca cifrul Cezar, cifrul Vigenere deplaseaz literele, dar, spre deosebire de acesta nu se poate sparge uor n 26 combinaii. Cifrul Vigenere folosete o deplasare multipl. Cheia nu este constituit de o singur deplasare, ci de mai multe. Cheia este constituit din civa ntregi ki, unde 0 ki 25. Aceti ntregi pot fi, de exemplu, , k = (21, 4, 2 19, 14, 17). Aceast cheie ar provoca deplasare primei litere cu 21, c1 = p1 + 21 (mod 26), a celei de a doua cu 4, c2 = p2 + 4 (mod 26), .a.m.d. pn la sfritul cheii i apoi de la nceput, din nou. Cheia este de obicei un cvuvnt, pentru a fi mia uor de memorat cheia de mai sus corespunde cuvntului "vector". Metoda cu deplasare multipl ofer protecie suplimentar din dou motive. Primul motiv este c ceilali nu cunosc lungimea cheii. Cel de al doilea este c numrul de soluii posibile crete. De exemplu, pentru lungimea cheii = 5, numrul de combinaii care ar fi necesare la cutare exhaustiv ar fi 265 = 11,881,376. Cifrul Vigenere a fost spart folosind altceva dect fora brut (vezi mai jos). Un exemplu de cifru Vigenere: Textul clar: This is an example of the Vigenere Cipher Cheia: vector Textul cifrat: olklwjvrgqodkpghtkcixbuviitxqzklgk Decriptarea Metoda de descifrare folosit pentru cifrul Vigenere este asemntoare metodei de cifrare. Diferena const n faptul c se scade cheia din textul cifrat, pi = ci - ki (mod 26). Mai jos este dat un exemplu: Textul cifrat: olklwjvrgqodkpghtkcixbuviitxqzklgk Cheia: vector Textul clar: thisisanexampleoftheVigenerecifrul Tot ce rmne de fcut este s se insereze spaiile la locul potrivit..
M. Joldo
Criptografie
Equaii Cifrare: Cheia este constituit din civa ntregi, ki, unde 0 ki 25. K = (k1, k2, k3, , ki) Lungimea cheii este la alegere. ci = pi + ki (mod 26) Descifrare: Trebuie cunsocut cheia. pi = ci - ki (mod 26)
Tabelul 2 Frecvena literelor n limba englez Presupunnd c textul clar este n englez, cineva care folosete atacul bazat pe frecven va lua textul cifrat i va numra apariiile tuturor literelor. Apoi, folosind cunotinele despre frecvena de apariie a literelor n limba englez, persoana respectiv ar putea concluziona c cea mai frecvent liter din textul cifrat corespunde literei 'e' n limba englez .a.m.d., descifrnd astfel mesajul. Cu toate acestea, acest lucru e mai uor de spus dect de fcut. Dac numrul de apariii are valori apropiate pentru litere diferite, nu exist text cifra suficient pentru a obine cu acuratee contoare de frecven. n aceast situaie, potrivirea literelor din textul cifrat are o ans mai mare s fie incorect. Ca rezultat, acest atac este util doar n cazul cifrurilor de deplasare i unele variaii ale acestora, unde diferenele de frecvene ntre litere sunt mari.
M. Joldo
Criptografie
cscmgzlatoedcsdeidpbhtmuovpiekifp mgzlatoedcsdeidpbhtmuovpiekifpimf * * * * imfnoamvlpqfxejsmxmpgkccaykwfzpyu noamvlpqfxejsmxmpgkccaykwfzpyuavt avtelwhrhmwkbbvgtguvtefjlodfefkvp elwhrhmwkbbvgtguvtefjlodfefkvpxsg xsgrsorvgtajbsauhzrzalkwuowhgedef rsorvgtajbsauhzrzalkwuowhgedefnsw * * nswmrciwcpaaavogpdnfpktdbalsisurl mrciwcpaaavogpdnfpktdbalsisurlnps * npsjyeatcuceesohhdarkhwotikbroqrd jyeatcuceesohhdarkhwotikbroqrdfmz fmzghgucebvgwcdqxgpbgqwlpbdaylooq ghgucebvgwcdqxgpbgqwlpbdaylooqdmu * dmuhbdqgmyweuik hbdqgmyweuik Avem nou coincidene. Dac continum pentru toate deplasrile posibile (de la 1 la 311), aflm c cel mai mare numr de coincidene apare pentru o deplasare cu 6. Aceasta ar fi estimarea noastr pentru lungimea cheii.
Tabelul 3 Cea de a 6-a tabel Aceste 6 tabele ne vor ajuta s gsim fiecare dintre cele 6 litere ale cheii. Dar, nainte de a face acest lucru, trebuie s crem i un table cu frecvenele fiecrora dintre cele 26 litere ale limbii engleze (n total 26: A1-A26). Tabelul 2 este pentru litera 'a'. Pentru a obine tabelele pentru celelalte litere, deplasm pur i simplu valorile din tabelul 1 cu valoarea corespunztoare. De exemplu, pentru tabelul literei 'c', deplasm valorile din Tabelul 2 cu doi. Tabelul literei 'c' ar fi:
Tabelul 4 Tabel de frecvene pentru litera 'c' Dupa obinerea celor 26 tabele, scriem tabelele ca vectori i lum produsul fiecruia dintre W-uri cu Aurile. Exemplul de mai jos ia W1 n produs cu toate A-urile. W1 A1 = WA1 W1 A2 = WA2
M. Joldo
Criptografie
. . . W1 A26 = WA26 Cea mai mare valoare a produsului va fi litera pentru acel loc din cheie. Folosindu-ne exemplul, W6 toate A-urile rezult n: W6 A1 = 0.0313 (Tabelul pentru a) W6 A2 = 0.0329 (Tabelul pentru b) W6 A3 = 0.0523 (Tabelul pentru c) W6 A4 = 0.0472 (Tabelul pentru d) W6 A5 = 0.0258 (Tabelul pentru e) W6 A6 = 0.0329 (Tabelul pentru f) W6 A7 = 0.0491 (Tabelul pentru g) W6 A8 = 0.0392 (Tabelul pentru h) W6 A9 = 0.0310 (Tabelul pentru i) W6 A10 = 0.0325 (Tabelul pentru j) W6 A11 = 0.0398 (Tabelul pentru k) W6 A12 = 0.0301 (Tabelul pentru l) W6 A13 = 0.0384 (Tabelul pentru m) W6 A14 = 0.0358 (Tabelul pentru n) W6 A15 = 0.0404 (Tabelul pentru o) W6 A16 = 0.0395 (Tabelul pentru p) W6 A17 = 0.0348 (Tabelul pentru q) W6 A18 = 0.0372 (Tabelul pentru r) W6 A19 = 0.0637 (Table for s) W6 A20 = 0.0386 (Tabelul pentru t) W6 A21 = 0.0274 (Tabelul pentru u) W6 A22 = 0.0348 (Tabelul pentru v) W6 A23 = 0.0485 (Tabelul pentru w) W6 A24 = 0.0294 (Tabelul pentru x) W6 A25 = 0.0417 (Tabelul pentru y) W6 A26 = 0.0467 (Tabelul pentru z) Cea mia mare valoare este 0.0637, adic W6 A19 sau tabelul pentru s. Aa c, cea de a 6-a liter din cheie este s. Folosind acest proces pentru a afla celelalte litere din cheie va da cheia holmes. Folosind o variaie a atacului pe baza frecvenei putem afla cheia pentru Sample Cipher Text#1.
Puncte slabe
Problemele acestei variante de atac bazat pe frecven sunt similare atacului bazat pe frecven original. Raportul text cifrat / cheie trebuie s fie suficient de mare. Cu late cuvinte, e nevoie de suficient text pentru a determina frecvenele. Altfel nu se poate afla cheia corect. Acest lucru se poate testa folosind Sample Plaintext #3 cifrat cu cheia vector. Applet0ul nu va putea afla cheia din cauza lipsei de text cifrat suficient. Acelai test poate fi efectuat pe orice alt exemplu de text clar. Doar luai o cheie lung. Acest punct slab apare la pasul al 2-lea al algoritmului de spargere a cifrului. Algoritmul are un punct slab i la pasul 1. Cel mai mare contor de coincidene ar trebui s dea lungimea cheii. Dar nu ntotdeauna se ntmpl astfel. Eroarea este legat de supoziia pe care am fcut-o relativ la limba englez. Am presupus c cea mai mare frecven va fi n mod natural aceea a literei e fiindc e apare cel mai frecvent n englez. Dar aceasta nu este adevrat ntotdeauna. Sunt ocazii n care un bloc de text nu are e ca liter cea mai frecvent. Aceeai excepie exist i pentru supoziia c cel mai mare contor de coincidene ne va da lungimea cheii. Sunt situaii cnd nu este aa. Applet-ul rezolv slbiciunea de la pasul 1 prin oferirea unei liste de chei posibile. Cheile sunt listate n ordinea probabilitii lor. Applet-ul, nu rezolv ns slbiciunea de la pasul 2. Fr suficient text cifrat pentru a obine un contor de frecvene corect, literele din cheie nu vor fi aflate, chiar dac lungimea cheii este aflat i e corect. n general, cheia corect se va afla ntre primele 25-30 chei din list.