CUPRINS:
TEMA PROIECTULUI
NOTIUNI DE SISTEME DE CRIPTA 939h74j RE
2.1 Sisteme de criptare monoalfabetice
2.2 Sisteme de criptare polialfabetice
PREZENTARE A SISTEMELOR DE CRIPTARE IMPLEMENTATE
Sistemul de criptare Cezar
3.2 Sistemul de criptare Polybios
Sistemul de criptare Vigenere
IMPLEMENTARE
Sistemul de criptare Cezar
4.2 Sistemul de criptare Polybios
Sistemul de criptare Vigenere
BOBLIOGRAFIE
1. TEMA PROIECTULUI
Sa se realizeze o aplicatie care sa implementeze trei sisteme de criptare de substitutie clasice:
sistemul de criptare Cezar
sistemul de criptare Poybios
sistemul de criptare Vigenere
2. NOTIUNI DE SISTEME DE CRIPTARE
Cifrurile de substitutie sunt
cele mai utilizate sisteme de criptare simetrice; ele se ıntalnesc, si
azi, exemple fiind sistemele
Un astfel de cifru consta in inlocuirea fiecarui caracter din V cu alt caracter (din W). Exista doua clase mari de cifruri de substitutie:
sisteme monoalfabetice
sisteme polialfabetice.
2.1 Sisteme de criptare monoalfabetice
Un astfel de sistem substituie fiecare caracter cu alt caracter – totdeauna acela¸si, indiferent de pozitie. Atunci cand cele doua alfabete coincid (V = W), sistemele monoalfabetice sunt cazuri particulare de cifruri de permutare. Vom trece iın revista cateva astfel de sisteme.
Din cadrul acestor sisteme fac parte:
sistemul de criptare Cesar
sistemul de criptare afin
sistemul de criptare Poybios
sistemul cavalerior de
2.2 Sisteme de criptare polialfabetice
Diferenta dintre aceste sisteme de criptare si cele monoalfabetice consta in faptul ca substitutia unui caracter variaza in text, iın functie de diver si parametri (pozitie, context etc.). Aceasta conduce bineinteles la un numar mult mai mare de chei posibile. Se
considera ca primul sistem de criptare polialfabetic a fost creat de Leon Battista iın 1568. Unele aplicatii actuale folosesc inca pentru anumite sectiuni astfel de sisteme de criptare. Din cadrul acestor sisteme fac parte:
sistemul homofonic
sistemul de criptare Playfair
sistemul de criptare Vigenere
In aceasta lucrare se va face o prezentare a trei dintre aceste sisteme de criptare,
insotite de o aplicatie ce le implementeaza practic. Sistemele descrise sunt:
sistemul de criptare Cezar
sistemul de criptare Polybios
sistemul de criptare Vigenere
3. PREZENTARE A SISTEMELOR DE CRIPTARE IMPLEMENTATE
Sistemul de criptare Cezar
In cartea sa ”De
In criptografie, un cifru Cezar, este unul din cele mai simple si mai cunoscute tehnici de criptare. Este un tip de cifru de substitutie in care fircare litera din mesajul in clar este inlocuit de o litera cu cateva pozitii mai ininte in alphabet. De exemplu, cu o mutare de 3, A va fi inlocuit de D, B va deveni E, si asa mai departe. Metoda este numita dupa Iulius Cezar, care a folosit aceasta metoda pentru a comunica cu comandantii trupelor sale.
Criptarea poate fi
reprezentata utilizand aritmetica modulo transformand intai literele in cifre
conform schemei, A = 0, B = 1,, Z = 25.
Criptarea unei litere x cu o deplasare n se poate scrie matematic in felul
urmator:
Decriptarea se realizeaza similar:
3.2 Sistemul de criptare Polybios
Sistemul Cezar nu este cel mai vechi de criptare. Se pare ca primul astfel de sistem a fost Polybios (istoric grec mort cu 30 ani inaintea nasterii lui Cezar). Initial acesta a fost doar un sistem maritim de semnalizare cu torte; ulterior i s-a dat o semnificatie criptografica.
Sa consideram alfabetul latin, din care eliminam o litera de frecventa cat mai redusa; fie aceasta W. Cele 25 litere ramase le asezam intr-un patrat 5×5 (numit careu Polybios) in felul urmator:
A |
B |
C |
D |
E |
|
F |
G |
H |
I |
J |
|
K |
L |
M |
N |
O |
|
P |
Q |
R |
S |
T |
|
T |
U |
X |
Y |
Z |
In operatia de criptare, fiecare caracter a va fi reprezentat printr-o pereche (x, y) (x, y apartin multimii ) care dau linia respectiv coloana pe care se afla a. Astfel, textul clar MERGEM ACASA este criptat in 3315432215331113114411.
Deci sistemul de criptare
Polybios este o substitutie monoalfabetica cu multimea W =
de 25 caractere. Sunt diverse variante ale sistemului Polybios. Astfel, daca se
folosesc drept coordonate literele A, B, C, D, E in loc de 1, 2, 3, 4, 5. Sistemul
a fost folosit in penitenciarele rusesti si de catre prizonierii americani din
A fost utilizat de asemenea in cadrul altor sisteme de criptare, cum ar fi sistemul nihilist, cifrul ADFGVX (utilizat de armata germana in primul razboi mondial) sau sistemul Bifid, inventat de Dellastell in 1901.
Sistemul de criptare Vigenere
Numele sistemului vine de la
baronul francez Blaise de Vigenere (1523−1596) diplomat la curtea regelui
Henry
Prezentarea sistemului:
Consideram – ca si la sistemele anterioare – cele 26 litere ale alfabetului, numerotate de la 0 (pentru A) pana la 25 (pentru Z), conform tabelului:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
M |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
Definim P = C= Z26, K= Z26.
O cheie K este un cuvant avand codificarea numerica k0 k1 . . . kp-1. Fie a = a0 a1 . . . an codificarea textului clar care trebuie transmis. Textul criptat va fi
ek(a) = x = x0 x1 . . . xn, unde:
xi = ai + ki(modp) (mod 26)
Exemplu: Sa consideram cuvantul cheie FOCAR; deci p = 5 ¸si K = 5 14 2 0 17.
Daca vrem sa criptam cu
aceasta cheie textul clar NU
astfel:
Codificarea textului este a = 13 20 15 14 19 21 4 13 8 0 25 8. Sub fiecare numar din a se aseaza cate un numar din K; cand cheia se termina, ea se reia ciclic, pana se termina a. Deci vom avea:
20 15 14 19 21 4 13 8 0 25 8
5 14 2 0 17 5 14 2 0 17 5 14
8 17 14 10 0 18 15 8 17 4 22
S I R O K A S P I R E W
Linia a treia contine suma modulo 26 a numerelor de pe primele doua linii, iar pe ultima
linie s-a scris textul criptat rezultat.
Decriptarea se realizeaza similar, scazand (modulo 26) din codul caracterului criptat, codul caracterului corespunzator din cheie.
4. IMPLEMENTARE
Aplicatia a fost realizata in limbajul de programare C Visual.Net. Aplicatia CryproClassic exemplifca cateva moduri de criptare clasice de substitutie: Cezar, Polybius, Vigenere. La pornirea programului utilizatorul va putea alege modul de criptare dorit, prin selectarea din fereastra initiala a acestuia:
4.1 Sistemul de criptare Cezar
Daca din fereastra initiala a programului a fot selectat sistemul de criptare Cezar, se va putea exemplifica asest tip de criptare. Utilizatorul va putea alege valoare lui n intre 1 si 26. Dupa alegreaacestuia, va fi introdus textul ce se doreste a fi criptat. Pe masura ce se introduc literele textului in clar, in al doilea textbox se obtine textul cifrat. Textul introdus nu trebuie sa contina pauze sau alte caractere diferite de litere (mici sau mari).
Pentru o mai buna intelegere a modului in care se realizeaza aceasta criptare in partea de jos a interfetei se poate observa pe un careu de 26X26 cum se obtine corespondenta intre litera ce urmeaza a fi cifrata si valoarea ei dupa criptare. In culoare rosie este reprezentata litera obtinuta dupa criptare, ce depinde de valoarea lui n si de litera din care provine.
Sistemul de criptare Polybios
Daca din fereastra initiala a programului a fot selectat sistemul de criptare Polybios, se va putea exemplifica asest tip de criptare. Utilizatorul trebuie sa introduca textul ce vrea sa fie criptat cu acest sistem in primut textbox. Se pot introduce litere mari sau mici, dar cifrele sau alte semne nu vor fi permise. De asemenea utilizatorul nu poate introduce litera W, deoarece la proiectarea careului lui Polybius aceasta a fost eliminata, fiind litera cu frecventa de aparitie cea mai mica in limba romana.
Pentru o mi usoara intelegere a acestui sistem de criptare, aplicatia contine o matrice de 5X5, numit careul lui Polybios, pe care se poate urmari modul in care se realizeaza criptarea.
In operatia de criptare, fiecare caracter a va fi reprezentat printr-o pereche (x, y) (x, y apartin multimii ) care dau linia respectiv coloana pe care se afla a. Astfel, textul clar MERGEM ACASA este criptat in 3315432215331113114411.
Sistemul de criptare Vigenere
Al treilea sistem de criptare implementata de aceasta aplicarie este Vigenere. Utilizatorul trebuie sa introduca textul ce vrea sa fie criptat cu acest sistem, plus cheia cu care se va realiza criptarea. Cheia este un cuvant care se poate alege de catre utilizator. Dupa ce aceste filduri au fost completate, la apasarea butonului Codeaza, textul criptat se poate citi in cadrul ultimului textbox. Daca au fost introduse numere sau pauze idn gresala, acestea vor fi eliminate inainte de inceperea criptarii.
Pentru o mai usoara intelegere a acestui mod de criptre, s-au afisat si rezultate intermediare: valorile numerice (pozitiile) ale caracterelor din textul ce urmeaza a fi codat intr-un sir numerotat de la 0 la 25, valoare 0 fiind corespunzatoare pentru A si valoarea 25 fiind corespunzatoare lui Z ; valorile numerice pentru caracterele din cuvantul ales ca si cheie ce se obtin in acelasi mod descris mai sus ; valorile numerice ale caracterelor din textul cifrat inainte de transformarea lor in caractere propriu-zise.
In exemplul de mai jos s- a introdus ca si cheie cuvantul FOCAR, ca si text ce vrem sa fie criptat NU POT VENI AZI. Modul de calcul si obtinerea rezultatului final este exemplificat si in partea teoretica de prezentare a aplicatiei.
T. Bajenescu, M. Borda, Securitatea in informatica si telecomunicatii, Editura Dacia, 2001
W.Stallings, Criptography and Network Security – Principles and Practice, Second Ed., Prentice Hall, 1999 https://www.shore.net/~ws/security2e.html
Curs Criptografie
|